Microsoft’s Professional Developers Conference might be over, but that doesn’t mean news about Windows 7 suddenly stops coming in. We have news for you on the elusive MinWin kernel, which created a sort of crazy hype a year ago, and Rafael Rivera found a way to enable the new taskbar on the pre-beta build handed out to PDC attendees. This build, carrying number 6801, didn’t have the latest taskbar revamp – you needed a newer build for that, build 6933, which hasn’t been released to the public.
Let’s start with MinWin. According to a presentation by Microsoft’s Eric Traut, it was a stripped down, bare metal version of Windows NT, upon which future versions of Windows would be built. People were all excited about this one, but anyone with a bit of knowledge on various kernels knows that Windows NT is a pretty decent kernel, and it should not have been a major effort for Microsoft to strip Windows NT to its core. The NT kernel is what some call a hybrid kernel – it’s not a microkernel, but it is laid out as one. It’s componetised, and you can move these components in and out kernel land if you want to, with relatively minimal effort. Microsoft showed this agility with Windows Vista, where certain subsystems were moved out of kernel land into user land. In fact, Microsoft promotes driver writers to write user land drivers, to prevent stability issues.
You’d think that the MinWin hype would die down, that it would lose its appeal. However, it still seems to appeal to a lot of people as if it’s some sort of gift from God. In a talk on Channel 9, NT kernel guru Mark Russinovich confirmed what Eric Traut had already said a year ago: MinWin is part of Windows 7. He also explained what MinWin is: a stripped down, bare metal NT kernel. Microsoft looked at calls made by the kernel towards higher items on the dependency stack, and re-arranged parts of the kernel to eliminate these calls, and make sure the small kernel could run on its own.
Look at it this way. On top of the inverted pyramid is Windows-proper. It has everything – all the bells and whistles. Then comes Server Core. This is what’s left after Windows-proper had all the stuff cut out that was not needed for the various server roles that ship with Windows Server. The problem with Server Core, however, is that the cutting isn’t exactly a very pretty process – it leaves all sorts of dependencies unanswered. If you were to take a regular Windows application, and tried to run in on Sever Core, and it would make a call to something that has been cut out, it would fail.
So, somewhere between Windows-proper and Server Core, there’s a cutting line. In order to prevent this cutting line from moving around between Windows releases (due to APIs coming and going, for instance), Microsoft created MinWin. MinWin is the result of a project within Microsoft that mapped the dependencies in Windows in a layer graph. The goal is to make sure that calls happen only from layer x to layer x-1 – not from layer x to x+1. They achieved this by moving APIs around. Now, MinWin is the place where no calls are made upwards. It’s an isolated, bootable kernel that can be used for testing purposes, and it can be built separately from the rest of Windows.
Russinovich calls it “Cutler’s NT”, referencing Dave Cutler, the man behind the NT kernel. It contains the NT kernel, the executive subsystems, the memory manager, networking, and optional file system drivers. MinWin allows Microsoft to make changes within the very core of Windows without affecting the rest of the Windows tree (Russinovich emphasises, though, that the changes made do not affect (driver) compatibility – all Vista drivers will work on Windows 7). What MinWin isn’t, is some sort of enhanced NT kernel. It is the NT kernel.
The work on eliminating upward calls is still in full swing, according to Russinovich. The talk also details a lot of other very interesting low-level, core improvements, such as increased processor support (256 processors) and lots of other things. Definitely recommended.
The new taskbar
The new taskbar, demonstrated during PDC, was not part of the build handed out during PDC. However, as it turns out, a slightly botched variant is part of the PDC build – you just need to activate it.
Although a newer-looking Taskbar is present, it’s not exactly what you saw at PDC ’08. For example, the Quicklaunch toolbar still exists, Aero Peek doesn’t work properly, and Jumplists are stale. This is likely why it wasn’t enabled, out of the box, so set your expectations accordingly.
Just so you know.