3 ms·
Windows NT 3.x was a true microkernel. Microsoft ruined it but the design was quite good and the driver question was irrelevant, until they sidestepped HAL. T
by nobodyandproud 10mo ago
Windows NT 3.x was a true microkernel. Microsoft ruined it but the design was quite good and the driver question was irrelevant, until they sidestepped HAL.
The Linux kernel was and is a monstrosity.
- WalterGR 10mo agoWhat do you meant by them sidestepping the HAL?
- avadodin 10mo agoI think the biggest one is that the whole GDI library was moved into the Kernel in 3.5x because the performance was terrible at the time. I don't think they ever intended to keep all drivers strictly userland, though. Just the service side.
- nobodyandproud 10mo agoMind you I don't have access to Microsoft code, so this is all indirect, and a lot of this knowledge was when I was fledgling developer. The Windows NT code was engineered to be portable across many different architectures--not just X86--so it has a hardware abstraction layer. The kernel only ever communicated to the device-driver implementation through this abstraction layer; so the kernel code itself was isolated. That doesn't mean the device drivers were running in user-land privilege, but it does mean that the kernel code is quite stable and easy to reason about. When Microsoft decided to compromise on this design, I remember senior engineers--when I first started my career--being abuzz about it for Windows NT 4.0 (or apparently earlier?).
- pjmlp 10mo agoThis is outdated since Windows Vista, and even more so in Windows 11.
- nobodyandproud 10mo agoWindows Vista isn't Windows NT 3.x. In the internal versioning, it's not even 4.0.
- pjmlp 10mo agoIndeed, it is something better, Windows NT 6.0. And it is irrelevant anyway, given that this comment was written from 10.0.26100.
- nobodyandproud 10mo agoOh, I see. You’re saying they improved the design. I know they added user-privilege device driver support for USB (etc).; did they revert the display compromise/mess as well?
- pjmlp 9mo agoYes, now graphics drivers are mostly in userspace, with only a tiny driver in kernel space, miniport. Hence why graphics usually no longer crash Windows, after a small black screen pause, everything continues as usual. https://learn.microsoft.com/en-us/windows-hardware/drivers/display/windows-vista-display-driver-model-design-guide https://learn.microsoft.com/en-us/windows-hardware/drivers/d...