Microkernel Operating Systems
There exists two approaches to OS kernel implementation: monolithic and microkernel. The microkernel approach consists in defining a very simple virtual machine over the hardware, with a set of primitives or system calls to implement minimal OS services as thread management, address spaces and interprocess communication.
The main objective is separate the mechanism of implementing the basic services from the operation policy of the system. By example, the process I/O locking could be implemented by an user server running on top of the microkernel. These user servers used to carry on the system high level parts are very modular and simplify the estructure and design of the kernel. Besides that, a service server that fails doesn't bring all the system down; this simpler module can be restarted independently of the rest.
Traditional microkernels like Mach are much slower than monolithic kernels.
(Maybe this text could be merged in the kernel entry...)