Since the very beginning of this blog, we have been talking about kernels. That is the Linux kernel specifically… Now what I’ve come to realize is that maybe some people don’t quite fully understand what a kernel is…
What is a Kernel?
A kernel is simply software that acts in between the hardware and software of your computer in lamens terms… A kernel is often referred to as the core of an operating system, as it is critical to the system and will not work without it! Furthermore, it handles operations such as memory management with RAM, input and output devices, and interfacing with the Central Processing Unit (CPU)!
That’s basically everything you need to know about a kernel summed up in a few sentences! Now if you are willing to dive into further depths, you can read up on the different types of kernels below!
Different Types of Kernels!
In the last few decades, new innovations in kernel development have led to the creation of multiple kernel types… You can find these listed below!
Monolithic Kernels –> A monolithic kernel is basically a single large process. All kernel services live in a single address space… This allows for fast computing but comes with some disadvantages…
Examples include; Linux, Unix
Microkernels –> As opposed to a Monolithic kernel, in a microkernel the kernel is broken down into separate processes allowing for easy management and updating! Another advantage of microkernels is that if one process fails it will not cause the whole system to fail as what will likely happen in a system using Linux…
Examples include; Minix, Amiga OS
Hybrid kernels –> Finally we have hybrid kernels also known as macrokernels… A hybrid kernel attempts to combine monolithic and microkernels! This means that Hybrid kernels attempt to combine “the speed and simpler design of monolithic kernel with the modularity and execution safety of microkernel”.
Examples include; Windows NT
In conclusion, each kernel has its advantages and disadvantages… In the end, it primarily depends on what you want to accomplish and what is are your most important needs…