MinWin — the core of the Windows operating system — is, indeed, in Windows 7. It’s just not part of it in the way many people (including yours truly) initially assumed.
Technical Fellow Mark Russinovich, who detailed via a Channel 9 Webcast last week how Windows 7 would run on up to 256 processors, tackled yet again the MinWin bugaboo during that same episode.
(I say “bugaboo” because ever since Microsoft officials first discussed MinWin, there’s been confusion over whether it would be part of Windows 7 and Windows Server 2008 R2. Nervous about setting off customers’ alarm bells around more low-level changes to Windows, like happened with Vista, the Microsoft brass have been repeating that Windows 7’s kernel won’t deviate from Vista’s, so all drivers and apps that work on Vista should work on 7.)
What, exactly, is MinWin? That’s been another thorny issue that Microsoft execs have been reticent to detangle. After listening to Russinovich, here’s my best attempt at explaining the concept:
MinWin is the core of Windows, but it is not the same as Windows Server Core. If you could “cut” Windows and shuffle around some application programming interfaces (APIs) so that it would be a standalone, bootable, testable mini OS, MinWin is what it would look like. It’s the heart of Windows, organized in a way so that none of the included parts has any dependencies on anything outside of MinWin.
As Russinovich noted, MinWin includes some kernel interfaces, but it is not simply the Windows kernel. Some part of the kernel32 implementation didn’t belong in MinWin, he said. After tinkering with what did/didn’t belong, the team ended up layering kernel32 on top of the Windows kernel base, he said.
Russinovich described MinWin as the bottom-most part of Windows. He also called it “Cutler’s NT,” meaning the core Windows operating system as developed by Microsoft Technical Fellow Dave Cutler. MinWin is about 25 MB on disk, he said. It includes the executive subsystem, networking components and possibly file-system drivers (which sound like they are optional).
In the October 28 Webcast, Russinovich makes no bones about it: MinWin is part of the Windows 7 source code tree. He said that MinWin had just been loaded into the Windows 7 build tree.
What I’m still not 100 percent clear on: Will MinWin ship to customers as part of Windows 7 and Windows Server 2008? (Could it be “in” the bits, but not turned on — kind of like the “Superbar” that is actually in the M3 pre-beta that Professional Developer Conference attendees got and blogger Rafael Rivera found a way to expose?) Or is MinWin simply an internal tool for Microsoft’s developers to use in designing future versions of Windows, which Microsoft is hoping to make more streamlined and less onerous to build?
“Now we can innovate in MinWin,” Russinovich said during the aforementioned Webcast, with no further explanation of how/when/where.
By “cleaning up” Windows by making the “layers” of the operating system more distinct and less interdependent, Microsoft is paving the way for being able to switch out parts of the operating system. Remember: RedHawk/MinSafe (a project in which Russinovich is involved) is about decoupling Win32 from Windows and replacing it with managed code.