2. Monolithic Operating Systems
There exists two approaches to OS kernel implementation: monolithic and microkernel. The monolithic approach consists in defining a high-level virtual machine over the hardware, with a set of primitives or [system calls]? to implement OS services as processes management, concurrency, memory management, etc. in several modules that run in [supervisor mode]?.
Even if every module servicing these operations is separate from the whole, the integration is very tight and difficult to do right, and, as all the modules run in the same space, a bug in one of them can bring all the system down with it. Contrast it with the microkernel approach.
(Maybe this text could be merged in the kernel entry...)