What is Kernel ?
The operating system provides us a graphic interface to give the command to the computer system. But system can’t understand these commands directly. Translation of code into binary language done by the core component of an operating system (OS), i.e., KERNEL. User deal with the lowest layer of kernel and then kernel deal with system.
A Kernel is the central part of an operating system. It manages the operations of the computer and the hardware, most notably memory and CPU time.
A Kernel is a computer program that is the heart and core of an Operating System. Since the Operating System has control over the system so, the Kernel also has control over everything in the system. It is the most important part of an Operating System. Whenever a system starts, the Kernel is the first program that is loaded after the bootloader because the Kernel has to handle the rest of the thing of the system for the Operating System. The Kernel remains in the memory until the Operating System is shut-down.
The Kernel is responsible for low-level tasks such as disk management, memory management, task management, etc. It provides an interface between the user and the hardware components of the system. When a process makes a request to the Kernel, then it is called System Call.
Type of Kernel
According to design and functionality, we have many kinds of kernels.
Monolithic Kernel
A monolithic kernel is a single code program with the ability to load OS services in single address space of memory (Kernel Space).All OS services run in privileged mode. All services like memory management process management, I/O drivers, and memory driver’s lies in kernel space reduce access time give higher performance.
Monolithic kernel code is more significant than microkernel code. Due to large size, it is difficult to maintain the kernel. If services occur in kernel code, the entire system will stop to work. A monolithic kernel is not portable, so different platform required different kernel.
Microkernel
Microkernel used both kernel and userspace to run all the system processes. Kernel divided into various processes known as services. Minimum of services like IPC (Inter-Process Communication), basic scheduler, or scheduling primitives, basic memory handling, primary I/O primitives are in kernel space. All services like Scheduler, memory handling, file systems, and network stacks are separately running in userspace. It reduces the size of kernel
Microkernel used system calls to implement thread management, inter-process communication, and memory management. Processes which are handled by the kernel in userspace are known as servers. Message passing system is used to control server request. QNX and the HURD used a microkernel. Microkernels are best for small process system. So less complication in process management.
Hybrid Kernel
A hybrid kernel is extending version of a microkernel with adding some functionality of Monolithic kernel. A hybrid kernel divided into services same as a microkernel, and they all executed in same kernel space as the Monolithic kernel. NT kernels for windows and XNU kernel used by Apple for macOS.
Thanks for visiting, don't forget to subscribe.
No comments:
Post a Comment