참고 : [Course] Operating System (CPA310) - 운영체제 강의


[ 운영체제 3강 ] 운영체제의 구조 & 기능

1. 운영체제의 구조

2가지 구조로 구성

  1. Kernel ( 커널 )
    • OS의 가장 핵심적인 부분이다 ( 가장 빈번하게 사용하는 기능 )
    • 상주 프로그램 ( 메모리에 항상 올라가있다 )
    • 시스템 ( processor, memory ) 관리
  2. Utility ( 유틸리티 )
    • 비상주 프로그램
    • ex) UI


figure2


(1) 단일 구조

figure2

[ 장/단점 ]

  • 장점 : 커널 내 모듈 간 “직접 통신”을 한다 ( 효율적 자원 관리/사용이 가능하다 )

  • 단점 : 커널의 거대화

    • 오류/버그/추가 기능 구현 등 유지 보수 hard
    • 하나의 error -> 전체에 영향


(2) 계층 구조

figure2

[ 장/단점 ]

  • 장점 : 모듈화 / 설계 및 구현의 단순화

  • 단점 : (단일 구조 대비) 성능 저하 ( 여러 계층 거쳐서 수행해야하므로 )


(3) 마이크로 커널 구조

figure2

커널의 크기 최소화

  • “필수 기능”만 포함
  • 기타 기능은 “사용자 영역”에서 수행


2. 운영체제의 기능

모든 것을 “관리”한다!

  • 프로세스 ( Process )
  • 프로세서 ( Processor )
  • 메모리 ( Memory )
  • 파일 ( File )
  • 입출력 ( I/O )
  • 보조 기억 장치 & 기타 주변 장치 관리


(1) 프로세스

  • Process = “실행 중인” 프로그램

  • 커널에 등록된 “실행 단위”, “수행 주체”
  • OS의 프로세스 관리
    • 생성/삭제/관리, 자원할당, 통신 및 동기화, 교착상태 해결
  • 프로세스 정보 관리하기 위한 PCB (Process Control Block)


(2) Processor ( CPU )

  • 중앙 처리 장치 (CPU)를 누구에게 언제/얼마나 줄 것인지!
    • 프로세서 할당 관리
    • 프로세스 스케줄링


(3) Memory Management

  • 주기억장치 (DRAM)
    • 작업을 위한 프로그램/데이터를 올려놓는 공간
  • OS의 메모리 관리
    • Multi-user & Multi-tasking 시스템
      • 여러 프로세스에 대해, 메모리 할당/회수 작업
      • 메모리의 여유 공간 관리


(4) File Management

  • 파일 = “논리적” 데이터 저장 단위
  • OS의 파일 관리
    • 사용자 & 시스템의 파일을 관리한다


(5) I/O Management

  • 입출력과정 또한 제어
  • OS를 반드시 거쳐야 ( 직접은 불가능 )

figure2

figure2