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
• 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.
Microkernel Vs Monolithic kernel :
Differences between Microkernel and Monolithic Kernel :
S. Parameters Microkernel Monolithic kernel
No.
In microkernel, user services and In monolithic kernel, both user services
1. Address Space kernel services are kept in separate and kernel services are kept in the same
address space. 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 Less code when compared to microkernel
is required.
Failure of one component does not Failure of one component in a monolithic
6. Failure effect the working of micro kernel. 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.
To implement IPC messaging queues Signals and Sockets are
9. Communication are used by the communication utilized to implement IPC in
microkernels. monolithic kernels.
10. Debugging Debugging is simple. Debugging is difficult.
Extra time and resources are
11. Maintain It is simple to maintain.
needed for maintenance.
Message passing and Context Message forwarding and context Message passing and context
12. switching are required by the switching are not required
switching
microkernel. while the kernel is working.
The kernel only offers IPC and low-level The Kernel contains all of the
13. Services device management services. operating system’s services.
14. Example Example : Mac OS X. Example : Microsoft
Windows 95.