To view parent comment, click here.
To read all comments associated with this story, please click here.
1) I don't think most explorer hangs are actually driver-related, except maybe in an indirect way. The old explorer used to do actions which were cheap most of the time but could occasionally be really expensive on the UI thread. That's of course quite bad. Vista is a lot better in this regard and I have yet to observe such a file browser hang (it also helps that I never use CD-ROMS anymore, but I do use network shares exensively).
2) Vista moved a limited set of drivers out of kernel mode. Mostly it was the ones that seem to cause the largest number of crash hits: Video, Audio, and some random USB devices. Moving stuff up into usermode has a ost too, though: complexity and poorer performance due to more context switches. This was able to be avoided for video through some pretty cool changes to memory management and an interesting buffering scheme. But the complexity of moving things up to usermode sometimes means that your device is less likely to bring down the system but also somewhat more likely to not function correctly in low-resources or some other scenario in which the user-application fails to communicate properly with the user mode driver host.
Like with everything, there's a tradeoff. If your code is in the kernel and it's buggy, the box will blue screen and you have no choice but the fix those bugs post-haste. There's a lot more tolerance for lower-quality user mode code, so one could imagine drivers becoming buggier since the individual bugs are of less consequence.






Member since:
2005-11-11
Is the driver is misbehaving, the kernel cannot do much about it most of the time (in so called monolithic kernels, at least). If the misbehaving driver for example corrupts any data structure used by the kernel, you are screwed.
The problem really is misbehaving drivers, and the fact that a lot of things used to run in kernel space in windows did not help, as well as the big number of crappy drivers. Fortunately, with Vista, it looks like they have put a lot of things in userland, where it belongs (that's what they pretend, at least, I have not checked it, I am not interested in windows). Less code in kernel space certainly means more reliability here.