Differentiate between monolithic and microkernel
3 Answers
Monolithic kernel Micro kernel
Monolithic kernel is a single large processes running entirely in a single address space. In Microkernels, the kernel is broken down into separate processes, known as servers.
All kernel services exist and execute in kernel address space. Some of the servers run in kernel space and some run in user-space. All servers are kept separate and run in different address spaces.
The kernel can invoke functions directly. The communication in microkernels is done via message passing. The servers communicate through IPC (Interprocess Communication). Servers invoke "services" from each other by sending messages.
Advantages: Addition/removal is not possible, less/Zero flexible Advantages: flexible for changes/up-gradations
Disadvantages:,inter Component Communication is better Disadvantage: communication overhead
Sr.No Feature Monolithic Kernel Micro Kernel
1 Approach Older Newer
2 Definition A monolithic kernel is one single program that contains all of the code necessary to perform every kernel related task. In monolithic kernel, both user services and kernel services are kept in the same address space. A Microkernel is a kernel design that provides no OS services at all, only the mechanisms needed to implement those services. In microkernel user services and kernel, services are kept in separate address space.
3 Size of OS Large Quite small
4 Hardware Abstraction Provides powerful abstractions of the underlying hardware. Provides a smaller set of simple hardware abstractions.
5 Speed Faster Slower
6 Memory Management In kernel space In user space
7 Security and Stability Because of the "hardwiring" of system processes and the resulting dependency of the monolithic approach, it is assumable that other processes will alsocrash, resulting in a system-wide halt. Excluding system processes from kernel space overcomes these problems. Also, It is easier to ensure the correctness of a small kernel, than a big one. That way, stability issues are simpler to solve with that approach.
8 Inter Process Communication Uses signals and sockets Uses message queues
9 Extensibility and Portability. Addingnew features to a monolithic system means recompilation of the whole kernel,often including the whole driver infrastructure. As the services are isolated from each other through the message system, it is enough to re-implement the new memory manager.
10 Example Unix, MS-DOS Linux, BSDs (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95,98,Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 etc. AIX, BeOS, QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix, and Coyotos.

Monolithic Kernel vs Microkernel

A type of kernel in operating system where the entire operating system works in the kernel space. A kernel type that provides mechanisms such as low level address space management, thread management and interprocess communication to implement an operating system.
Kernel contains the OS services. OS services and kernel are seperated.
Failure in one component will affect the entire systems. Failure in one component will not affect the other components.
In Monolithic, it is very difficult to add new functionalities. In Microkernel, it's very easier to add new functionalities.
It is hard to extend. It is easily extendible.
To write a monolithic kernel, less code is required. To write a microkernel system, more code is required.
It is larger than the Microkernel. It is smaller in size.
It provides powerful abstractions of the underlying hardware. It provides a smaller set of simple hardware abstractions.
Inter Process communication uses signals and sockets. Inter Process communication uses messages queues.
Examples are Unix, MS-DOS Linux, BSDS, Os-9, XTS-400, HP-UX, Solaris etc. Examples are AIX, Symbian, QNX, HURD, Minix, Coyotos, Integrity, Pike OS, Mac OS, KYZ etc.
Please log in to add an answer.