Jump to content

MinWin

From Wikipedia, the free encyclopedia

MinWinis a term used informally byMicrosoftto describe thekernelandoperating systemcomponents that form the basis of releases ofMicrosoft Windowsstarting withWindows Vista.The term was first used in 2003 to describe approximately 95% of the common components of the operating system, but has over time come to refer to a significantly smaller portion. Its most recent and most well-known variation was a minimalistic, self-contained set of Windows components that shipped as part ofWindows 7andWindows Server 2008 R2.

Background[edit]

Through the history of Microsoft Windows, the core of the operating system was generally designed to be a single large, inter-related set of components. With successive releases, the set of components considered to be the core of Microsoft Windows numbered into the thousands, with numerousdependenciesthat prevented the company from producing a version of Microsoft Windows that (for example) didn't include thegraphical user interfaceand printing components. Further complicating this was the issue that many configuration tasks could only be performed using the graphical user interface.

In an April 2003 interview coinciding with the release ofWindows 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."[1]Windows Server 2003 was seen by reviewers such asDirection On Microsoft'sMichael Cherry as having reduced the reliance on graphical tools to configure the operating system,[2]but the operating system itself still required the full graphical interface to be installed, even on servers where it would never be needed.

After Windows Server 2003's release, Rob Short assembled a team of kernel architects at Microsoft, with the intention of untangling and documenting the dependencies within the core operating system. The kernel development team had realized that they were having difficulty being able to "predict the impact of changes and to make broad, cross-group changes to Windows",[3]and the new kernel architecture team would aim to improve software engineering practices both within the Windows kernel itself, as well as with the other components of Windows. To do this, every component of the operating system (consisting of about 5,500 distinct files in late 2005,[3]during thedevelopment of Windows Vista) was assigned a "layer number" that represents its dependency position relative to other components, with lower-numbered components being closer to the core of the operating system, and higher numbers representing high-level components. With this information, the core architecture team began to address a range of issues where low-level components were reliant on high-level components, and finding ways to resolve those dependencies. In doing so, a number of new options for creating focused sub-sets of Windows for different purposes became possible.

Larry Osterman, a developer on the Windows Audio team at Microsoft, described the effort in a November 2008 posting to theChannel 9 discussion forumas, "refactoring code along architectural layering lines, and it's the natural extension of what we've been doing since the Longhorn Reset (so arguably Vista was the first" minwin "based operating system)."[4]Brandon Paddock, also a Windows developer, expanded on this, saying, "It's more like a set of guidelines and principles, kind of like how SDL (Secure Development Lifecycle) guides our development process toward more secure software, the MinWin effort guides Windows components to fit into a more clearly and well-defined layered architecture. "[5]

Releases[edit]

While Microsoft has stated that MinWin will not be released as a stand-alone product, the various iterations of MinWin have shipped in every Windows operating system release since Windows Vista.

Windows Vista[edit]

The first use of the term "MinWin" by Microsoft was in 2003 during thedevelopment of Windows Vista,known at the time by its codename, Longhorn. MinWin was described at the time as consisting of approximately 95% of the total Longhorn code base,[6]with the additions for each edition of Longhorn layered on top of that. While the name MinWin was never used as part of Windows Vista's marketing efforts or in presentations to developers or IT professionals, some of the kernel architecture team's componentization and refactoring work was shipped with Windows Vista.

Windows Server 2008[edit]

One of Microsoft's goals forWindows Server 2008was to produce a variant with a sub-set of the entire Windows operating system that contains enough components to run a number of common server roles, such asActive Directory,Microsoft DNSServer,DHCPServer, andInternet Information Services.During its development in 2005 and 2006, this installation option was internally called "MinWin",[7]and sometimes externally "Server Foundation",[8]before its final name of Server Core was chosen. By the time Server Core was ready to be shipped with Windows Server 2008, however, the term "MinWin" had changed to describe a much smaller set of components, and its focus and intent had shifted from being a large sub-set of the complete Windows operating system with some high-level components removed, to being a small, self-contained operating system that has no dependencies on higher-level components.

Andrew Mason, the program manager at Microsoft responsible for Windows Server Core, explained in a February 2008 interview for TechNet that Windows Server 2008 (both the full installation, as well as Server Core) is built on top of this smaller set of components.[9]In this release, MinWin is "the definition of the lowest-level pieces of the operating system", including Windows kernel, thehardware abstraction layer,file system and networking support. Other parts commonly considered part of the core operating system, such as the event logs, performance counters,Windows Management Instrumentation,are part of Server Core.

Windows 7[edit]

In October 2007,Eric Traut,a manager at Microsoft, demonstrated a self-contained MinWin system, made up of about 100 files, on which a basicHTTPserver was running.[10] [11] Traut noted that MinWin takes up about 25MBondiskand has aworking set(memory usage) of 40 MB. It lacked agraphical user interfaceand is interfaced using a full-screencommand line interface.Traut explained during the demo that MinWin would not be offered as a stand-alone product, but would instead be used as the basis for future operating system releases such asWindows 7.[12]

Several months after Traut's demonstration, some confusion arose from an interview byIna Friedof CNET's News withSteven Sinofsky,the vice-president of Windows engineering at Microsoft. Sinofsky described the Windows 7 kernel as a further evolution of the Windows Server 2008 kernel, itself an evolution of the Windows Vista kernel.[13]This was interpreted by web sites such as Slashdot[14]to mean that Windows 7 would not include MinWin.Mark Russinovichsuggested that some of the confusion surrounding MinWin may be related to the imprecise use of the word "kernel";[15]MinWin is not, in and of itself a kernel, but rather a set of components that includes both theWindows NT Executiveand several other components that Russinovich has described as "Cutler's NT ".[16]

Windows Server 2016[edit]

In Windows Server 2016,Nano Serveris an option without the 32-bit compatibility layer or graphics.

See also[edit]

References[edit]

  1. ^Rupert Goodwins (April 25, 2003)."Q&A: Windows Server 2003 kernel guru".ZDNet.Retrieved2008-11-01.
  2. ^Michael Cherry (April 14, 2003)."Windows Administration Moves Beyond GUI".Directions On Microsoft. Archived fromthe originalon November 19, 2008.Retrieved2008-11-01.
  3. ^ab"Rob Short (and kernel team) - Going deep inside Windows Vista's kernel architecture".Channel 9.Microsoft. December 23, 2005.Retrieved2008-11-01.
  4. ^Osterman, Larry (November 13, 2008)."windows 7!= MinWin".Archived fromthe originalon June 15, 2009.Retrieved2009-02-28.
  5. ^Paddock, Brandon (November 13, 2008)."windows 7!= MinWin".Archived fromthe originalon June 15, 2009.Retrieved2009-02-28.
  6. ^Paul Thurrott (May 2003)."Longhorn Setup and Deployment Strategies".SuperSite For Windows. Archived fromthe originalon 2016-11-13.Retrieved2012-02-09.
  7. ^Thurrott, Paul(April 1, 2005)."Longhorn Server Preview".SuperSite for Windows. Archived fromthe originalon November 13, 2016.Retrieved2012-02-09.
  8. ^Yaniv Weinberg (2006)."INF 207 - Windows Server Longhorn – End to End Technical Overview".TechEd presentation.Microsoft. Archived fromthe originalon 2012-12-09.
  9. ^David Tesar (February 24, 2008)."Windows Server 2008 - Server Core PM Andrew Mason".Microsoft.Retrieved2012-02-09.
  10. ^Long Zheng (October 19, 2007)."Eric Traut talks (and demos) Windows 7 and MinWin".Retrieved2007-10-20.
  11. ^"r | p 2007: Machine Virtualization - Eric Traut - YouTube".2013-04-29.Retrieved2022-10-04.
  12. ^Mary Jo Foley (October 19, 2007)."Stripped-down 'MinWin' kernel to be at the core of Windows 7 and more".ZDNet.Retrieved2008-11-01.
  13. ^Fried, Ina(May 27, 2008)."Windows chief talks '7'".news.Retrieved2008-05-28.
  14. ^"Slashdot - Windows 7 Won't Have Compact" MinWin "Kernel".May 28, 2008.Retrieved2008-07-23.
  15. ^Ed Bott (March 31, 2008)."Is MinWin really the new Windows 7 kernel?".Retrieved2008-11-01.
  16. ^Robert McLaws (October 30, 2008)."Mark Russinovich Explains MinWin Once and For All".windows-now. Archived fromthe originalon November 3, 2008.Retrieved2008-11-01.