Latest Article

Casbay News

Promotions

Casbay Events

Tips Sharing

aaa

Stay tuned with us

kernel

What is a Kernel in OS? What are the Type of Kernel?

Each operating system— whether it’s Windows, Mac, Linux, or Android — has a core program called a kernel that serves as the’ boss’ for the entire system. That is the essence of the OS! The Kernel is nothing more than a computer program that governs all else. Anything happens on your computer goes through it. In this article, we will explain what a kernel is in an operating system and the various kernel types.

What is a Kernel in OS?

Now that we know it’s a key program in the OS, we should also be mindful that it’s also the first program to load after the bootloader. It then does all of the chat between the hardware and the applications or devices. So if you are running a program, the user interface will send a request to Kernel. The kernel then sends a request to the CPU, Server to distribute processing power, server and other items so that the application can run smoothly in the front end.

You could imagine Kernel as a translator. This translates program requests for input / output into a set of instructions for the CPU and GPU. It’s a layer, in simple words, between the software and the hardware that makes it possible. The kernel controls the following:

  1. CPU/GPU
  2. Memory
  3. Input/output or IO devices
  4. Resource management
  5. Memory management
  6. Device management
  7. System calls.

User processes can access kernel-space only through the use of system calls. If a program tries to access directly, it will result in a fault.

Kernel Security & Protection

The kernel OS supports the hardware, as well. If there is no security, any software on the machine will be able to perform any function like crashing the device, corrupting data, etc.

Security on the hardware level is incorporated in modern-day computers. Windows, for example, will not load drivers that are not from a trusted source and that are licensed using signature. Secure Boot and Trusted Boot are typical examples.

Secure Boot: It is a safety standard developed by PC Industry members. This helps protect the device from malicious programs by stopping unauthorized applications from running during the start-up process. The feature ensures your PC boots only with software that the PC manufacturer trusts. So the firmware tests the signature of each piece of boot software, including firmware drivers (optional ROMs) and the operating system, once your PC begins. When the signatures are check, the PC boots and the firmware gives the operating system power.

Trusted Boot: Using the Virtual Trusted Platform Module (VTPM) it scans the Windows 10 kernel’s digital signature before loading it. In effect, it confirms every other Windows startup process part, including the boot drivers, startup files, and ELAM. If a file is alter or modify to some degree, it is detect by the bootloader and refuses to load it by identifying it as the corrupted portion. In short, it offers a chain of trust during boot time for all the elements.

kernel

What are the types of Kernel

The kernel can also communicate on a secure line with hardware. And businesses should create a Kernel that can use a series of buttons to connect to their hardware. Take for example a washing machine. Depending on the knobs you turn and the time you set-a simple kernel level should be appropriate.  That said, Kernel itself grows complicated over time, leading to kernel forms.

  1. Monolithic Kernel: Here, the OS and Kernel both run in the same memory space and suitable where security is not a significant concern. It results in faster access, but if there is a bug in the device driver, the entire system crashes.
  2. Microkernel: It’s a stripped-down version of Monolithic Kernel where the Kernel itself can do most of the job done, and there is no need of an extra GUI. They should be use where security and the crashing system isn’t or will not happen.
  3. Hybrid Kernel: This Kernel is what we see most. Windows, Apple’s macOS. They are a mix of Monolithic Kernel and Microkernel. It moves out drivers but keeps system services inside the Kernel – similar to how drivers are load when Windows Starts the bootup process.
  4. Nano Kernel: If you need to have a kernel, but its majority of function is set up outside, then this comes into the picture.
  5. Exo Kernel: This kernel only offers process protection and resource handling. However it is mostly use when you are testing out an inhouse project, and you upgrade to a better Kernel type.

There is a lot more to a Kernel than what we have talked about. As you dig deeper, the definition of Kernel gets broader and more profound.