What does Kernel mean?




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.

What does Kernel mean? 


computer kernel interfaces between the three major computer hardware components, 

i) providing services between the application/user interface 
ii) and the CPU, memory 
iii)and other hardware I/O devices.


The kernel provides and manages computer resources, allowing other programs 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 programs and branches out to particular locations inside programs 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, Microkernels, Hybrid, Nano, Exo

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

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. Used in Real time system.

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. used in windows, mac, linux

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

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.

Kernel I/O Subsystem

Kernel I/O Subsystem is responsible to provide many services related to I/O. Following are some of the services provided.

Scheduling − Kernel schedules a set of I/O requests to determine a good order in which to execute them. When an application issues a blocking I/O system call, the request is placed on the queue for that device. The Kernel I/O scheduler rearranges the order of the queue to improve the overall system efficiency and the average response time experienced by the applications.

Buffering − Kernel I/O Subsystem maintains a memory area known as buffer that stores data while they are transferred between two devices or between a device with an application operation. Buffering is done to cope with a speed mismatch between the producer and consumer of a data stream or to adapt between devices that have different data transfer sizes.

Caching − Kernel maintains cache memory which is region of fast memory that holds copies of data. Access to the cached copy is more efficient than access to the original.

Spooling and Device Reservation − A spool is a buffer that holds output for a device, such as a printer, that cannot accept interleaved data streams. The spooling system copies the queued spool files to the printer one at a time. In some operating systems, spooling is managed by a system daemon process. In other operating systems, it is handled by an in kernel thread.

Error Handling An operating system that uses protected memory can guard against many kinds of hardware and application errors.

 Kernel Data Structures

Lists, Stacks, and Queues, linked list, Trees
Hash Functions and Maps
Bitmaps: A bitmap is a string of n binary digits that can be used to represent the status of n items.
{ Plz ref Data Structure......}

Comments

  1. What is kernal and its three major components and its five types that is Monolothic, Microkernal, Nano, Hybrid, Exo are explained in very easy manner Sir... Thank you Sir

    ReplyDelete

Post a Comment

Popular posts from this blog

Multitasking,Multi programming & Multiprocessing

(PCB) or Task Control Block (TCB)

Buffering, Polling & Spooling