[쉽게 배우는 운영체제] 1-3. 운영체제의 구조

2022. 5. 16. 20:0003. Resources/Operating System

728x90
반응형

Chapter 1-3. 운영체제의 구조

커널과 인터페이스

커널

  • 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
  • 운영체제의 성능을 좌우

인터페이스

  • 커널에 사용자의 명령을 전달하고 실행 결과를 사용자와 응용 프로그램에게 알려주는 역할

시스템 호출과 디바이스 드라이버

시스템 호출

  • 운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한하고 다른 바법으로 커널에 들어오지 못하게 막음으로써 컴퓨터 자원을 보호
  • 시스템 호출은 커널이 제공하는 서비스를 위한 인터페이스이며 , 함수형태로 제공된다. 사용자가 자발적으로 커널 영역에 진입할 수 있는 유일한 수단
  • 직접 접근
    • 사용자가 직접 컴퓨터 자원에 접근하여 작업하는 방식
    • 사용자가 모든 것을 처리해야 함
  • 시스템 호출을 통한 접근
    • 사용자나 응용프로그램이 하드웨어와 같은 시스템 자원을 사용할 수 있도록 인터페이스를 제공

드라이버

  • 커널과 하드웨어의 인터페이스를 담당
  • 커널 - 입출력의 기본적인 부분만 제작
  • 디바이스 드라이버 - 하드웨어의 특성을 반영한 소프트웨어, 커널이 실행될 때 함께 실행

커널의 구성

  • 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간 통신 관리 등의 기능을 함
    • 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공한다.
    • 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다.
    • 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다.
    • 입출력 관리: 필요한 입력과 출력 서비스를 제공한다.
    • 프로세스 간 통신 관리: 공동 작업을 위한 각 프로세스 간 통신 환경을 지원한다.
  • 커널 기능의 구현에 따라 구분
    • 단일형 구조 커널
    • 계층형 구조 커널
    • 마이크로 구조 커널

단일형 구조 (Monolithic architecture) 커널

  • 초창기의 운영체제 구조
  • 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성
  • 대표적인 운영체제: MS-DOS, VMS, 초기의 유닉스 운영체제
  • 장점
    • 모듈이 거의 분리되지 않았기 때문에 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능
  • 단점
    • 모든 모듈이 하나로 묶여 있기 때문에 버그나 오류를 처리하기 어려움
    • 모듈간 상호 의존성이 높기 때문에 기능 상의 작은 결함이 시스템 전체로 확산될 수 있음
    • 다양한 환경의 시스템에 적용하기 어려움
    • 현대의 운영체제는 기능이 워낙 많아서 단일형 구조를 적용하기 어려움

계층형 구조 (Layered architecture) 커널

  • 단일형 구조 커널이 발전된 형태
  • 비슷한 기능을 가진 모듈을 묶어 하나의 계층으로 만듦 → 계층 간의 통신을 통해 운영체제를 구현하는 방식
  • 대표적인 운영체제: MS Windows 등 오늘날의 대부분의 운영체제

마이크로 구조 (Micro architecture) 커널

  • 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공
  • 운영체제의 많은 부분이 사용자 영역에 구현되어 있음
  • 각 모듈이 독립적으로 작동 → 하나의 모듈이 실패하더라도 전체 운영체제가 멈추지 않음
  • 많은 컴퓨터에 이식하기 쉽고 커널이 가벼워 CPU 용량이 작은 시스템에도 적용 가능
반응형