Kernel Architecture
What is a Kernel in operating system?
Kernel is the core of the operating system. Kernel controls everything in a computer.
What are the types of Kernel Architecture?
Monolithic architecture, Microkernel architecture and Hybrid Kernel architecture.
Monolithic architecture
In Monolithic kernel mode, operating system runs in a single address space. Monolithic kernel has all the operating system functions or services within a single kernel. This single kernel will run as a single process in a single address space in memory. Monolithic architecture enables higher performance however less flexible for modifications to add new features or enhance existing features.
Examples:
- Windows 1, Windows 2, Windows 3, Windows 95, Windows 98, Windows ME
- All Linux distribtions - CentOS, Ubuntu, Red Hat's Fedora, Red Hat Enterprise, Open SUSE and all other linux distributions
- Android uses a modified Linux Kernel
Microkernel architecture
Microkernel architecture is an architecture with kernel having the basic interaction with hardware and the basic Inter-Process Communication mechanisms. All the other Operating System services exist outside the Kernel. Microkernel provides the flexibilities to add new features or modify existing features while slightly affecting performance as it increases amount of interactions between kernel and user mode features.
Examples:
Mach, OKL4, Codezero, Fiasco.OC, PikeOS, seL4, QNX
Hybrid Kernel architecture
Hybrid architecture tries to get the best features of both monolithic kernel as well as microkernel. Hybrid kernel aims to have an optimal performance and the flexibility to modify and upgrade kernel services.
Examples:
- Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10
- Apple's macOS for dektop machines
- Apple's iOS for mobiles uses hybrid (XNU)
Exokernel
Namesake kernel having very least kernel that is used for multiplexing and security of hardware.
Examples:
- MIT kernels - Aegis, XOK
Nanokernel
It is very similar to micro-kernel architecture. It is a name coined to kernels with relatively lesser size to compare it with already existing micro kernel operating systems
No kernel approachOn this approach, there is no kernel. Complete code is written and loaded into memory before it is executed. If you want to run a different program, old program will be unloaded and new program will be loaded.
Examples:
- All the old punch card readers
- Video game consoles
- Embedded devices
What are the components of a monolithic kernel architecture
Monolithic architecture has two modes: Kernel mode and User mode
- Kernel mode has all the primary or core operation system features
- User mode has the operating system features not added in the kernel mode
What are the components of a microkernel architecture?
- In the microkernel architecture, Kernel has the least amount of operating system core services.
- Rest of the OS services exist as independent services.
- IPC, scheduling and memory management are the core services in a micro-kernel.
- Rest of the OS functions run as separate servers
What are the operating systems implementing a monolithic architecture?
- Windows (non-NT versions)
- Linux and
- Unix variants