Skip to main content

Linux Kernel Explained - Types and Functions

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
#

  1. Manages the interaction between user applications adnd system hardware.

  2. Memory Management : Allcation & Dealocation of memory among various processes.

  3. 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 .

  4. 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

Youcef
Author
Youcef
My name is youcef and i’m linux user who fool in love with linux , like free and open software .