Posted By: Charles | Sep 29th, 2006 @ 2:25 PM | 76,405 Views | 24 Comments

From the kernel to the shell, Windows Vista is a very different OS than XPSP2. How so?

Here, Charles interviews Architect Narayanan Ganapathy whose team of highly skilled engineers write the Windows IO system, driver frameworks and related technologies. So, what, exactly, is new in Windows Vista with regard to IO? What does it mean, exactly,  to users and developers?

Tune in. Learn.

Media Downloads:
Rating:
0
0
ZippyV
ZippyV
Fired Up
I know Windows is not a realtime os but why does it have the 'realtime' thread priority? When and why should this priority ever be used?
ZippyV wrote:
I know Windows is not a realtime os but why does it have the 'realtime' thread priority? When and why should this priority ever be used?


I've also seen it called "critical" priority. I think it's basically saying "this isn't realtime but its as close as you're going to get."
From the video: "Vista the most advanced general purpose OS"!? I really don't think so, please look at the market!!!!!
littleguru
littleguru
<3 Seattle
Nice video. It's great to see that the hungs (because of IO) are finally targeted!

I'll second that about the hung I/O, it’s so incredibly annoying when you click a cancel button and nothing happens! It’s just unfortunate that in order to use it you would have to throw away XP compatibility but in a few years when everyone is using vista this shouldn’t be a problem.

As far as user mode drivers, I've moaned about this before but understand that as Charles says for an input device its really not going to matter and will improve stability etc. It’s not going to matter for your mp3 player because presumably you’re only going to upload a few files to your iPod etc and then close the tool so CPU usage here is irrelevant.

If on the other hand I am playing a game and I want to write stuff out to the display then I really want that to be as fast as possible. Any more CPU power I get including more cores etc I want that devoted to the game and not to drivers. Take Alan wake for example, its going to use four cores.

I can definitely see the argument for reliability over speed for business use, you would rather have all user modes there but in a gaming environment I would rather spend time buying hardware that I know has solid kernel mode drivers and then get the speed. Maybe two versions of the OS are required, one for gaming that is streamlined to have less background services e.g. no indexing etc, basically the gaming OS would be streamlined to run one game as fast as possible (like the Xbox and 360 OS's). You could then have a business version with all the great features mentioned in the video. With the coming of hardware virtualisation (run both versions at the same time) and more and more people having many machines in the home maybe this won’t be an issue in times to come.

Anyway enough of my rambling thanks for the interview Smiley

There are many scenarios and some of them are given in the "Inside Windows" book. For example, many critical system threads run at real time priorities. Using these priorities require "increase scheduling priority" privilege.

For further details I would recommend the "Inside Windows" book.
earnshaw
earnshaw
Jack Sleeps
Thanks very much to Nar for the excellent discussion.  I was thinking how Channel 9 audio could be improved:  wireless mic.  The interviewee clips on a wireless mic.   It is a radio transmitter.  Charles runs a radio receiver which plugs into the video camera.  Then, instead of picking up the speaker's voice plus all the ambient noise and echo, we hear the speaker's voice by itself.  And the speaker can wander about the room and talk at the same time without losing a syllable.  Eh? 
I'd like to see how performance is given up when using user mode drivers compared to kernel in gaming, and in general usage.
staceyw
staceyw
Before C# there was darkness...
Great.  Thanks Nar and Charles.  I heard the CancelSyncIO call, is there a CancelAsyncIO api also?
Microsoft Communities