Wednesday, July 02, 2008
A quick bit about the NT kernel
NT is a hybrid kernel that took a fairly elegant approach to kernel design, especially for the early 90s, as it was a new conceptual kernel of the time, taking some existing kernel architectual models and some of the best kernel theories that had not been implemented before.
For example NT has some MACH conceptual ideas and lightweight kernel API set for performance, but then hands this off to increasing levels of APIs conplexity. This gave NT the ability to be very lightweight at the core, but have extended functionality that didn't weigh the core kernel down.
NT's HAL for example was under 64KB, and even on Vista is still 256KB(slightly larger in Vista x64), which for modern hardware is still extremely small. Going from the HAL to the lower kernel and API layers is still very small, especially compared to other OS kernel models in use today. This is how and why the MS Embedded OSes (XP/Vista) can and do work so well, as NT was simply broken apart as needed for the Embedded versions to make them very light (As in used in a router light).
The essential design of the NT kernel is both object based and a client/server model. This is not normal, or something that you will find in any other consumer level OS out there.
Via Flares Into Darkness, Comment about NT
Mark was always impressed with the Windows NT kernel (but not necessarily with the rest of Windows) and this comment goes into some of the details of what makes the NT kernel so well designed.