ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 단일 커널 VS 마이크로 커널
    Computer Science/운영체제 2020. 1. 2. 18:28

    커널은 운영체제의 핵심 기능을 모아놓은 곳으로 다음과 같은 역할을 한다.

     

    핵심 기능 설명
    프로세스 관리 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공한다.
    메모리 관리 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다.
    파일 시스템 관리 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다.
    입출력 관리 필요한 입력과 출력 서비스를 제공한다.
    프로세스 간 통신 관리 공동 작업을 위한 각 프로세스 간 통신 환경을 지원한다.

     

    커널의 핵심 기능은 유기적으로 복잡하게 얽혀 있다. 이러한 기능을 어떻게 구현하는가에 따라 커널의 종류가 구분된다.

     

    단일 커널(Monolithic Kernel)

     

    커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있는 구조

     

    장점

    • 모듈이 거의 분리되지 않았기 때문에 모듈 간의 통신 비용이 줄어 효율적인 운영이 가능하다.

     

    단점

    • 모든 모듈이 하나로 묶여 있기 때문에 버그나 오류 처리가 어렵다.
    • 상호 의존성이 높기 때문에 기능상의 작은 결함이 전체에 큰 영향을 줄 수 있다.
    • 다양한 환경의 시스템에 적용하기 어렵다.
    • 매우 크고 복잡한 현대의 운영체제에 적합하지 않다.

     

    마이크로 커널(Micro Kernel)

     

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

     

    장점

    • 커널이 가볍다. (커널에서 필수 기능만 제공하기 때문에)
    • 한 부분에서 발생한 문제가 시스템 전체에 영향을 주지 않는다.
    • 서버의 개발이 용이하고 운영체제의 기능 변경이 쉽다. (많은 기능이 사용자 영역으로)
    • 실시간 시스템에 활용하기 좋다. (커널 내부에서 발생 지연이 작고 예측이 가능)

     

    단점

    • 프로세스 간 통신 발생을 최소화하여야 한다.
    • 단일 커널보다 속도가 느리다.

     

    댓글

Designed by Tistory.