Skip to main content

Kernel and its types

Short answer

A kernel is the OS core managing CPU, memory, devices, and system calls. Monolithic kernels (Linux) run all services in kernel space for speed but risk crashes. Microkernels (QNX) keep only scheduling, IPC, and basic memory in kernel, running drivers/filesystems in user space for reliability and modularity.

Define kernel and explain its types (differentiate between monolithic kernel and micro kernel).

The kernel is the central part of an operating system. It runs in privileged mode, manages the CPU (scheduling), memory, devices and system calls, and provides the interface between applications and hardware.

Types of kernel

  1. Monolithic kernel: the whole OS (scheduler, memory manager, file system, device drivers, IPC) runs as one large program in kernel space. Examples: Linux, UNIX.
  2. Microkernel: only the minimum services (basic scheduling, IPC, low-level memory management) stay in the kernel. File systems, drivers and others run as separate servers in user space. Examples: QNX, MINIX, Mach.
  3. Hybrid kernel: a mix of both (Windows NT, macOS).
  4. Exokernel / nanokernel are other minimal designs.
PointMonolithic kernelMicrokernel
SizeLargeSmall
Services in kernel spaceAllOnly essential (IPC, scheduling, basic memory)
SpeedFaster (direct function calls)Slower (message passing between servers)
ReliabilityA faulty driver can crash the entire systemMore reliable; a failed server does not crash the kernel
ModificationHarder; kernel must be rebuiltEasy; add/replace servers
SecurityLowerHigher
ExamplesLinux, UNIXQNX, MINIX

✓ Answer checked by Claude Opus 5.5 (high effort)

All Embedded System chapter 6 questions →