The “Kernel” is nothing but the core component of an OS (Operating System). This kernel directly deals with hardware part of computers and acts as a bridge between applications and the data processing unit which performs at the hardware level. Also, it is responsible for basic tasks like Disk management, memory management, and task management.
As the “kernel” is the core of operating system it provides the basic services to other parts of OS and it has the complete control over everything that happens in the system. During system booting or system startup, it is the first part of the operating system which loads into the memory. Due to the critical nature of kernel, it’s loaded in the protected area of memory.
Categories of Kernel:
Kernels are classified as follows monolithic kernels, micro kernels, hybrid kernels and exokernels. Each one has its own advantages and disadvantages.
Monolithic kernels: This kind of kernels are traditionally been used by Unix-like operating systems. Example: Linux kernel
Micro kernels: The microkernel generally provides only minimal services, such as defining memory address spaces, process management and interprocess communication (IPC). Example: AIX, Mac OS X, etc.
Hybrid kernels: The hybrid kernels are similar to micro kernels but they include some additional code in kernel space so that such code could run faster. Most modern OS use hybrid kernels including Microsoft Windows NT, 2000, etc.
The last one kernel category named exokernels are still in experimental, it is not yet released for open use except developing mode.