Definition
Microkernel
A microkernel is an OS architecture keeping the kernel minimal by moving non-essential services (file systems, device drivers) into user space. The kernel provides only fundamental services for system management and inter-service communication.
Core Services
Kernel Responsibilities
The microkernel handles only:
- Process Switching: CPU management and basic scheduling
- Basic Memory Management: Address space protection
- Low-level I/O and Interrupts: Basic hardware access
- Inter-Process Communication: Message passing between user-level services
Properties
Portability
Most OS code is hardware-independent user code, simplifying architecture migration.
Flexibility
New services can be added or modified without changing the core kernel.
Reliability
A crash in a server process does not necessarily crash the entire system.
Distributed Support
Naturally supports distributed computing via messages between services on different nodes.
See Process-Based Kernel for a specific implementation model.