본문 바로가기

C.E/OS

System Structure - Microkernel

Microkernel, 마이크로커널

 

Kernel에 대해서는 예전에 언급한적이 있다.

 

"운영체제 프로그램들 중 항상 main memory에 load되어있는 핵심부분"

 

이것이 Kernel에 관한 간단한 정의이다. 그렇다면 Microkernel이란 무엇인가??

 

Kernel, 즉 모듈의 기능과 O.S의 확장을 위한 기반은 Core로 남아야한다는 설계철학이다

 

Microkernel의 핵심은 주소 공간 관리, 스래드 관리, IPC 등 가장 핵심적인 기능만을 Kernel Core에 담아 놓고

 

그 외 나머지 기능들은 사용자 모드로 넘기는 것이다. O.S Service나 덜 중요한 기능들(File System, Device Driver 등)은

 

서버 프로세스로 구현하되 이들간의 통신은 Core를 매개로 하는 Message Passing방식을 통해 peer기반으로 이루어 진다.

 

이러한 Microkernel의 장점은 아래와 같다.

 

1. 단일 인터페이스(Uniform Interface) : 커널과 사용자를 구분하지 않고 모든 서비스는 Message Passing을 통해 이루어 진다.

 

2. 확장성(Extensiblity) : 새로운 서비스 추가가 용이하다.

 

3. 유연성(Flexiblity) : 새로운 기능 추가 및 기존 기능의 제거가 용이하다.


4. 이식용이성(Protability) : 새로운 프로세서로의 시스템 이주에서 필요한 변경은 오직 코어에서만 일어난다


5. 신뢰성(Reliability) : 모듈적 설계 및 작은 코어커널은 더 엄격하게 테스트될 가능성이 있다.


6. 분산 시스템 지원 : target machine에 대한 구체적 정보 없이도 메시지 전달이 가능하다.


7. 개체지향 OS : 각 콤포넌트는 명확히 정의되고 상호 연결 가능한 인터페이스를 가진 개체(object)이다.

 

 

'C.E > OS' 카테고리의 다른 글

System Structure - System Design  (0) 2013.12.09
System Structure - Virtual Machine  (0) 2013.12.09
System Structure - System Structure  (0) 2013.12.09
Operating System Service - System Call  (0) 2013.12.09
Operating System Service - O.S Service  (0) 2013.12.09