FOR FREE MATERIALS

Kernel:

 

Kernel is software that is the most fundamental module of the Operating System. It provides a set of functions and services to support various OS functionalities. The rest of the OS is organized as a set of non-kernel routines. 

 

Kernel is the main component of OS which controls and manages the main feature of an OS while if some of the useful applications, routines, and utilities are added on the kernel, and then it becomes a complete OS. After boot loader, the kernel is the first program loaded on start-up and it handles the rest of the start-up. It remains a separate portion of the main memory and is protected by other application programs. 

 

It also controls all input/output requests from application software and then translating them into data-processing instructions for the CPU. The kernel manages several services like scheduling, process switching, exception, interrupt handling, multiprocessor synchronization, and device reservation.

 

 

OS functionality 

Example of Kernel Functions and Services

 

Process Management 

Save context of the interrupted program, dispatch a process, manipulate scheduling lists.

 

Process communication 

Send and receive interprocess messages. 

 

Memory Management 

Set memory protection information, swap-in/swap out, handle page fault.

 

I/O management 

Initiate I/O, process I/O completion interrupt, recover from I/O errors.

 

File management 

Open a file, read/write data.

 

Security and protection 

Add authentication information for a new user, maintain information for file protection. 

 

Network management 

Send/receive data through a message.

 

Interrupt handling

Kernel gets control when an interrupt such as a timer interrupt or an I/O interrupt notifies occurrence of an event to it, or when software interrupt instruction is executed to make a system call. 

 

Example:

Linux and XNU is a kernel of Unix and MacOS Operating System correspondingly. Now adding utilities, GUI, System Administrator, commands, compiler, and some other applications with Linux then it became a Unix operating system like redHat, ubuntu, suse, centOS, etc.

 

 There are five different types of kernels

 

1. Monolithic Kernel 

2. Micro Kernel 

3. Hybrid Kernel

4. Nano Kernel

5. Exo Kernel