모놀리식 커널(Monolithic Kernel)은 OS 구조의 한 형태이다. 대부분의 OS는 중심적인 기능을 수행하는 핵심 부분과 기타 주변 부분을 수행하는 부분으로 구성된다.
OS의 핵심 부분 설계에는 가능한 핵심부를 작게 만드는 마이크로 커널과 주변 기능을 포함하여 만드는 모놀리식 커널이 존재한다. 리눅스는 모놀리식 커널을 채용하였으며, Windows NT는 마이크로 커널을 사용한다.
마이크로 커널은 커널의 기능을 최소화하고 꼭 필요한 기능만을 넣어 둔 것이다. 핵심 기능인 Process Communication, I/O Control 등은 커널에 포함되어 있지만 File System, Network 등은 포함되어 있지 않고, 따로 User Application 형태로 존재하며 동작하게 된다.
그에 비해 모놀리식 커널은 커널 내부에 Process management, Interrupt Handling, File System 등의 기능이 포함되어 있다. User Application에서 OS 내부의 기능을 사용하기 위해서는 System Call을 이용해야 한다. 새로운 기능이 등장하거나 Bug-fix가 발생했을 때, 커널 전체를 재컴파일해야 하므로 시간이 오래 걸린다는 단점이 있다.
'Knowledge' 카테고리의 다른 글
Greedy Algorithm + 회의실 배정 (0) | 2016.06.21 |
---|---|
Kernel/User mode (0) | 2016.04.15 |
libcapstone-dev 설치 방법 (0) | 2016.03.12 |
PE 파일과 Memory-Mapped File (0) | 2015.12.24 |
Wireshark로 인증서 추출하기 (0) | 2015.11.02 |