| ▲ | WalterGR 2 days ago | |
What do you meant by them sidestepping the HAL? | ||
| ▲ | avadodin 2 days ago | parent | next [-] | |
I 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 a day ago | parent | prev [-] | |
Mind 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?). | ||