Linked by Thom Holwerda on Fri 30th May 2008 14:49 UTC
Windows We have learnt quite a lot about Windows 7 this week, and one of the things was that Windows 7 would not get a new kernel. The call for a new kernel has been made a few times on the internet, but anyone with a bit more insight into Windows' kernel knows that there is absolutely no need to write a new kernel for Windows - the problems with Windows lie in userland, not kernelland. While the authenticity of the Shipping Seven blog is not undisputed, the blogger makes some very excellent points regarding the kernel matter.
Thread beginning with comment 316433
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[7]: Comment by FunkyELF
by ashigabou on Sun 1st Jun 2008 05:34 UTC in reply to "RE[6]: Comment by FunkyELF"
ashigabou
Member since:
2005-11-11

But should the explorer hang as well due to that particular misbehaving driver?


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.

Reply Parent Bookmark Score: 1

PlatformAgnostic Member since:
2006-01-02

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.

Reply Parent Bookmark Score: 2