Urbana (IL) - Eric Traut, a distinguished Microsoft engineer, was on hand last week to give a preview of upcoming virtualization techniques, hypervisors and the like. However, one of the more interesting aspects of the presentation was a short segment on Windows 7, the next generation of Windows (after Vista). The demo showed a slimmed down core operating system without graphics, one using only 33 MB of memory.
MinWin is an internal name Microsoft is using to describe this tiny kernel. One of Traut’s goals in the presentation was to demonstrate that the bloat commonly associated with Windows, and rightly so, according to Traut, is not necessary. Windows can function with a much smaller kernel, and function well.
The presentation install of MinWin contained approximately 100 files and was running a simple HTTP server inside a Virtual PC instance. Traut said, "compare that to the normal 5,000". The host OS, which was Microsoft Vista, was able to use Internet Explorer to communicate with the MinWin server. The main page had three links on it and from there Traut could get a file listing, show running processes, and give a summary of how much memory was being used. All told the machine was given 40 MB of memory as a Virtual PC setting, and it had 7 MB free after booting up and hosting the web server.
Perhaps one of the more interesting comments was that Traut said, "It’s not as small as I’d like to see it yet," implying that it could be made smaller. In fact, he indicated that a core operating system very similar to this MinWin version, which is currently only used internally within Microsoft, is at the heart of Windows Media Center, server operating systems, even mobile products.
Traut did point out that the minimal OS as it sits is not suitable for running real applications. It was able to run the special HTTP server, but nothing else as it does not have standard libraries and the other software foundations which give Microsoft’s operating systems their power and flexibility. Traut did say, however, that a 1.5 GB version of a server OS which usese this same core was available. And while not quite as impressive as the 33 MB bootup, the reality is with that version any kind of dynamic content could be hosted.
Sporadic reports of minimal Windows XP installs have been seen on popular sites like Digg.com over the years. Some of those have dipped down into the teen-megabyte range. These are the reverse of slipstream installs, which take the original Windows install and add service pack updates to create a new install disc of the same OS version, but with the service pack updates immediately applied when installed from the CD. In the case of these minimal installs, unnecessary files are stripped away wherever possible, not just replaced. The enthusiasts engaging in these kinds of minimal XP installs were able to determine that for a particular kind of base usability, only certain files are required. This may very well be what Traut is showing us here, albeit in a more official capacity as this MinWin version comes directly from Microsoft and is used by them.
Booting a Windows based operating system into 33 MB of RAM is a significant feat. Just now I checked my Windows XP instance running in VMware Server and two separate instances of iexplorer.exe alone were each consuming over 55 MB. Several other network service files were consuming over 10 MB each. All told, my VMware install of Windows XP was using 220 MB of memory. A considerably larger amount than MinWin.
Traut said the MinWin core is tight, efficient, solid and a version of it is being used in Windows Server 2008. Windows 7 is the internal codename for the next version of Windows after Vista, which was the 6th iteration of Windows. In the brief video presentation, Traut gives a demonstration of what previous versions of Windows looked like, all the way back to Windows 1.0, which could not even recognize a mouse or arrow keys.
Windows 7 will not be the final name for any products based on this MinWin core. Traut was very specific that the purpose of the demonstration was to show that the core of Windows is very small. Much smaller than the drivers and other software layers which operate above the base kernel. Who would’ve thought a modern Windows kernel core could boot up and run a small HTTP server in 33 MB ?