Linked by Thom Holwerda on Mon 19th Sep 2005 20:33 UTC
Windows In previous Windows releases, the entire audio stack ran in Kernel space. Vista will put an end to this. "The first (and biggest) change we made was to move the entire audio stack out of the kernel and into user mode. Pre-Vista, the audio stack lived in a bunch of different kernel mode device drivers, including sysaudio.sys, kmixer.sys, wdmaud.sys, redbook.sys, etc. In Vista and beyond, the only kernel mode drivers for audio are the actual audio drivers (and portcls.sys, the high level audio port driver)."
Thread beginning with comment 33703
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: BAD idea
by on Mon 19th Sep 2005 23:14 UTC in reply to "BAD idea"

Member since:

It's funny, but what Microsoft is doing with Vista is what BeOS has been doing for a long time. In BeOS, the typical way to do things is to have a very low-level driver, and then use accelerants in userspace to do all the higher level processing. This is done for sound drivers, network drivers, video drivers, and most other types of drivers, too, in BeOS. While the old NetServer being all in userspace except for the lowest level driver blowing chunks for throughput, it seems this model of operation has worked quite well for BeOS, so it isn't beyond possibility that Microsoft may be able to make this worthwhile.

Reply Parent Score: 2

RE[2]: BAD idea
by diegocg on Mon 19th Sep 2005 23:44 in reply to "RE: BAD idea"
diegocg Member since:

"In BeOS, the typical way to do things is to have a very low-level driver, and then use accelerants in userspace to do all the higher level processing"

This is done for pretty much every OS out there - linux certainly does it except in some places like the tcp/ip stack. Look at libusb for example: USB drivers in userspace.'s DRI....this is a "put policy in userspace" kind of design, it's not beos or microsoft who invented it.

Reply Parent Score: 1

RE[3]: BAD idea
by on Tue 20th Sep 2005 01:16 in reply to "RE[2]: BAD idea"
Member since:

Never once did I reference anything that stated BeOS (or any other OS, for that matter) was the first to do it: I used BeOS as a great example of a system that not only has done what Vista is supposed to do, but blows other platforms (including Linux) out of the water with low latencies for sound.

That being said, it'll be interesting to see if Microsoft has changed things enough to make interrupt handling have less overhead than the last time I looked at writing device drivers, where the driver model included a lot of deferred procedure calls at different interrupt levels. In comparison, BeOS has a much simpler driver model, much closer to the typical Unix-ish driver model. Which model is better, and in which circumstances? Well... let's let reality make itself evident there ;)

Reply Parent Score: 0