You can blame Microsoft for allowing third party code that privileged access as of NT 4, where previously it did not have such access. OS X does this too, but then all that privileged code goes through or is written by Apple for its known set of hardware.
Computers are fast enough now that I think it's time to finally go to the microkernel architecture. We have so much computing power we can afford to waste some of it to gain that robustness.
So you’re saying that MS is to blame because it delegates
driver development to the hw vendors? Well, they (the vendors) do WHCL (Windows Hardware Compatibility List) testing on their products to assure MS that they meet
a certain standard of usability. They can then put the
MS logo in the box. The rest can still program to the
DDK (a public interface) and MS takes no position on that code’s reliability. If I am developing a new HW product
I can dive in and try to make it work without having to
beg MS to give me an interface. What does kind of free kernel access does Apple provide? Do they provide a free DDK? Or do I need to sign a NDA, get layers of approvals and pay $$ for the information?
Andrew, is that you? <grin>