Difference between Microkernel and Monolithic Kernel
What is a kernel ?
The kernel is a computer program at the core of a computer’s operating system and has complete control over everything in the system. It manages the operations of the computer and the hardware.
There are five types of kernels :
- A micro kernel, which only contains basic functionality;
- A monolithic kernel, which contains many device drivers.
- Hybrid Kernel
- Exokernel
- Nanokernel
But in this tutorial we will only look into Microkernel and Monolithic Kernel.
1. Microkernel :
kernel manages the operations of the computer, In microkernel the user services and kernel services are implemented in different address space. The user services are kept in user address space, and kernel services are kept under kernel address space.
2. Monolithic kernel :
In Monolithic kernel, the entire operating system runs as a single program in kernel mode. The user services and kernel services are implemented in same address space.
Differences between Microkernel and Monolithic Kernel :
S. No. | Parameters | Microkernel | Monolithic kernel |
1. | Address Space | In microkernel, user services and kernel services are kept in separate address space. | In monolithic kernel, both user services and kernel services are kept in the same address space. |
2. | Design and Implementation | OS is complex to design. | OS is easy to design and implement. |
3. | Size | Microkernel are smaller in size. | Monolithic kernel is larger than microkernel. |
4. | Functionality | Easier to add new functionalities. | Difficult to add new functionalities. |
5. | Coding | To design a microkernel, more code is required. | Less code when compared to microkernel |
6. | Failure | Failure of one component does not effect the working of micro kernel. | Failure of one component in a monolithic kernel leads to the failure of the entire system. |
7. | Processing Speed | Execution speed is low. | Execution speed is high. |
8. | Extend | It is easy to extend Microkernel. | It is not easy to extend monolithic kernel. |
9. | Communication | To implement IPC messaging queues are used by the communication microkernels. | Signals and Sockets are utilized to implement IPC in monolithic kernels. |
10. | Debugging | Debugging is simple. | Debugging is difficult. |
11. | Maintain | It is simple to maintain. | Extra time and resources are needed for maintenance. |
12. | Message passing and Context switching | Message forwarding and context switching are required by the microkernel. | Message passing and context switching are not required while the kernel is working. |
13. | Services | The kernel only offers IPC and low-level device management services. | The Kernel contains all of the operating system’s services. |
14. | Example | Example : Mac OS X. | Example : Microsoft Windows 95. |
Please Login to comment...