Microsoft confirms MinWin is in Windows 7, after all
Summary: 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.
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.
Readers: Anyone have new observations or insights on MinWin to share, given the latest brain dump by Russinovich?
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
Geee ......
Hey, you're turning green....with envy.
QDOS under the hood?
It's strange to think how Gates original purchase of QDOS from Tim Patterson in 1981 is still lurking in the Windows evolved DNA -- maybe not any actual code, but certainly conceptual design.
Dave Cutler's NT
Cutler's NT implies the kernel will be more Unix-like than you think.
References:
http://en.wikipedia.org/wiki/Dave_Cutler_(software_engineer)
http://en.wikipedia.org/wiki/VAX
http://en.wikipedia.org/wiki/Windows_NT_3.1
Re: Dave Cutler's NT
RSX-11A was a minimalist "Real Time System Executive". I remember working with it -- it took a while to understand how the drivers "registered" themselves rather than being built in. Truly innovative at the time.
I used it with one of my projects on a PDP-11.
In spite of its name, RSX-11A had no relationship to RSX-11B,C,D, or M.
I have a vague recollection that Dave also worked on RSX-11D, but forget in what role (the leader on RSX-11D was Hank Krejci).
When I saw (back in the 90's) that Dave was the senior architect on NT, I actually started to think MS would be a good system to work on. I switched after NT came out from Solaris/Ultrix systems and have been satisfied since (though the layers on top of NT have been, at times IMO, corrupted).
Regards,
Steve Deller
RE: Microsoft confirms MinWin is in Windows 7, after all
After watching the video last week as well, my take away was that the current incarnation of MinWin IS in the kernel plans for Windows 7.
That said, I took Mark's discussion to be that MinWin is as much a process as it is a thing. He refers many times to the fact that the NT kernel and all it's internal dependencies has gotten messy. Kernel's hate to be messy, it makes them hard to manage.
So I take Mark's discussion to mean that the kernel group has spent a LOT of time mapping and understanding how all of the different kernel parts reference one another and getting them layerd in an appropriate way so that they aren't constantly referring back to themselves in ways that might be unexpected or unanticipated.
In that respect it isn't all that different from Apple's OS X Darwin core: you can boot it and do several low level type things with it, but to anybody other than a kernel developer it's pretty worthless from a functionality standpoint. That's not to trivialize it, there is a LOT of technology baked into a kernel, it just takes other things higher in the stack to make it go.
Server Core on the other hand I took to not mess with the kernel very little if at all. Instead they wacked services and other behind the scenes bits to see if they could reduce the surface area of the OS and a set of specific applications. If you want to run a web server do you need Aero for instance? Clearly no (this is a trivial example of course), so they remove it from the build entirely. I take this to be a response on two fronts: one is defense in depth (i.e. smaller attack area = fewer attack vectors) as well as a response to Linux which has ALWAYS had a composable OS stack.
You're right
easier for the programmers are Microsoft which should
result in more robust updates, better compatibility, faster
updates and upgrades given that the fear of all hell
breaking lose somewhere else won't occur.
It is great that Microsoft have been willing to admit there is
a problem - and they've spent time to actually fix the
problem. If Windows 7 turns out to be as good as they
promised - its going to be a temptation to upgrade my
iMac and MacBook to a Thinkpad/ThinkCentre at the end
of next year/beginning of the following year.
MinWin is in Windows Vista as well in Windows 7 (same core of Vista)
RE: Microsoft confirms MinWin is in Windows 7, after all
Anyone who has worked with a large software project knows how complicated the interedependencies between modules can become. Windows is as big and as complicated as any. After a while, the original modularization of the code-base becomes so riddled with these complications that it's impossible to rebuild one module without also rebuilding many other seemingly unrelated modules. This becomes a huge burden both on compile times and also on isolating bugs.
What MinWin appears to be, from the interviews I've read, is a methodical attempt to refactor the modules in Windows from the ground up to have as few interdependencies as possible. It's not a major redesign of the kernel from a functional perspective, because it isn't changing how the code actually works. Rather, it's a major change in the way that the code is organized, such that the developers have a more logically stratified and quicker building code base to work with.
This isn't the sort of feature that one could enable with a registry hack. In fact, it's highly unlikely that even the most knowledgable end-user could identify whether or not they were running on a MinWin kernel or the old disorganized one. The impact is on the productivity of Microsoft's Windows developers and on the precision and universality that updates can be targeted to multiple platforms.
Defining MinWin
He also said it is now in the Windows 7 build tree. He didn't say whether it would ship to customers in some form when Win7 and Windows Server 2008 R2 ship.
My guess is that it might ship with Windows 7 but fail to be the core upon which Windows 7 is built. I wouldn't be surprised to see Windows 8 built on top of the MinWin core, however.... But that's just a pure guess on my part, given how far along Windows 7 is to being done....
Thanks for responding. mj
MinWin is not an edition of Windows, nor a product
Think about the various layers of Windows:
Your Apps
|
Win32
|
-----------
|
Kernel
|
Executive
|
HAL
The executive + HAL + a few select parts of the Kernel (i.e. networking, storage IO) essentially form the core of the OS' kernel.
MinWin is an engineering effort to remove dependencies from the minimal core of the OS to outerlying components.
Whilst dicing up the OS to make this OS core "elemental" and "indivisible", existing kernel components will still be able to find functionality that they depend upon in the same libraries (because the functionality still resides there or because they are forwarded to newly re-factored libraries).
MinWin, as it stands today as a refactoring of the core kernel, is not much use right now for anything outside of the core OS executive and kernel. However, it's likely that the MinWin effort will continue to slice and dice the OS up into more granular, well-defined, well-tested "chunks" that can be combined to create smaller, more efficient versions of the OS.
Absolutely Spot on
Minwin is actually a project, not a salable product. This is why Microsoft execs are reticent to make a big deal out of it. It is not something your can can put in a brochure otherwise it would go something like this:
"Windows 7 now includes Minwin where we have refactored the libraries, and removed some code duplication and interdependence on library code. The kernel has been reshaped so recommend you upgrade to Windows 7 as soon as possible"
What is going to sell them, is the statements"
"Windows 7 is now slimmer, faster, quicker to boot, and capable of running on any hardware that you are running Vista on now, and many late model machines running XP. Try our compatability centre and test your PC now"
No mention of MinWin, but based on information gleaned from various sources regarding speed and capability to run on devices that you may not have considered running Vista on, the Windows 7 product, does appear to have some of the changes/improvements contributed by the MinWin. It may not have all of the contributions from the MinWin project, which probably means more to come.
We can only wait and see, but I honestly believe that it is not a product but a project/baseline that they can build from. It had to be done, the current Windows design is unsustainable.
No use trying to explain
product that is going to ship. When the guy said that it is in
the Windows 7 tree, it means that the changes made re-
factoring it have been merged into the tree already. I don't
know why people here are jumping around doing high kicks
with pom-poms when it is pretty obvious that MinWin isn't
an actual product (nor will it ever be).
That's now obvious.
What's more interesting
shouldn't have parts of the bottom layer dependent on
things at the top - its completely illogical and counter
intuitive having parts at the bottom dependent on layers at
the top.
Hopefully once the movement is that each layer is only
dependent on the layer below then it should mean greater
flexibility to make changes without all hell breaking loose
somewhere else.
Hmm ...
OS7 Mac users have been there long ago :)
It brings back old school memories though. if I remember, that was the mac OS release that was supposed to include multitasking, although we had to wait for X for the "real thing".
Its there in the 6801 build
There are also several other new DLLs like secbase.dll, which appear to have come from a breakdown of advapi32.dll.
So MinWin is there, and I highly doubt there's any going back at this point.
Could minwin be used for "instant on"?
Instant <i>what</i> on?
That depends on what you want to be "on." Enough to run a graphical web browser (read: MSIE) and e-mail client (read: MSOutlook) is going to be a lot of "min."