Open In App

Difference between Microkernel and Monolithic Kernel

Last Updated : 01 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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 :

  1. A micro kernel, which only contains basic functionality;
  2. A monolithic kernel, which contains many device drivers.
  3. Hybrid Kernel
  4. Exokernel
  5. 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.

 


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads