[혼공컴운] 혼공단 11기 - 4주차 (9장)

shyn26·2024년 2월 3일
0

혼공학습단

목록 보기
9/20

9. 운영체제 시작하기

9-1. 운영체제를 알아야 하는 이유

  • 운영체제는 01~08장까지 배운 컴퓨터 부품들을 관리하고, 내가 개발한 프로그램이 올바르게 실행되도록 도움

운영체제란?

  • 인터넷 브라우저, 게임과 같은 프로그램
    • 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역(kernel space)이라는 공간에 따로 적재되어 실행
    • 커널 영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자 영역 (user space)이라고 함
    • 응용 프로그램(application software) : 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램
      • 워드, 인터넷, 메모장, 게임
  • 모든 프로그램은 하드웨어를 필요로 하는데, 이때 프로그램 실행에 마땅히 필요한 요소들을 가리켜 시스템 자원, 혹은 줄여서 자원이라 함
    → 즉, 모든 프로그램은 실행되기 위해 반드시 자원이 필요함

[운영체제(operating system)]
실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램

  • 이처럼 운영체제는 응용 프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원을 할당하고, 응용 프로그램이 올바르게 실행되도록 관리하는 역할

운영체제를 알아야 하는 이유

  • 아무리 간단한 프로그램이라도 운영체제가 없다면 하드웨어를 조작하는 코드를 개발자가 모두 직접 작성해야 하기 때문

9-2. 운영체제의 큰 그림

  1. 커널에 대해 알아보자
    → 운영체제에서 매우 중요한 개념
  2. 이중모드시스템 호출에 대해 알아보자
    → 응용 프로그램이 운영체제로부터 어떻게 도움을 받으며 실행되는지를 이해하기 위해
  3. 운영체제가 응용 프로그램에 제공하는 서비스 종에는 어떤 것들이 있는지 알아보자

운영체제의 심장, 커널

  • 운영체제의 핵심 서비스를 담당하는 부분
  • 어떤 커널을 사용하는지에 따라 컴퓨터 전체의 성능도 달라질 수 있음
  • 커널에 포함되지 않는 서비스 : 사용자 인터페이스 (UI; User Interface)
    • 그래픽 유저 인터페이스 (GUI; Graphical User Interface): 그래픽을 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
      • 마우스 사용해서 프로그램 실행
      • 화면을 터치해서 앱 실행 등
    • 커맨드 라인 인터페이스 (CLI; Command Line Interface): 명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
      • 터미널 안에서 명령어로 프로그램 실행 등
    → 이러한 사용자 인터페이스는 운영체제가 제공하는 서비스이지만, 이는 그저 컴퓨터와 상호작용하기 위한 통로일 뿐 커널에 속한 기능은 아님, 같은 커널을 사용하더라도 사용자 인터페이스는 다를 수 있음

이중 모드와 시스템 호출

  • 이중 모드(dual mode): CPU가 명령어를 실행하는 모드를 '사용자 모드'와 '커널 모드'로 구분하는 방식

    • 슈퍼바이저 플래그를 확인하면 어떤 모드인지 앎
    1. 사용자 모드(user mode): 커널 영역의 코드를 실행할 수 없는 모드

      • 일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행
      • 그래서 사용자 모드로 실행되는 일반적인 응용 프로그램은 자원에 접근불가
    2. 커널 모드(kernel mode): 커널 영역의
      코드를 실행할 수 있는 모드

  • 시스템 호출(system call): 운영체제 서비스를 제공받기 위한 요청 [소프트웨어 인터럽트]


운영체제의 핵심 서비스

[1. 프로세스 관리]

  • 프로세스(process): 실행 중인 프로그램
    "ㅋㅋㅋ그림 넘 귀여워요!ㅋㅋㅋ"이미지 너무 귀여워요ㅋㅋ

[2. 자원 접근 및 할당]

  • 모든 프로세스는 실행을 위해 자원이 필요함
  1. CPU → CPU 스케줄링 (11장에서 다룸)
  2. 메모리 → (14장에서 다룸)
  3. 입출력장치

[3. 파일 시스템 관리]

  • 컴퓨터를 사용할 때는 여러 파일을 열고, 생성하고, 삭제하는 일
  • 이 파일들을 한데 묶어 디렉터리(폴더)로 관리
  • 파일 시스템(file system)도 운영체제가 지원하는 핵심 서비스

→ 15장에서 다름

profile
Without haste, but without rest - J.W. von Goethe

0개의 댓글