공부/컴퓨터구조, 운영체제

9장 운영체제 시작하기

bereben 2023. 3. 30. 22:48

운영체제

  • 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램
  • 컴퓨퍼가 부팅될 때 메모리 내 커널 영역 공간에 따로 적재되어 실행
  • 커널 영역을 제외한 나머지 영역은 사용자 영역으로 사용자가 이용하는 응용 프로그램공간
  • 사용자 영역의 메모리 자원 관리
  • 응용프로그램들의 CPU자원 관리

커널

  • 운영체제에서 가장 핵심적인 서비스 제공
  • 자원 접근하고 조작 기능
  • 프로그램을 안전하게 실행되게 하는 기능

    커널은 아니지만 컴퓨터와 상호작용하는 통로

  • GUI

    • 윈도우 바탕화면과 같이 사용자와 컴퓨터가 상호작용
  • CLI

    • 커멘드 라인으로 컴퓨터와 상호작용

이중모드

  • CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
  • 사용자 모드

    • 운영체제 서비스를 제공받을 수 없는 실행 모드
    • 일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행
  • 커널 모드

    • 운영체제 서비스를 제공받을 수 있는 실행 모드
    • 운영체제는 커널 모드로 실행되기 때문에 자원에 접근 가능

시스템 호출

  • 운영체제 서비스를 제공받기 위한 요청
  • 사용자 모드로 실행되는 프로그램은 시스템 호출을 통해 커널 모드로 전환하여 운영체제 서비스를 제공 가능
  • 이러한 방법을 소프트웨어 인터럽트라고도 한다.

시스템 호출 과정

상황 : 한 응용프로그램이 하드 디스크에 데이터 저장하려고 한다.

  1. 하드 디스크에 데이터를 저장하는 시스템 호출을 발생시켜 커널 모드로 전환(시스템 호출)
  2. 운영체제 내의 '하드 디스크에 데이터를 저장하는 코드'를 실행하여 하드디스크에 접근(운영체제 코드 실행)
  3. 하드 디스크에 접근하여 데이터 저장이 끝나면 사용자 모드로 전환(시스템 호출 복귀)

운영체제 핵심 서비스

  • 프로세스 관리

    • 실행중인 프로그램인 프로세스를 관리한다.
  • 자원 접근 및 할당

    • CPU 스케줄링 관리
    • 메모리 할당 관리
    • 입출력장치의 하드웨어 인터럽트 관리
  • 파일 시스템 관리

    • 보조 기억장치 속 파일 시스템 지원

'공부 > 컴퓨터구조, 운영체제' 카테고리의 다른 글

11장 CPU 스케줄링  (0) 2023.04.10
10장 프로세스와 스레드  (0) 2023.03.30
8장 입출력장치  (0) 2023.03.27
7장 보조기억장치  (0) 2023.03.27
6장 메모리와 캐시 메모리  (0) 2023.03.23