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 :

    • Microkernel Monolithic kernel 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. OS is complex to design. OS is easy to design and implement. Microkernel are smaller in size. Monolithic kernel is larger than microkernel. Easier to add new functionalities. Difficult to add new functionalities. To design a microkernel, more code is required. Less code when compared to microkernel Failure of one component does not effect the working of micro kernel. Failure of one component in monolithic kernel leads to failure of entire system. Execution speed is low. Execution speed is high. It is easy to extend Microkernel. It is not easy to extend monolithic kernel. Example : Mac OS X. Example : Microsoft Windows 95