마이크로커널

마이크로커널(microkernel)은 컴퓨터 과학에서 운영 체제에 추가되어야 하는 메커니즘을 최소한으로 제공하는 초소형 커널이다. 이러한 미니멀리티 메커니즘에는 낮은 수준의 주소 공간 관리, 스레드 관리, 프로세스 간 통신(IPC)을 포함한다. 하드웨어가 여러 개의 링과 CPU 모드를 제공한다면 마이크로커널은 최고 권한 수준(일반적으로 수퍼바이저 및 커널 모드로 부름)에서 실행되는 유일한 소프트웨어가 된다. 소스 코드 크기 측면에서 마이크로커널은 일반적으로 10,000줄 이하의 코드를 지니는 경향이 있다. 이를테면 미닉스 3의 경우 6,000줄 이하의 코드가 있다.

역사 
마이크로커널은 1980년대에 컴퓨터 세상의 변화에 발맞추고 기존의 모노 커널(mono-kernel)을 이 새로운 시스템에 적응시키는 데 대한 문제점에 마주하면서 개발되었다. 새로운 장치 드라이버, 프로토콜 스택, 파일 시스템 및 기타 낮은 수준의 시스템들이 내내 개발되고 있었다. 이 코드는 일반적으로 모놀리딕 커널에 위치했기 때문에 상당한 작업과 주의가 필요한 코드 관리가 필요했다.

마이크로커널은 엑소커널과 매우 관계가 있다. 이들은 하이퍼바이저와 많은 공통점이 있지만 후자의 경우 미니멀리티를 고수하지 않으며 가상 머신 지원에 특화되어 있다.

나노커널 
나노커널(nanokernel) 또는 피코커널(picokernel)이라는 용어는 역사적으로 다음을 가리킨다.
 모든 커널 코드의 양이 매우 작은 커널
 운영 체제 밑에 존재하는 가상화 계층 (하이퍼바이저)
 가장 낮은 수준의 커널 부분을 형성하는 하드웨어 추상화 계층(HAL)

같이 보기 
 커널 (컴퓨팅)
 엑소커널
 하이브리드 커널
 모놀리식 커널
 신뢰 컴퓨터 기반
 임베디드 리눅스
 NuttX
 VxWorks

각주

더 읽기 
scientific articles about microkernels (on CiteSeer), including:
  - the basic QNX reference.
  -the basic reliable reference.
  - the basic Mach reference.
MicroKernel page from the Portland Pattern Repository
 The Tanenbaum–Torvalds debate
The Tanenbaum-Torvalds Debate, 1992.01.29
 Tanenbaum, A. S. "Can We Make Operating Systems Reliable and Secure?".
 Torvalds, L. Linus Torvalds about the microkernels again, 2006.05.09
 Shapiro, J. "Debunking Linus's Latest".
 Tanenbaum, A. S. "Tanenbaum-Torvalds Debate: Part II".

 
운영체제 기술