Q&A: Windows Server 2003 kernel guru

INTERVIEW
At the Microsoft Server 2003 launch in London this week, ZDNet interviewed Rob Short, the vice-president of Windows Core Technology. Responsible for the overall engineering and management of the Windows kernel, Short talked about what makes Server 2003 different from previous Windows products, where Unix and Linux still have the advantage, hackers, application compatibility, performance and security. ZDNet UK: Is it fair to say Windows Server 2003 is just XP with the .NET storage extensions bolted on?
Short: No, that's not accurate. It's true that the core of windows is the same, many parts of the system are very similar across the two products. But a year and a half, two years ago we were looking at the constant problems we were having with security and hacks. The level of maliciousness of the hacks was getting frightening. We stopped all other work. We got the architecture people to look at each part of the code, and work out how would people attack it, and based on that tried to reduce the surface area, what's the exposed part of the product, the ways the system was listening to the network. That was the top priority, especially as we were creating new things. We spent a lot of time understanding how IIS (Internet Information Services) was managed, and there are a lot fewer ways to do that now. Each of the new components have well defined threat models analysed by security experts. The older ones have a lot turned off by default so that administrators are aware of what's running in the system. And then if we move down a level, at the same time that we were doing the architecture review we took eight or ten of our best coding people and sent them off to go and be hackers. One person I have working for me actually used to be a hacker -- he's British -- and we persuaded him there was a career to be had. We took a whole bunch of these people and made them hackers. We had them hack the system. We took the people who were responsible for each component and we did design reviews and code reviews. We created a whole book of common coding problems that lead to security errors, and we took every piece of code in the system and compared them against those rules. We created tools that run across the code and understand almost all the attacks. Microsoft Research built a tool that can find almost all the buffer overflow problems, and compilers added a bunch of checking. So we've done stuff right across everything. At the very top level it's the same -- the administrator of the system controls the passwords, what accounts are available and so on. The more locks you put on something, the harder it is to use, the more inclined someone is to leave it unlocked. You have to watch the balance between keeping it very tightly locked down and -- will people use it? But we took every single person who worked on the product, development and management teams, and had them look at the security from top to bottom. We're still finding issues. But all of the newer code has got to be ten or a hundred times better. How do you see the patch rate changing?
Right now the patch rate is still high. We're doing a number of things. We're looking at the patches. A lot of times we look at an attack and we look at all the rest of the code across the system to see if the attack applies elsewhere. We've built a patch mechanism in 2003 that will be shipped externally. We'll be able to patch probably two thirds of the components without shutting the system down. That's an area where the Unix guys are ahead of us, because of the way they do redirection -- they can patch a file and then change the symbolic link. That's an area where we've got a problem, and we'll fix it in the near future when possible. How many applications will transfer over from NT4 or 2000?
We had a very high goal, but what happened to the goal was that we ran into security problems. We added a lot of changes in the system so that the applications couldn't interfere with each other or the operating system. I'm not sure what the exact number is for taking an NT4 application and running it -- it's in the high 60 percent. It's not 90. The ones that people make themselves tend to be better than the larger, all-encompassing applications. We've tested literally thousands of applications. There's an enormous list you can look at to see what on your particular application you might have to change. Most of the problems we've seen have been security related. There are some issues with the IIS redesign, but most of the time, if the application is following the rules then it will run. But I must admit the rules haven't been well publicised. You pushed some of the IIS into the kernel, didn't you?
We have what we call a listener, an HTTP handler that we pushed into the kernel. We were looking at how to improve performance. Requests come in and go all the way through the networking and back into user mode where they're handed off. There is a huge amount of the web traffic that you can respond to very quickly without having to have a user mode. So there's HTTP.SYS, a driver that runs in kernel mode and responds in ways that are very well understood, with some parsing and quite a bit of caching, and it handles sessions and it's a huge performance win. Personally, I'm against shoving things into the kernel. That was a very careful decision. We have a lot of parsing in there, and that opens you up to buffer overruns and attacks. The amount of scrutiny that code has got is just plain ugly. Anything that gets it confused gets shoved straight back up. What's happened to the file system?
There are two things. We spent a lot of time on performance. We created the SMB file server specs, and we didn't have the fastest one around, which was embarrassing. So we took our performance team and said "your mission is to make ours twice as fast as this other one on the market." We've actually done that. So there's a huge performance increase. Most of those are the type of changes in separating the different file streams from each other deeper down in the system so you get more parallelism it works better on a parallel system. We've drastically improved the performance on Checkdisk. The transaction file system lets you make a transaction across a collection of file changes. We've added shadowing, so you can take a snapshot of something at a point in time and make a backup on the fly. We've done things to the IO subsystem, with tighter integration between a RAID subsystem and caching. How about the registry?
We've added more caching to the registry access, and we pulled apart the locking which is one of the areas of the system we spent a lot of time on trying to improve so it'll run on very large systems, Itanium 64 bit systems and so on, we see a lot of lock contention. So right through the kernel and the IO system we pulled a lot of the locks apart. And the registry, we pushed the locks up a little bit. So the locking is finer grained. Why is there no command line only version?
We're looking longer term to see what can be done, looking at the layers and what's available at each layer and how do we make it much closer to the thing the Linux guys have -- having only the pieces you want running. That's something Linux has that's ahead of us, but we're looking at it. We will have a command line-only version, but whether it'll have all the features in is another matter. A lot of the tools depend on having the graphical interface. Printing, for example, requires all the graphics subsystems because we have the "what you see is what you get" model. You need to have the whole of the display stuff to render it. It's a very tangled subsystem. Are we going back towards two product lines again, with 2003 and XP taking the place of NT and Windows 9X?
They're much more compatible, they're created from the same code base. It's the same application interface, except that the server is extended. The same drivers work in both. Looking from underneath or above, they're the same. That's what we're trying to do, and it certainly wasn't the case with NT and 9X. The embedded product will be built from the same code base. We're moving towards building what we like from a common set of components. It looks really good on PowerPoint! Reality is never quite as good.
See the Windows News Section for the latest news, reviews and briefing papers on everything from Windows NT and 95 to service pack releases for XP. Let the editors know what you think in the Mailroom.

Post your comment

In order to post a comment you need to be registered and logged in.

You can also log in with Facebook. Log in or create your ZDNet UK account below

  • Login

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy. Questions about membership? Find the answers in the Community FAQ

Get ZDNet UK's daily newsletter

Enter your email address to sign up

ZDNet UK Live

UnderINK

I agree with the previous commenter wholeheartedly. I couldn't say it better myself. This is very 'Big Brother'. And while I agree with protecting...

2 hours ago by UnderINK on European e-identity plan to be unveiled this month
Simon Bisson and Mary Branscombe

Nice to see that Turing's idea of a general purpose computer doing once-hardware-powered tasks in software is now universal ;-) Mary

7 hours ago by Simon Bisson and Mary Branscombe on Software with everything
Jason Burchell

seriously now. I've only bothered to read a small bit of the comments. do me and the rest of the world a favour. stop saying it does not work or...

11 hours ago by Jason Burchell via Facebook on Music industry negotiating over 24-bit downloads
Philip Charles Cohen

Read about it and weep, John Donahoe ... In addition to Visa’s V.me, there is now MasterCard’s PayPass digital wallet soon to arrive; another...

15 hours ago by Philip Charles Cohen via Facebook on PayPal takes phone-based payments to the high street
apexwm

Leslie Satenstein : Where have you ever seen Mozilla even mention this? Firefox is the most popular browser in the GNU/Linux OS, so I don't see...

16 hours ago by apexwm on Firefox rapid release improves Fedora Linux
songmaster

SHleG: Do you remember building a clockwork scorpion kit (I'm pretty sure I have a photo of it somewhere) — I think it was called something like...

18 hours ago by songmaster on Software with everything
Chris Wortman

Good I love Yahoo! Their search engine is getting better than Google as of late. I find more of what I want on the first page, and usually within...

18 hours ago by Chris Wortman via Facebook on Linux Mint 13 ramps up for KDE release
PatrickG

openhgs has made the point for Windows 8 multiple monitors without realising it! With Windows 7 you have to switch the mouse and so your focus...

20 hours ago by PatrickG on Windows 8 could speed multi-monitor uptake
Leslie Satenstein

Mozilla has threatened to stop supporting Linux. I guess that UBUNTU is going with another browser. I indicated that if Mozilla stops supporting...

21 hours ago by Leslie Satenstein via Facebook on Firefox rapid release improves Fedora Linux
Andy Bolstridge

Much as I abhor Microsoft's licensing practices, this is almost certainly down to purchasing IT equipment via 3rd party consultants - you get the...

22 hours ago by Andy Bolstridge via Facebook on 6 million wasted licences and £1,200 PCs: welcome to government IT
Jack Schofield

@openhgs Windows users have had multiple desktops since Linus started writing Linux. They just haven't shipped as standard because not enough...

2 days ago by Jack Schofield on Windows 8 could speed multi-monitor uptake
Jack Schofield

@Phil at Cloud4 What, Microsoft gets £1,200 per PC and £1,622 per server? Gosh, I'm amazed....

2 days ago by Jack Schofield on 6 million wasted licences and £1,200 PCs: welcome to government IT
craigsc

You guys have no idea what is going on at Autonomy. Autonomy could have been a much more profitable organization. The sales operations at Autonomy...

2 days ago by craigsc on HP cuts 27,000 staff as Autonomy chief Lynch leaves
Moley

How does this impact on dual or multi booting? Seems to me to more or less prohibit this, from Windows 8 anyway. Will Grub 2 recognise Windows 8,...

2 days ago by Moley on Windows 8 start-up speed forces USB boot workaround
apexwm

I don't understand why there cannot be a slight pause during the boot process so the user can press a key. Many operating systems do this, even if...

2 days ago by apexwm on Windows 8 start-up speed forces USB boot workaround
Gavin Goodman

You can now buy the Xi3 modular computer in the UK at http://www.ocdistribution.com . This can be bought with the Tand3m software, pricing and...

2 days ago by Gavin Goodman on CES 2012: Xi3 microSERV3R
Phil at Cloud4

I agree: Mike Lynch can clearly build a business and manage strategy. I suspect the exit of Mike is more likely the end of a planned handover...

2 days ago by Phil at Cloud4 on HP cuts 27,000 staff as Autonomy chief Lynch leaves
Phil at Cloud4

This is unbeleivable government wastage with only one winner... Microsoft 1 - Tax payer Nil!

2 days ago by Phil at Cloud4 on 6 million wasted licences and £1,200 PCs: welcome to government IT
Mispam

So what do you do when you can't boot into windows? Why can't I just hold Shift while I power up instead of having to boot into windows and click a...

2 days ago by Mispam on Windows 8 start-up speed forces USB boot workaround
apexwm

I've also seen that Mac OS X for Intel machines is supposed to run in VirtualBox, which would also be a nice solution. I've never tried it though.

2 days ago by apexwm on xTreme Triple Booting: Linux, Mac & Windows