What are the main types of kernels?
Interview preparation resource from Gate Smashers.
The main kernel designs are monolithic, microkernel, hybrid and modular or exokernel-style approaches. They differ mainly in how much operating-system functionality runs in privileged kernel space.
A monolithic kernel keeps core services such as scheduling, memory management, file systems and many drivers in kernel space, enabling efficient direct calls but increasing the trusted code base. A microkernel keeps only essential mechanisms privileged and moves services to isolated user-space processes, improving fault isolation at the cost of more IPC and context transitions.
Hybrid kernels combine microkernel ideas with selected services in kernel space for performance. Modular monolithic kernels can load and unload drivers or subsystems while retaining a common kernel address space. Exokernel-style designs expose protected hardware resources and let application libraries build higher-level abstractions.
Kernel design is a trade-off between performance, isolation and maintainability. Monolithic kernels keep many services together for efficient calls, microkernels move services out for stronger isolation, and hybrid designs retain a larger kernel while borrowing modular ideas from both.
