마이크로커널

운영 체제의 초소형 커널

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

모놀리딕과 마이크로커널 기반 운영 체제의 구조

역사

편집

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

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

나노커널

편집

나노커널(nanokernel) 또는 피코커널(picokernel)이라는 용어는 역사적으로 다음을 가리킨다.

  1. 모든 커널 코드의 양이 매우 작은 커널
  2. 운영 체제 밑에 존재하는 가상화 계층 (하이퍼바이저)
  3. 가장 낮은 수준의 커널 부분을 형성하는 하드웨어 추상화 계층(HAL)

같이 보기

편집

각주

편집
  1. “The MINIX 3 Operating System”. 《minix3.org》. 2012년 6월 21일에 원본 문서에서 보존된 문서. 2012년 6월 8일에 확인함. 
  2. Liedtke, Jochen (September 1996). “Towards Real Microkernels”. 《Communications of the ACM》 39 (9): 70–77. doi:10.1145/234215.234473. 
  3. Heiser, Gernot; Uhlig, Volkmar; LeVasseur, Joshua (January 2006). “Are Virtual-Machine Monitors Microkernels Done Right?”. 《ACM SIGOPS Operating Systems Review》 (ACM) 40 (1): 95–99. doi:10.1145/1113361.1113363. 2014년 1월 13일에 원본 문서 (PDF)에서 보존된 문서. 2016년 8월 12일에 확인함. 

추가 문헌

편집