Inside Windows' core: A peek into Microsoft's COSD

Inside Windows' core: A peek into Microsoft's COSD

Summary: Jon DeVaan -- the "mystery man" behind Windows 7 -- is the Senior Vice President in charge of Microsoft's Core Operating System Division (COSD). I had a chance to ask DeVaan some questions last week about how COSD works and about one of COSD's better-known (if still largely misunderstood) initiatives: MinWin.

SHARE:

Microsoft's Core Operating System Division (COSD) is somewhat of a black hole to many outside (and even inside) the Redmond software maker. Charged with the amorphous goal of ensuring Windows "engineering excellence," the five-year-old COSD group creates the core components at the heart of Windows.

Jon DeVaan -- the "mystery man" behind Windows 7 -- is the Senior Vice President in charge of COSD. I had a chance to ask DeVaan some questions last week about how COSD works and about one of COSD's better-known (if still largely misunderstood) initiatives: MinWin.

COSD was created in December 2003 during the reign of then-group-vice-president-of-platforms, Jim Allchin. COSD's mission was to help the Windows team hone its architecture development and overall processes. Since its inception, the COSD team has focused on developing the "guts" of Windows: the kernel, I/O (input-output) system; core devices; setup; virtualization; the driver framework; and all the build properties.

Here is a transcript of my phone exchange with DeVaan (edited for length and clarity): MJF: Could you talk a bit about how you ended up heading COSD (in 2006) and how COSD has changed since it was founded?

DeVaan:  When COSD came to be, I was working in the engineering excellence role for Microsoft. One of the things we did for engineering excellence (was) bringing some better focus on the engineering system for finishing Longhorn, and that was a really positive step, which actually helped get to the point where Vista could be shipped. So, when I was asked to come work on Windows, it was pretty natural for me to come work in COSD.

The basic role of COSD hasn't changed a whole lot in that time. Now, (Windows engineering chief) Steven (Sinofsky) and I bring a different philosophy about how we organize engineers and engineering projects, and we've really done that same work across both teams, and that has to do with how we organize that we're building the engineering talent that we need to meet our challenges long into the future.

We created a shared vision for Windows 7 and really manage the teams exactly the same way according to that vision for Windows 7 and for Server 2008 release 2, where we have the same shared execution vision with the server team, so that we can ship these products together in a much more coordinated way, and with much better teamwork across three major divisions at Microsoft.

MJF: How is COSD organized, beyond what you've shard on the Engineering 7 blog?

DeVaan:  We really try to manage the feature team, so these are the core groups of development, test, and program management, working on a particular technology area, whether it's devices and media under Steven or the kernel and VM team under me. We try to manage them really exactly the same way on Windows 7.

The things which are shared between client and server gravitate to COSD, and then the things which are specific to client or specific to server are in those teams. It's never perfectly clean along that definition, but that's the basic philosophy.

One of the things that I did do at the beginning that's a little different than before is to make sure that we have a team focused on improving our engineering system. So, the engineering system is a very broad term, but all the tools and the practices and the processes that we use to engineer Windows, we set aside people to work on that explicitly and to be in constant improvement on making that better over time.

MJF: Are you talking here about things like software development and testing processes?

DeVaan: Yeah. When I talk about the vision process that's shared across client, COSD, and server, that's one of the core processes of the engineering system.  When we get to the things about how we ensure daily quality -- so there's the main branch build, which is the one that has the contributions of all the teams, and how does work get managed from a developer on the front line making a change and all the quality checks that go in to make sure that that main branch is always very high quality every day. Those are a couple examples of the basic engineering practices and processes.

MJF:  In the past, one of the things that COSD did was work with both Windows client and server together. Do you also now work with the Windows Azure cloud team, too?

DeVaan: We do. We do a lot of technology sharing between us and Azure.

MJF: Is COSD responsible for things like which code gets passed back and forth between the different teams?

DeVaan: I think that's where the primary engineering engagement is. So, in terms of sharing technology around virtualization and operating system kernels and that stuff, that is where it happens.

MJF: Could you talk a bit about MinWin, and how it fits in with COSD. I'm trying to better understand exactly what it is and how it relates to Windows 7 and Windows going forward.

DeVaan: There are a couple kind of concepts which fit in with engineering excellence in terms of bringing new approaches on how to work on long term changes and improvements to any product, not just Windows. MinWin is an example of where we incubate a long term change to Windows, but we do the work on it in the context of a well-defined engineering project.

So, Windows 7 is a well-defined engineering project. It has a vision, we've assigned resources to the priorities of that vision, and people are working according to the enterprise system to develop that product and that project. Every one of those projects is going to have forward progress on our long term objectives. MinWin -- that's really the name from the incubation, and instantiated in Windows 7 -- is one step along the way.

You're not going to see any product MinWin, but you will see a much better Windows embedded product based on Windows 7, and you'll see a much better Server Core in the Windows Server product.

MJF: If you're a customer or a developer and you're targeting or thinking about using Windows 7, what will it gain you, if anything, in that MinWin is part of Windows 7?

DeVaan: If you're a person just sitting in front of your new laptop, for example, you're not going to see anything visible, but you'll see that some of the ideas around MinWin are the ideas that allowed us to reduce the RAM footprint of Windows, and it actually helped us in terms of engineering process to have better stability every day, so that's not a thing per se that has the name MinWin on it, but you'll appreciate the fact that the system is more stable and more reliable.

MJF: Will the inclusion of MinWin in Windows 7 have any impact on developers in terms of how they build software to run on Windows 7?

DeVaan: No. A clear goal, and this again is one of the concepts coming from engineering excellence, is that you can achieve these reforms without interfering with compatibility. Not using MinWin as an example -- because we're not really surfacing any MinWin platform in Windows 7 -- but if you use an analogy of the WDDM 1.0 and 1.1, you can certainly deliver a perfectly great display driver with the 1.0 driver model, and all those Vista drivers will work seamlessly on Windows 7, but if you take advantage of 1.1, then you get advantages around the DX 11 compute shading and the RAM savings that we're able to accomplish in the system with the new driver model.

When we get to the point of sharing a new platform element, that's the time when you'd be able to take advantage of it.

MJF: Is surfacing pieces of MinWin so that they actually affect developers and consumers something that's a longer term goal?

DeVaan: There could be a point in the future, and I think right now I don't want to comment on the incubation part of it, because we're really trying to talk about Windows 7 now, but we're working on -- you know, we're always working on taking into account a lot of different impacts of how the computing world is changing. I don't want to talk about them specifically until they're being delivered in the context of one of those well-defined engineering projects.

There are a lot of people that really want to speculate about a lot of things, and I don't want to encourage it, but we certainly are always looking forward to understand the things that we should be accomplishing.

Topics: Operating Systems, CXO, 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

17 comments
Log in or register to join the discussion
  • MinWin

    Mary, why do you insist on MinWin when he constantly makes it clear that it's not Windows 7? They will use some of the ideas from MinWin and apply them, but it is essentially going to be the improved Vista kernel. Something like 'Cairo' and NT, some 15 years ago. If you have to be excited about it, I suggest buying a multitouch screen...
    esqban@...
    • Missed a lesson

      Apparently you missed a lesson a bit back:
      http://blogs.zdnet.com/microsoft/?p=1690

      You're confusing the initiative of MinWin with the rumored MinWin OS. The initiative of MinWin is just the goal of componentizing pieces of Windows and identifying the bare minimum of Windows. This is something being included in Windows 7 to help reduce some of the bloat in the OS (but of course not all of it). At its basis, its still mostly the same, just some things (like kernel32) were actually moved out of the 'core'.

      -SMFX
      SMFX_
    • MinWIn

      Hi. DeVaan didn't say MinWin was NOT in Windows 7. He and other MS execs are acknowledging that it is:

      http://blogs.zdnet.com/microsoft/?p=1690

      And no thanks on the touch screen... Not interested in the least. mj
      Mary Jo Foley
  • Could we please give MinWin a rest?

    MinWin is just a name given to a reorganization of the Windows kernel to make it easier to work on and test and a few other benefits, mostly for the Windows developers themselves. It's not a product. It never was. It never will be. It's like getting excited over randomsystem.dll
    DCMonkey
    • Why MinWin matters (imho)

      I agree with you that MinWin (which is the name of the incubation project as well as the actual inner core of Windows) isn't something users or third-party developers need to worry about right now.

      But MinWin is the first step toward RedHawk/MinSafe (I believe). RedHawk is the precursor to Midori, the Microsoft project to create a new, not-necessarily-Windows-based distributed operating system.

      More on the connection between MinWin and RedHawk:

      http://reddevnews.com/features/article.aspx?editorialsid=2555

      Some are saying MinWin will actually be something that affects developers and users with Windows 8. DeVaan declined to comment at all on when Microsoft will "surface" MinWin. But as you can see from the interview, that seems to be where they're going... Thanks. MJ
      Mary Jo Foley
      • Thank you...

        Thanks for proving that you understand MinWin better than what some of the articles in the past have led us to believe.

        MinWin is important to help keep the NT core layers not only easier to develop for, but as they were originally intended, instead of dependencies running up and down layers in arbitrary ways.

        The new OS and other research projects at Microsoft are good things, but are more likely to offer ideas that will brought back to NT, rather than fully replace it in the near future.

        NT was designed to be highly extensible for the 32bit timeframe it was designed, taking the best theories of the time, and it can move in ways many people don't understand or expect because of how the lower level layers and light kernel API do work.

        Some of the features that people are confusing MinWin with are features that others working with Midori and other projects have been able to bring to Windows 7, like the scheduler lock changes and other features expanding out the CPU masks for 256 CPUs etc.


        Thanks again for restoring my faith in tech journalism and yourself...
        thenetavenger
  • We've................

    Looked at how linux does things and copied some of the ideas into the windows architecture oh and slapped some DRM in there too.
    Alan Smithie
    • Ya, that is about as far from reality as unicorns.

      [i]Looked at how linux does things and copied some of the ideas into the windows architecture oh and slapped some DRM in there too. [/i]

      You need to go back and read the history of NT, what it is, and why they designed it NOT to be a UNIX and why they designed it NOT to be a traditional microkernel like Linux.

      NT is an evolution past UNIX and Linux kernel concepts, and this evolution happened when MS still owned XENIX and could have built NT around UNIX or even a pure microkernel.

      So 18 years later after jumping past Linux concepts, MS is not going to start taking ideas from a newer incarnation of a *nix, specifically Linux.

      Go read the original Inside NT or any of the NT whitepapers where Cutler and his team talk about UNIX and why NT was not going to be UNIX or have the limitations of a UNIX based OS.
      thenetavenger
      • Not according to MS ...

        http://antitrust.slated.org/www.iowaconsumercase.org/011607/6000/PX06501.pdf
        User07734
        • Yes according to MS... Do you actually read the links your throw around?

          Yes according to MS... Do you actually read the links your throw around?

          The document is about the OSS movement, and as the documents states. Linux is only mentioned in the context of it being the current UNIX leader, and the best performaning 'UNIX'.

          It never states anywhere that Linux has superior features, a better architecture, etc.

          The document is about OSS development and why it is fueling Linux, what it gives Linux, like parallel development projects, etc.

          Next time actually read the stuff you post, you might understand the OS technologies better than relying on a document comparing OSS development and how it could hurt NT Server in the market.
          thenetavenger
          • Ouch...well done ... nt

            nt
            TheBottomLineIsAllThatMatters
      • Linux is not a microkernel

        Linux is not a microkernel, however, it is much more modularized than Windows as admitted by Rob Short a few years ago.

        In an April 2003 interview coinciding with the release of Windows Server 2003, Rob Short, the vice-president of the Windows Core Technology group, explained that creating a command-line version would involve "looking at the layers and what's available at each layer and how do we make it much closer to the thing the Linux guys have -- having only the pieces you want running. That's something Linux has that's ahead of us, but we're looking at it. We will have a command line-only version, but whether it'll have all the features in is another matter. A lot of the tools depend on having the graphical interface."

        Windows is basically a big ball of spaghetti code.
        nemesis9
  • RE: Inside Windows' core: A peek into Microsoft's COSD

    I agree with SMFX. They just re-shufled the kernel a bit. It's generally a good thing as it will give them more manoeuvring space, but it's not a big development. And it's definitely not a new kernel. Basically, I think they HAD to make it more modular to compete with Linux, at least on netbooks. We'll see, but I sincerely doubt I'll switch back because of that. I know I won't be switching back because of multitouch screens:)
    esqban@...
  • You should be able to run any program from the BIOS

    Any exe should start in the BIOS.From the BIOS the adjustments are made in the various card's firmware.The Internet should even be accessible from the BIOS.
    BALTHOR
    • Erm ... nope!

      Most BIOS' in widespread use today are ... get ready for this ... 16-bit! The BIOS job is to enumerate and initialize any hardware resources etc., and then load-up and hand-off control to the OS bootloader. The bootloader's first job is to switch the CPU into the necessary 32/64-bit operating mode and then get the rest of the OS loaded.

      Basic Input Output System (BIOS) isn't called Basic for nothing!

      The replacement for BIOS - Extensible Firmware Interface (http://en.wikipedia.org/wiki/Extensible_Firmware_Interface) is 32/64-bit code and have the potential to offer a great deal more functionality than just basic HW config.
      de-void-21165590650301806002836337787023
  • MinWin - what it REALLY is for the last time I hope...

    People, including Mary STILL don't get MinWin, or the fact the basic concept has been a part of what NT is since it was written.

    Over the years the OS layers started getting mixed with dependencies that extended in and out of the core NT OS.

    So here it is, the best most basic explaination of freaking MinWin and hopefully this time MARY will listen so her interviews don't sound stupid and others here that think MinWin is something other than NT can settle this in their minds once and for all.

    http://channel9.msdn.com/shows/Going+Deep/Mark-Russinovich-Inside-Windows-7/

    Skip ahead to 29:00 in the interview and let Mark explain it AGAIN in even more basic terms, so people can finally understand.

    After watching the 'definition' and explaination of MinWin, come back here and read this interview and see how insane it sounds if you were the engineer being interviewed...

    There is a 'minimal' OS project inside MS that is built on managed code for a kernel concept and YES some of that is being used in Windows 7, but it is NOT MinWin.

    How many times do we keep having to post stuff like this here to get Mary's attention? Even a year later, we end with the same crap with Mary not having a clue about something as simple as MinWin.

    Sorry Mary, but really, you are supposed to be a tech journalist, you should be able to 'track' down the correct terminology and understand basic concepts instead of making them more confused to the general public.
    thenetavenger
  • RE: Inside Windows' core: A peek into Microsoft's COSD

    Prized computer files, significantly couple of [url=http://www.cheap-nfljerseys-shop.com/]bill jerseys[/url] thanks into [url=http://www.cheap-nfljerseys-shop.com/]bills jerseys[/url] your contributor. It occurs actually perplexing with myself right now, but for [url=http://www.cheap-nfljerseys-shop.com/]buffalo bills jerseys[/url] the execute, these strength along with advantages is really mind-boggling.
    dfwekrwe3901-24353676611631956669159280018822