What is kernel#
Kernel is the main component of an operating system ,it is thw first program that is loaded by thw bootloader when the computer is switched on . and it run in the memory till the systm is shut down.
And the kernel is an interface between the use applications and hardware.
An os cannot function without a kernel.
Functions of Kernel#
Manages the interaction between user applications adnd system hardware.
Memory Management : Allcation & Dealocation of memory among various processes.
Device Management : managing secondary devices. secondary stand for any storage device whish is present apart from the primary Memory (RAM). Hdd ,ssd USB all that is a part of secondary storage devies .
Resource Management : Ensures resources are correctly shared among different processes .
Types Of kernel#
Monolithic Kernel :#
- Both user space and kernel space occupy the same memory area.
- Respose time of a monolithic kernel is low . (leading to fast performance )
- Size of this kernel is lager de to large size of its code.
- Lack of separation increses the complexity of Monolithic kernel .
- System component are dependent upon each other. Example : linux ,Unix .
Micro kernel :#
use space and kernel space are implemented in separate memory areas .
size of the kernel is smaller .
It has high stability due to lesser services in kernel space.
large number of system calls and context switches. more Complexity
EXecution speed reduce due to frequennt communction between separet user space and kernel space . Example : AmigaOS and Minix and k42
hybrid Kernel#
Combination of Monolithic and Micro
Some non-essential code is kept in kernel space to speed up the exexution process.
As fast as Monolithic Kernel
Example : windows Nt , Netware
Exo Kernel#
Developed by Massachusetts Institute of Technology .
Focuses on application-level management Of Resources .
Ensures the no abstration are forced on the Develpores .
Developers can use any abstration as and when required .
Provides a low-level interface .
Separates Security and management of resources .
Increased work for application developers . Example : Nemesis ,EXos
Nano Kernel#
“NANO” refers to the size of the kernel .
the size of Nano Kernel is smaller as compared to aall other types .
the desing of nano Kernel resembles closely with Micro Kernel :
it provides hardware abstraction . It does not provide system servies
Majority of the code is present in the kernel space .
Example: EROS
