Micro kernel : The concept was to reduce the kernel to basic process communication and I/O control, and let the other system services reside in user space in form of normal processes (as so called servers).
Monolithic Kernel : It runs every basic system service like process and memory management, interrupt handling and I/O communication, file system, etc
Linux Kernel is a monolithic kernel. But the beauty about Linux is It can be compiled as both!
- Single binary file
- All drivers included in kernel itself
- Multiple files for kernel
- Drivers can be loaded or unloaded into kernel using modprob command, see man page of
lsmod, modprob etc
- Almost all drivers are build and linked against kernel
instead of a Micro kernel: