Server-Structured Systems and Microkernels
A number of systems have been structured as collections of servers running above a minimal kernel (“microkernel”).
- Microkernel provides, e.g., basic threads and scheduling, IPC, virtual address spaces, and device I/O primitives.
Kernel is hoped to be smaller, more reliable, and more secure.
Policies (e.g., security) may be implemented outside of the kernel.
- Operating system “personalities” (e.g., Unix or Windows) may be implemented as servers.
OS may have multiple personalities and policies, with new OS features and APIs added on-the-fly.
- The performance of server-structured systems is determined largely by the efficiency of the messaging primitives.