Sunday, 13 November 2016

What is kernel and How it works ?



Definition - What does Kernel mean?

A kernel is the core component of an operating system. Using interprocess communication and system calls, it acts as a bridge between applications and the data processing performed at the hardware level.

When an operating system is loaded into memory, the kernel loads first and remains in memory until the operating system is shut down again. The kernel is responsible for low-level tasks such as disk management, task management and memory management.

Explanation:

A computer kernel interfaces between the three major computer hardware components, providing services between the application/user interface and the CPU, memory and other hardware I/O devices.



The kernel provides and manages computer resources, allowing other programes to run and use these resources. The kernel also sets up memory address space for applications, loads files with application code into memory, sets up the execution stack for programes and branches out to particular locations inside programes for execution.

The kernel is responsible for:

Process management for application execution Memory management, allocation and I/O Device management through the use of device drivers System call control, which is essential for the execution of kernel services

There are five types of kernels:

Monolithic Kernels: All operating system services run along the main kernel thread in a monolithic kernel, which also resides in the same memory area, thereby providing powerful and rich hardware access.

Microkernels: Define a simple abstraction over hardware that use primitives or system calls to implement minimum OS services such as multitasking, memory management and interprocess communication.

Hybrid Kernels: Run a few services in the kernel space to reduce the performance overhead of traditional microkernels where the kernel code is still run as a server in the user space.

Nano Kernels: Simplify the memory requirement by delegating services, including the basic ones like interrupt controllers or timers to device drivers.

Exo Kernels: Allocate physical hardware resources such as processor time and disk block to other programs, which can link to library operating systems that use the kernel to simulate operating system abstractions


things you want to know about kernel

* There are different kernel available
* Each OS use different kernel
let's see one by one

 Android :
which is the most popular operation system now a days this uses a Linux based kernel

windows :
which uses NT kernel

IOS:
which uses darvin kernel

out of these Linux kernel is said to be open Kernel because it is easy to do changes it it an install new kernel

where as windows and IOS uses a closed kernal in which changes can not be made easily


let's discuss an example how really kernel important in a operation system

let us assume an app installed from your store
( like windows store ,Google play store ,iTunes ,etc)
after installing when you open the app there a sever background processing takes place to permit the App to open some of the common permission app's requires are as follows

* use of internet and WiFi

* read and write date from your memory card

* notification

* camera access

* location ,etc

this permission are automatically  controlled by kernel of the respective operating system (OS)
that is how kernal bridge between
software ,application and hardware



















No comments:

Post a Comment