- Huawei working on its Android alternative as relation with the US deteriorate
- Apple iOS 12: What we should expect from the upcoming operating system
- Apple rolls out iOS 11.3 update; New features, bug fixes, and more
- Android P developer preview: Here's how you get it
- MWC 2018: Jolla Sailfish 3 with 4G feature phone support announced
- Android P to prevent apps from using phone's camera in the background
Consider any school with no teacher in it. How will the situations be in such schools? As you can imagine the consequences with not much effort, the similar output will be found if an Operating system does not include a Kernel in it.
Without a kernel, you can't have an Operating System that actually works. All the Operating System's like Windows, Mac OS X, and Linux have different kernels in it. Kernel acts as a central component of any Operating System, similar to nucleus of any cell.
Also Read: Understanding Ransomware
Job of Kernel
Kernel's job is to help both the hardware and software communicate with each other. It talks to the hardware using the drivers which are included in the kernel.
For e.g. When you are watching any video and you wish to raise the volume of the speaker, the video player application submits this request to the kernel. Now, the kernel uses the driver, which it has for speakers to increase the volume.
Other tasks of Kernel
Kernel handles the complicated job of managing the resources efficiently. It should keep checking the availability of memory in your system and place the required applications in the proper memory location. It is also responsible for completing any internal task quickly by optimizing the usage of the processor and preventing the deadlocks.
Linux is a Kernel
There is always a confusion about Linux, whether it is an Operating System or it is a kernel. If an Operating system comes only with a kernel, then it is of no use. Besides the kernel, there are a lot of other applications bundled with the kernel to make it a complete package, called as Operating System. That is, an OS has user space along with a kernel space in it.
Since Linux does not include any applications like file system utilities, windowing systems and graphical desktops, system administrator commands, text editors, compilers, etc, we can call it as a kernel. When the above mentioned applications are added to a Linux kernel, it comes out as ubuntu, suse, centOS, redHat or other OS.
Types of Kernel
1. Monolithic Kernel
Monolithic kernel is a basis for Linux, Unix, MS-DOS and Mac OS. This architecture uses only kernel space to perform all the tasks. It is said to be largest compared to other kernels because they have to deal with many aspects of computer processing at the lowest level, and also have to incorporate code that interfaces with many devices, I/O and interrupt channels, and other hardware operators.
This kernel architecture included all the services in one module which resulted in consumption of huge space and low maintainability. Later, these services were modularized to solve this issue. Adding new services, loading and unloading of modules, compiling of any specific module became easier in this new architecture.
2. Micro Kernel
This architecture uses user space instead of kernel space, to run some basic services like device driver management, protocol stack, file system etc. This not only reduces the kernel size but also increases the security and stability of OS. Here, all the basic services which are part of user space are made to run as servers which are used by other programs in the system through inter process communication (IPC).
3. Hybrid Kernel
This architecture combines the aspects and benefits of micro kernel and monolithic kernel architectures used in computer operating systems.
So here you go. You are now able to answer the questions related to kernel, and its uses without any fear.