Skip to main content Link Menu Expand (external link) Document Search Copy Copied

운영체제의 구조와 커널의 종류별 특징

Table of contents

  1. 운영체제의 필요성
  2. 운영체제의 구조
    1. 시스템 호출
    2. 드라이버
    3. 커널
    4. 커널의 종류
      1. 1. 단일형 구조 커널
      2. 2. 계층형 구조 커널
      3. 3. 마이크로 구조 커널

운영체제의 필요성


  1. 운영체제가 있는 기계는 새로운 기능의 추가나 성능의 변경이 가능하므로, 성능 및 효율성의 향상을 꾀할 수 있다.
  2. 사용자가 직접 자원에 접근하는 것을 막음으로써 자원을 보호하고 관리한다. 사용자는 특정 위치에 데이터를 저장할 수 없으며, 운영체제에 부탁하면 운영체제가 적당한 위치에 저장한다.
  3. 여러 응용프로그램이 실행되었을 때, 한정된 키보드, 메모리, 마우스, 모니터 등의 자원을 분배하고 관리한다.

운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다.


운영체제의 구조

image-20230109101313814


시스템 호출


  • 커널은 사용자나 응용 프로그램이 자원에 직접 접근하는 것을 차단한다.
  • 사용자의 오작동이나 악의에 의해 컴퓨터 자원이 공격받는 것을 막는다.

커널이 제공하는 시스템 자원의 사용과 연관된 함수리며, 응용 프로그램이 하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용하려 할 때는, 시스템 호출을 사용해야 한다.


드라이버


  • 응용 프로그램과 커널의 인터페이스가 시스템 호출이라면, 커널과 하드웨어의 인터페이스라고 할 수 있다.
  • 운영체제가 각 하드웨어에 맞는 프로그램을 직접 개발할 수 없기 때문에, 하드웨어 제작자가 커널과 연결하기 위해 만드는 소프트웨어 이다.
  • 프린터 드라이버 같은 것을 생각하면 된다.


커널

커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로, 자동차에 비유하자면 엔진에 해당한다.

커널에 명령을 전달하고 실행 결과를 사용자와 응용 프로그램에 돌려주는 인터페이스(ex. 셸)로 조작할 수 있다.


커널의 종류


1. 단일형 구조 커널


  • 커널의 핵심 기능을 구현하는 모듈들이 구분없이 하나로 구성되어 있다. 프로그램에 비유하면 함수를 거의 사용하지 않고 main()에 모든 기능을 구현한 형태와 같다.

    • 장점 : 모듈 간의 통신 비용이 줄어 효율적인 커뮤니케이션과 운영이 가능하다.
    • 단점 :
      1. 모든 모듈이 하나로 묶여 있기 때문에, 버그나 오류를 처리하기가 어렵고 작은 결함이 시스템 전체로 확산될 수 있다.
      2. 운영체제가 커지고 복잡해질수록 구현하기가 매우 어렵다.

image-20230110132443697


2. 계층형 구조 커널


  • 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들어 구현한다.
    • 장점 : 비슷한 기능을 모아 모듈화 했기 때문에 단일형 구조보다 버그나 오류를 쉽게 처리할 수 있다.
    • 단점 :
      1. 하나의 계층에 이상이 생기면, 다른 계층도 동작하지 못할 수 있다.
      2. 계층형 커널 역시, 운영체제가 커지고 복잡해지면 많은 계층들이 발생하게 되어 커널의 크기가 커지고 하드웨어 용량도 늘어난다.

image-20230110133010205


3. 마이크로 구조 커널


  • 마이크로 구조 커널의 운영체제는 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 커널의 가장 기본적인 기능만 제공한다. 그 외의 기능은 사용자 공간으로 옮겨서 사용자 영역에서 수행하도록 하였다.
  • 장점 : 각 모듈은 독립적으로 작동하기 때문에, 하나의 모듈에 문제가 발생해도 전체 운영체제가 멈추지 않는다. (커널 내부에서 발생 지연이 적기 때문에 실시간 시스템에 활용하기 좋다.)
  • 단점 : 모듈 간 통신이 빈번하게 발생할 시, 성능이 떨어질 수 있다.

image-20230110133436266


image-20230110134040493

프로세스 관리, 메모리 관리 등과 같이 반드시 커널에 있어야 하는 기능만 모듈로 남아있는 구조가 마이크로 구조이다.