Difference Between Microkernel and Monolithic Kernel

In this post, we will understand the difference between microkernel and monolithic kernel −


  • It is smaller in size.

  • In this kernel, the services are kept in a separate address space.

  • It executes slowly in comparison to monolithic kernel.

  • It can be extended easily.

  • If a service crashes, it effects the working of the microkernel.

  • The code to build a microkernel is large.

  • Examples of microkernel include: QNX, Symbian, L4Linux, Singularity, K42, Integrity, PikeOS, HURD, Minix, Mac OS X, and Coyotos.

Monolithic Kernel

  • In monolithic kernel, both user services and kernel services are kept in the same address space.

  • Monolithic kernel is larger than microkernel.

  • It executes quickly in comparison to microkernel.

  • It is difficult to extend a monolithic kernel.

  • If a service crashes, the entire system crashes when a monolithic kernel is used.

  • Less code is required to build a monolithic kernel.

  • Examples of monolithic kernel include: Linux, BSDs (FreeBSD, OpenBSD, NetBSD), OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400, Microsoft Windows (95,98,Me), and Solaris.