From Computer History Wiki
Jump to: navigation, search

A microkernel is a way of structuring an operating system; the kernel contains as little as possible, and many functions performed in the kernel in a 'monolithic' kernel (e.g. the file system) are moved out to 'privileged' processes, which perform those functions for users.

Microkernels can, unless implemented cleverly, be slower than a normal operating system; the extra context switches required to activate the processes providing 'system' functions can be a source of overhead. The advantages of a microkernel are that the amount of code in the kernel is minimized, reducing the chance of a bug that can crash the entire system; and that the functions moved out to processes can be upgraded while the system is running.

Functions typically left in the kernel are the provision of processes (and their address spaces), including scheduling, and some sort of inter-process communication.

See also