Thursday, April 12, 2007

Monolithic kernel vs Micro-kernel

Monolithic kernel based system

This is the traditional design of Unix systems. Every part which is to be accessed by most programs which cannot be put in a library is in the kernel space:

  • Device drivers
  • Scheduler
  • Memory handling
  • File systems
  • Network stacks
Micro-kernel based system

Only parts which really require to be in a privileged mode are in kernel space :

  • IPC (Inter-Process Communication, see below)
  • Basic scheduler, or scheduling primitives
  • Basic memory handling
  • Basic I/O primitives
from The Gnu Hurd

Monolithic Kernel 最主要的優勢為執行速度。而 Micro-kernel 則是 stability 與 security。

0 comments: