Question

I'm told, that Windows NT was first designed to implement the microkernel architecture, but moved away to hybrid kernel.

What caused the change? I'm having trouble trying to find any info about this.

Was it helpful?

Solution

The main reason that Windows NT became a hybrid kernel is speed. A microkernel-based system puts only the bare minimum system components in the kernel and runs the rest of them as user mode processes, known as servers. A form of inter-process communication (IPC), usually message passing, is used for communication between servers and the kernel.

Microkernel-based systems are more stable than others; if a server crashes, it can be restarted without affecting the entire system, which couldn't be done if every system component was part of the kernel. However, because of the overhead incurred by IPC and context-switching, microkernels are slower than traditional kernels. Due to the performance costs of a microkernel, Microsoft decided to keep the structure of a microkernel, but run the system components in kernel space. Starting in Windows Vista, some drivers are also run in user mode.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top