The Microkernel pattern separates a minimal set of core functionalities (microkernel) from additional services and features, allowing these services to be added or removed dynamically. It promotes extensibility and flexibility.

  • Separates minimal core functions from extended functionality in pluggable modules
  • Servers implement functionality not in kernel


Usage

  • Mach - Provided POSIX API compatibility as a server on Mach kernel.
  • Windows NT - Has subsystems for Win32, OS/2 servers on NT kernel.

Benefits

  • Portability - Servers are portable across OS platforms.
  • Extensibility - New servers can be added dynamically.
  • Scalability - Distributed microkernel for load balancing.

Drawbacks

  • Performance overhead - Kernel-server communications.
  • Complexity - Difficult to decompose system appropriately.

Example

In an operating system, the microkernel contains essential functionalities like process scheduling and memory management, while other services like file systems or networking are kept separate and can be added or removed.