Apart from microkernel, Monolithic Kernel is another classification of Kernel. Like microkernel this one also manages system resources between application and hardware, but user services and kernel services are implemented under same address space. It increases the size of the kernel, thus increases size of operating system as well.
This kernel provides CPU scheduling, memory management, file management and other operating system functions through system calls. As both services are implemented under same address space, this makes operating system execution faster.
Below is the diagrammatic representation of Monolithic Kernel:
If any service fails the entire system crashes, and it is one of the drawbacks of this kernel. The entire operating system needs modification if user adds a new service.
Advantages of Monolithic Kernel –
- One of the major advantage of having monolithic kernel is that it provides CPU scheduling, memory management, file management and other operating system functions through system calls.
- The other one is that it is a single large process running entirely in a single address space.
- It is a single static binary file. Example of some Monolithic Kernel based OSs are: Unix, Linux, Open VMS, XTS-400, z/TPF.
Disadvantages of Monolithic Kernel –
- One of the major disadvantage of monolithic kernel is that, if anyone service fails it leads to entire system failure.
- If user has to add any new service. User needs to modify entire operating system.
Key differences between Monolithic Kernel and Microkernel –
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Monolithic Architecture
- Microkernel in Operating Systems
- Difference between User Level thread and Kernel Level thread
- Allocating kernel memory (buddy system and slab system)
- Difference between Operating System and Kernel
- Relationship between User level thread and Kernel level thread
- Difference between Process and Kernel Thread
- User mode and Kernel mode Switching
- Kernel I/O Subsystem in Operating System
- The Linux Kernel
- Kernel in Operating System
- Static and Dynamic Libraries | Set 1
- Peterson's Algorithm for Mutual Exclusion | Set 2 (CPU Cycles and Memory Fence)
- Zombie Processes and their Prevention
- Deadlock Prevention And Avoidance
- Difference between Priority Inversion and Priority Inheritance
- Deadlock Detection And Recovery
- Readers-Writers Problem | Set 1 (Introduction and Readers Preference Solution)
- mindepth and maxdepth in Linux find() command for limiting search to a specific directory.
- Introduction to Linux Shell and Shell Scripting
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.