Microsoft confirms MinWin is in Windows 7, after all

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.

SHARE:

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?

Topics: Operating Systems, Microsoft, Software, Windows

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

66 comments
Log in or register to join the discussion
  • Geee ......

    Sounds like the stole ... errr "emulated" a page right out of the *NIX playbook ....
    Linux_4u!
    • Hey, you're turning green....with envy.

      Better elaborate on your claims or its nothing but lies. As any Linux fanboy is wont to do everytime Windows comes up with something new. It's FUD time.
      transposeIT
    • QDOS under the hood?

      I don't think MinWin bears that much resemblance to the *NIX kernel. MinWin is not exactly a clean start, but should have quite a bit of backward compatibility to allow operation with existing networking and file-systems. It's a step in the right direction, for sure.

      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.
      jefmud
      • Dave Cutler's NT

        The comment that this is Dave Cutler's NT is telling. Cutler was one of the VAX/VMS guys that was brought over to MS from DEC to make the original NT microkernel -- you know, the one that ran on Alpha and MIPS. It was Unix-like and extremely portable.

        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
        daengbo
        • Re: Dave Cutler's NT

          Dave Cutler developed RSX-11A long before VAX/VMS -- that was back in the early 1970's.

          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
          steve.deller
  • RE: Microsoft confirms MinWin is in Windows 7, after all

    Mary Jo,

    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.
    Michael L Jones
    • You're right

      There is also the benefit that maintenance should be alot
      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.
      Kaiwai
  • MinWin is in Windows Vista as well in Windows 7 (same core of Vista)

    MinWin is in Windows Vista as well in Windows 7 (same core of Vista)
    qmlscycrajg
  • RE: Microsoft confirms MinWin is in Windows 7, after all

    There seems to be widespread misunderstanding of what MinWin actually is. MinWin is more of a software engineering project than a tangible user-level feature.

    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.
    Skalecki
    • Defining MinWin

      Yes, based on Russinovich's latest explanation, MinWin does sound like it's both a project and an actual "thing."

      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
      Mary Jo Foley
      • MinWin is not an edition of Windows, nor a product

        MinWin should really have been called MinKernel.

        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.
        de-void-21165590650301806002836337787023
        • Absolutely Spot on

          Sounds like a lot of people are confused here. The last post was generally 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.
          AuzzieBob
    • No use trying to explain

      Mary and Co seem to think that MinWin is actually a physical
      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).
      Kaiwai
      • That's now obvious.

        I wrote my original reply prior to listening to the actual interview. Now that I have heard the Channel 9 interview (which I greatly enjoyed), I'm completely astounded that this article was written. It could not have been more clear on what MinWin is and isn't, why it's cool/useful (from a development perspective NOT an end-user perspective), and how it's being used in Windows 7 and beyond (future Server Core releases, etc.).
        Skalecki
        • What's more interesting

          Is the movement to separate it even more; its logical; you
          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.
          Kaiwai
  • Hmm ...

    Sounds like something between Tom's Root/Boot and single-user repair mode.
    Yagotta B. Kidding
  • OS7 Mac users have been there long ago :)

    Just joking.

    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".
    Silex
  • Its there in the 6801 build

    The DLL that Mark mentions, kernelbase.dll and described as "Windows NT BASE API Mini Client DLL", is there in build 6801 and is in use by all applications. Using Dependency Viewer, you can see that kernel32.dll has had numerous functions forwarded to kernelbase.dll as Mark mentioned.

    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.
    PB_z
  • Could minwin be used for "instant on"?

    Could the stripped down kernel be what is required to make the "instant on" feature work? It would make sense that something stripped down would be required to make that feature work. Min-win would seem to fit that.
    escher007
    • Instant <i>what</i> on?

      [i]Could the stripped down kernel be what is required to make the "instant on" feature work?[/i]

      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."
      Yagotta B. Kidding