-->

Kernel , Monolithic Kernel and Microkernel

Posted by Admin on
What is kernel ? Explain the different types of kernel ?
Kernel is the main component of the operating system.It is a bridge between application and the actual data processing done at the hardware level. Kernel responsibility includes managing the system resources. There
are two type of Kernel .
1)Monolithic Kernel.
2)Micro Kernel.



Monolithic Kernel : Monolithic kernel is an operating system architecture where every basic system services like process and memory management, interrupt handling and I/O communication, file system, etc are run in kernel space (See the figure below). It is constructed in a layered fashion, built up from the fundamental process management up to the interfaces to the rest of the operating system (libraries and on top of them the applications).



Drawback of monolithic kernel :
1) Bug-fixing or the addition of new features means a recompilation of the whole kernel. This is time and resource consuming because the compilation of a new kernel can take several hours and a lot of memory. Every time someone adds a new feature or fixes a bug, it means recompilation of the whole kernel.
2) Kernel size increase 
3) Lack extensibility .
4) Bad Maintaibilty.

Micro kernel : The concept of microkernel was to reduce the kernel to basic process communication and I/O control, and let the other system services reside in user space in form of normal processes (as so called servers). There is a server for managing memory issues, one server does process management, another one manages drivers, and so on. Because the servers do not run in kernel space anymore, so called ”con-text switches” are needed, to allow user processes to enter privileged mode (and to exit again). That way, the μ-kernel is not a block of system services anymore, but represents just several basic abstractions and primitives to control the communication between the processes and between a process and the underlying hardware. Because communication is not done in a direct way anymore, a message system is introduced, which allows independent communication and favors extensibility.



  
In a simple way we can say like this :
Monolithic Kernel (Macro Kernel):
Kernel Image = (Kernel Core+Kernel Services). 
When system boots up entire services  are loaded and resides in memory.
Example: Windows and Unix.

Micro kernel :
Kernel Image = Kernel Core.
Services are build in to special modules which can be loaded and unloaded as per need.

Please comment if you like the above post or find any mistake .


No comments:

Post a Comment