Monolithic Linux Kernel

One would have read this statement in many books/internet sites or heard from different people – “Linux is a Monolithic Kernel”. What this means is that the entire operating system (which includes the device drivers, file system, IPC) are running in the kernel space. In a Micro-kernel architecture most of the OS services are running in user space. The Kernel only consists of core essential code to interact with the upper layer user space and the lower Hardware Layer

The below image provides an idea of how the two architectures differ

If most of the OS features in linux runs in the kernel space – then we need to have a mechanism to insert the code we create into the kernel. Linux provides this ability via modules. The article following this article will discuss compiling  and inserting a module

Writing A simple Kernel Module


  1. Pingback: How to look at corefiles using gdb – Part 2 | Hitch Hiker's Guide to Learning

Leave a Reply

Your email address will not be published. Required fields are marked *