Operating System Kernel Architecture

<<Previous

Next >>




What is a Kernel?

Kernel is the core of the operating system. It controls everything in a computer.

What are the types of Kernel Architecture?

Monolithic architecture

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 approach

On 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 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 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
Primary difference between windows and linux architecture is that: Windowing feature is in kernel mode in Windows where as windowing feature in linux is available in User mode

<<Previous

Next >>