WinInfo Daily News  |  Windows IT Pro
Paul Thurrott's SuperSite for Windows
HomeSuperSite BlogWindows Weekly PodcastWindows Vista Secrets SP1 EditionWindows 7Windows VistaWindows Servers, Platforms, and StrategyMicrosoft's Live ServicesMicrosoft's Live ServicesZuneXbox 360 and video gamesAlt.Windows: Microsoft's competition Contact Paul ThurrottWhat I Use

 

Windows 7: Microsoft's New MinWin Kernel Not So New

 
 
If you follow tech news at all, you may have seen reports recently that Microsoft is preparing a leaner new kernel for the next major Windows release, codenamed Windows 7. Dubbed MinWin, this new kernel is notable for a few reasons. First, it's the first major bit of actual news about Windows 7 yet revealed. And second, it suggests that Microsoft is preparing to push Windows into even more markets, since the current version of this kernel can run in as little as 40 MB of memory.

It sounds really interesting. There's just one problem: MinWin isn't new. And if you're running Windows Vista or a pre-release version of Windows Server 2008, you're already using this technology. In fact, it's the basis for Microsoft's componentization work on both of those OSes.

I first wrote about MinWin way back in May 2003, in an article describing how Microsoft was componentizing Longhorn, the project that went on to become Windows Vista. MinWin, I wrote, was "the base OS" component of Longhorn. "This base OS component is completely language independent and is a subset of all of the editions of Longhorn Microsoft will create. Thus, Microsoft and its hardware partners will be able to use this base OS to create actual Longhorn editions (referred to as Longhorn 'SKUs' after a retailing term); at this time it appears that IT administrators (and individuals, naturally), will not be able to perform this feat, but will rather license specific Windows SKUs and go from there." That is, of course, exactly what happened: Microsoft used MinWin and Vista's componentized base to create a record number of Vista product versions. (I also previously wrote about MinWin here and here.)

In early versions of Longhorn Server, which went on to become Windows 2008, MinWin was called Server Foundation, but it was later renamed to Server Core, which I assume is a name you're familiar with. In a 2005 article about Longhorn Server, I wrote that Server Foundation (MinWin) was a core server OS component that would provide minimal server OS functionality and be used as the basic building block for job-specific server implementations and even other Longhorn Server editions. Server Foundation would be extended with a number of server roles that add functionality to the base component. This too, is exactly what happened.

So why all the excitement about MinWin now? In late October 2007, Microsoft Distinguished Engineer Eric Traut appeared in an online presentation in which he discussed Microsoft's work on MinWin for Windows 7. "A lot of people think of Windows as this really large, bloated operating system, and that may be a fair characterization," he said. Noting that a full Vista install image takes up over 4 GB on disk, MinWin, by comparison, was a tiny 25 MB, and Microsoft is working to make it even smaller. This touched off articles by every tech news agency on earth, all excited to finally have something about Windows 7 they could write about.

They should have Googled the term first. Obviously, the Windows 7 version of MinWin is enhanced over the work Microsoft did with Vista and Windows 2008, but suggesting that it's completely different is disingenuous. Not doing even an iota of research about a topic, however, is perhaps even worse.

But wait, there's more

Microsoft technical fellow Mark Russinovich emailed me to address my comments about about MinWin and let me know that the MinWin efforts on Windows 7 are "the first step to layer the system from a dependency perspective and isolate pieces in their own build trees" and is thus somehow different from the MinWin efforts on Longhorn (Windows Vista and Windows Server 2008). To me, this MinWin description sounds identical to the way Windows 2008 was developed, a process I outline in great detail in Inside Windows Server 2008.

Here's a short excerpt:

Microsoft has restructured the build process for Windows 2008 so that it, like the product itself, is more compartmentalized. There is a main OS build every day, as with previous product versions, but the process of getting revisions into that main build is far more granular than before ... Because of the componentization of the development process with Windows 2008, the ship room strategy has changed since Windows 2003 as well. "It's more evolved now," Alex Hinrichs, the Windows 2008 project manager, said. "We don't just have the main ship room. Now we also have seven distributed ship rooms, run by people who meet with the people checking in code below them. They all have daily meetings, as does the main ship room. The main ship room's agenda is simple: Who in the seven distributed ship rooms is ready to bring code up [the tree into the main build]?"

In other words, Windows 2008 appears to be built in exactly the way as described by Russinovich above: Code is added only to the main OS build when the dependency problems in isolated sub-components have been resolved in one of the sub-build trees.

So are these really two completely different technologies? Microsoft may argue otherwise, and certainly Russinovich has the insider's view, but the names are the same, the goals are the same, and the descriptions and functions are almost identical. I'm not saying they're exactly the same, but my guess as an outside looking in is that the MinWin work in Windows 7 is a continuation of work that started in the Longhorn project.

December 2007 update: Russinovich discusses MinWin again

Microsoft this week released a Channel 9 video featuring Microsoft Fellow Marc Russinovich, who continues his argument that the MinWin feature previously revealed for Windows 7 is somehow a completely different from the MinWin work that first occurred in Windows Vista and resulted in the Server Core feature in Windows Server 2008. Microsoft has been working on componentizing Windows for years, and finally achieved that goal with Vista. In subsequent releases, including Windows Server 2008 and Windows 7, that work is being continued and refined. But Russinovich continues to maintain that MinWin/Vista, Server Core/Win2008, and MinWin/7 are completely different. Frankly, he would know: Russinovich, aside from being one of the smartest people in the world, has more knowledge of Windows internals than anyone.

So I was hoping that this Channel 9 video would shed new light on his contention that MinWin/7 is, in fact, completely different from MinWin/Vista and Windows Server 2008's Server Core feature. Unfortunately he doesn't supply any new information.

Here are his arguments in a nutshell. If you want to follow along in the video, dive in at about 13:00.

1. The name usage is coincidental. "It's kind of unfortunate that the name MinWin was used with Server Core [which it wasn't actually; it was first used with Vista --Paul]," Russinovich says. "So a lot of people, when they heard 'MinWin,' thought, oh, that's the basis for Server Core. Actually, the MinWin we're talking about today is tot--, something pretty different." Note how he catches himself there.

2. Server Core is much bigger than Windows 7's MinWin. Server Core is 1.2 GB in size, a "pretty big chunk," as he says. MinWin/7 as we know, will be much smaller. Thus these two things are completely different.

3. Its all semantics. People use the word "kernel" to mean different things, which confuses matters. "When I say kernel/MinWin, what I'm saying is that the kernel is NTOS kernel, the core of Windows that runs in kernel mode," Russinovich says. "It's got a lot of support components around it ... That includes some system level stuff. There's no windowing manager ... inside of MinWin. With Server Core, they're really just snipped those lines with a scissor basically where you still bring it in but nothing you're doing will ever exercise those lines going out. It's OK." So... In Server Core, one might say that Microsoft went to a certain length to separate the core of the OS from the supporting components. In Windows 7, the company will go further in isolating these components.

Here's the thing. As has always been the case, Russinovich's description of MinWin/7 sounds substantially, no, exactly, like the work Microsoft did with MinWin/Vista and Server, just evolved to new but recognizable heights: "Analyze the dependencies and carve out the lowest, smallest core component of Windows, that would be a standalone, testable slice of Windows, and that--analyzing the dependencies, cutting the lines, the cycles, from MinWin to higher level components, making sure that MinWin doesn't depend on anything else, that it's totally self-contained. It can be built separately from the rest of Windows and run independently."

I'm sorry, really. But that does sounds like Server Core. It sounds like an evolution of what came before, which is the way I've always described this. What this all boils down to, really, is semantics. Microsoft began work on something called MinWin several years ago. The goal was to isolate the core of Windows from its non-constituent sub-components so that the Windows OS could be componentized. That work can be seen today in Vista's image-based installation scheme and in Windows Server 2008's Server Core. And it appears to be evolving for Windows 7. From what I can see, the story hasn't changed at all.

Portions this article first appeared in the October 23, 2007 and October 30, 2007 issues of Windows IT Pro UPDATE. --Paul

--Paul Thurrott
October 22-30, 2007
New content added December 17, 2007

 


December 2007 Update

I've added a new section to this article to address a December 2007 Channel 9 video starring Microsoft Fellow Mark Russinovich.


Related Reading: Windows 7

Windows 7 FAQ: Pricing Info
Win7 Product Editions Comparison
Windows 7 Pricing
Windows 7 Build 7232 Screens
Windows 7 vs. Snow Leopard
Windows 7: The New NT?
Windows 7 FAQ: RTM/GA Info
Windows 7 Starter
Windows 7: Windows Touch
Feature Focus: Scenic Ribbon
Windows 7 Build 7127 Screens

Release Candidate
Upgrading to Windows 7
Windows XP Mode Beta
Windows XP Mode Preview
Windows 7 FAQ: RC Update
Windows 7 RC Review
Feature Focus: Aero Themes
Win7 Product Editions Comparison
Win7 Professional RC Screens
Win7 Home Premium RC Screens
Win7 Home Basic RC Screens
Windows 7 Starter RC Screens
XP Mode for Windows 7 Screens
Revealing XP Mode for Windows 7
Windows 7 RC Interactive Setup
Windows 7 RC Screenshots

Post-Beta
Windows 7 Build 7106 Screens
MED-V Now Available
FF: Windows Live Essentials
Windows 7 Build 7077 Screens
Win7 Product Editions Comparison
Windows 7 Build 7068 Screens
Rescue Me: Win7 Compatibility
More Win7 Build 7057 Screens
Windows 7 Build 7057 Screens
Feature Focus: Guest Mode
Windows 7: Choice is Good
Windows 7 Build 7048 Notes
Windows 7 RC Preview
Feature Focus: BitLocker To Go
Windows 7 Build 7048 Screens
Windows 7 Build 7032 Screens
Windows 7 Business Deployment
Feature Focus: Taskbar
Windows 7 Build 7022 Screens

Beta
FF: Windows Anytime Upgrade
Shipping Seven Part 6
Feature Focus: Calculator
Windows 7 Product Editions
FF: Windows Experience Index
Feature Focus: Windows Gadgets
FF: Styles & Desktop Slide Shows
Feature Focus: Action Center
Feature Focus: Aero Shake
Windows 7 Beta for Businesses
Windows 7 Beta Availability
Windows 7 Beta Compatibility
Windows 7 Play To
Windows 7 Device Stage
Windows 7 Beta Notes
Windows 7 Beta Review
Windows 7 Beta Screens

Pre-Beta
Shipping Seven Part 5
Windows 7 Build 6956 Screens
Feature Focus: Aero Snaps
Feature Focus: Aero Peek
Windows 7 Build 69xx Screens
Windows 7: Simple vs. Easy
Windows 7 Feature Focus
Windows 7 M3 Install Screens
Windows 7 Preview
Windows 7 Preview, Part 2
Windows 7 Preview, Part 3
Windows 7 Preview, Part 4
Windows 7 Preview, Part 5
Windows 7 M3 Screens
Here Comes Windows 7
Windows 7: What's In A Name?
Shipping Seven, Part 4
Windows 7: Too Soon?
Shipping Seven, Part 3
Windows 7 Multi-Touch Shots
Windows 7 Multi-Touch
Windows 7: Much Ado...
Shipping Seven, Part 2
Windows 7 Build 6519 Screens
Shipping Seven: An Ongoing...
Inside Windows 7 MinWin
Windows 7: MinWin Not So New
Windows 7 FAQ
Windows 7 on the SuperSite Blog


Got Windows Vista?

Check out my Windows Vista Activity Center for a cool front-end to all of the Windows Vista-related content I've created!