4 ms·
It's 2016 and we're still doing drivers in kernel mode :( Andrew Tanenbaum's arguments for microkernels still ring just as true today as they always did.
by peterkelly 10y ago
It's 2016 and we're still doing drivers in kernel mode :(
Andrew Tanenbaum's arguments for microkernels still ring just as true today as they always did.
- tobias3 10y agoFor USB devices it would be theoretically possible: https://msdn.microsoft.com/en-us/windows/hardware/drivers/wdf/overview-of-the-umdf https://msdn.microsoft.com/en-us/windows/hardware/drivers/wd... A kindle is just a USB drive, though. And that driver is probably kernel mode for performance reasons.
- cm3 10y agoGiven the new crash-proof video driver architecture since Windows 8 and the variety of USB devices and their associated complexity, I had assumed the USB stack would be equally crash-proof by now. Isn't that the case? I recall they did a major overhaul like that for audio drivers too.
- vertex-four 10y agoIt's generally pretty "easy" to overhaul the graphics driver layer and get everyone to rewrite their drivers - the graphics card vendors work closely with Microsoft in the first place, and there's only a very small handful of them. USB, not so much.
- digi_owl 10y agoUSB is also a very ambiguous protocol. Observe the amount of problems device suspend on Linux was until someone noticed that the one minute mentioned in the spec was a recommendation rather than a rule.
- pjmlp 10y agoWindows is probably the desktop OS with better support for user mode drivers, still many developers still make them kernel mode, even if not needed. As for micro-kernels, at least they have won in the embedded and real time space, with the likes of QNX, L4 and a few others.
- jschwartzi 10y agoI have had QNX drivers crash in such a way as to bring down the entire microkernel before. Address space separation doesn't completely resolve the problem, but it does make it much rarer.
- nly 10y agoPortable USB driver development options exist. http://libusb.info/ http://libusb.info/
- wslh 10y agoIt's 2016 and Microsoft doesn't know how to test an operating system used by the majority. BTW, beyond the exciting development stuff that they are releasing there are a lot of issues inside the company. For example, they made it almost impossible to renew my company MSDN Premium account after talking with support guys for weeks.
- userbinator 10y agoIMHO microkernels - and isolation in general - are just workarounds for sub-par processes elsewhere that leads to barely-working code. Fix the root cause, not the symptoms.
- digi_owl 10y agoFunny thing is that NT is micro-kernel (to some degree at least), but Microsoft keep moving things in and out of kernel space with each release as they are weighing performance vs stability.