The kernel is the main component of any operating system. The function or role of a kernel includes memory management, device management, and accessing all computer resources. Based on the functions, there are three main categories of OS kernel.
We'll discuss the monolithic kernel and its functions and then move on to its pros and cons over other kernel architectures.
The operating system code is in a single executable image in a monolithic kernel. In this architecture, the entire operating system is working in kernel space. In other words, no parts of the OS are in
The monolithic kernel alone defines a high-level virtual interface over computer hardware to provide its services. Look at the figures below to understand the function of the monolithic kernel.
All the services are in kernel mode, and the entire kernel functionality is organized into a single block that is difficult to debug and maintain.
Following are the primary functions of a monolithic kernel:
This kernel provides file management, CPU scheduling, memory management, and other operating system functions through system calls.
It also provides complete control over components like Interprocess communication(IPC), I/O and device management, fundamental process management, and hardware.
Note: All the services run in kernel space.
Following are the major advantages of a monolithic kernel:
It gives better performance than the microkernel.
There's no additional communication overhead, unlike microkernel.
It provides effective services like IPC through system calls.
A single extensive process can run entirely in a single address space which enhances the security of the process as well from interference.
The following are the major disadvantages of a monolithic kernel:
As all the files run in a single image, if any service fails, the whole system fails.
If the user needs to add any new service, then the user needs to modify the entire system.
It isn't easy to maintain and debug.
Some Monolithic Kernel-based OSs are:
Microsoft Windows
Linux
BSD(OpenBSD, NetBSD, FreeBSD)
Free Resources