MinWin

Last updated

MinWin is a term used informally by Microsoft to describe the kernel and operating system components that form the basis of releases of Microsoft Windows starting with Windows 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 of Windows 7 and Windows Server 2008 R2.

Contents

Background

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 numerous dependencies that prevented the company from producing a version of Microsoft Windows that (for example) didn't include the graphical user interface and 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 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." [1] Windows Server 2003 was seen by reviewers such as Direction On Microsoft's Michael 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 the development 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 the Channel 9 discussion forum as, "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

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

The first use of the term "MinWin" by Microsoft was in 2003 during the development 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

One of Microsoft's goals for Windows Server 2008 was 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 as Active Directory, Microsoft DNS Server, DHCP Server, and Internet 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, the hardware 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

In October 2007, Eric Traut, a manager at Microsoft, demonstrated a self-contained MinWin system, made up of about 100 files, on which a basic HTTP server was running. [10] [11] Traut noted that MinWin takes up about 25 MB on disk and has a working set (memory usage) of 40 MB. It lacked a graphical user interface and is interfaced using a full-screen command 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 as Windows 7. [12]

Several months after Traut's demonstration, some confusion arose from an interview by Ina Fried of CNET's News.com with Steven 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 Russinovich suggested 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 the Windows NT Executive and several other components that Russinovich has described as "Cutler's NT". [16]

Windows Server 2016

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

See also

Related Research Articles

Microsoft Windows was announced by Bill Gates on 10 November 1983, 2 years before it was first released. Microsoft introduced Windows as a graphical user interface for MS-DOS, which had been introduced two years earlier. The product line evolved in the 1990s from an operating environment into a fully complete, modern operating system over two lines of development, each with their own separate codebase.

Microsoft Windows is a product line of proprietary graphical operating systems developed and marketed by Microsoft. It is grouped into families and sub-families that cater to particular sectors of the computing industry – Windows (unqualified) for a consumer or corporate workstation, Windows Server for a server and Windows IoT for an embedded system. Defunct families include Windows 9x, Windows Mobile, Windows Phone, and Windows Embedded Compact.

<span class="mw-page-title-main">Windows API</span> Microsofts core set of application programming interfaces on Windows

The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles.

Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the foundation of several classes of devices including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.

NTLDR is the boot loader for all releases of Windows NT operating system from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it was replaced by the BOOTMGR bootloader. NTLDR is typically run from the primary storage device, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

Windows Management Instrumentation (WMI) consists of a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft's implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF).

Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class C of hardware devices to be accessed through identical interfaces even though C may contain different subclasses of devices that each provide a different hardware interface.

<span class="mw-page-title-main">Windows NT 4.0</span> Fourth major release of Windows NT, released in 1996

Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, and was released to manufacturing on July 31, 1996, and then to retail in August 24, 1996, with the Server versions released to retail in September 1996.

<span class="mw-page-title-main">Architecture of Windows NT</span> Overview of the architecture of the Microsoft Windows NT line of operating systems

The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, which has been designed to work with uniprocessor and symmetrical multiprocessor (SMP)-based computers. To process input/output (I/O) requests, it uses packet-driven I/O, which utilizes I/O request packets (IRPs) and asynchronous I/O. Starting with Windows XP, Microsoft began making 64-bit versions of Windows available; before this, there were only 32-bit versions of these operating systems.

<span class="mw-page-title-main">Windows Vista</span> Seventh major release of Windows NT

Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft Windows. It was released to manufacturing on November 8, 2006, and over the following two months, it was released in stages to business customers, original equipment manufacturers (OEMs), and retail channels. On January 30, 2007, it was released internationally and was made available for purchase and download from the Windows Marketplace; it is the first release of Windows to be made available through a digital distribution platform.

<span class="mw-page-title-main">Windows Server 2008</span> Fourth version of Windows Server, released in 2008

Windows Server 2008, codenamed "Longhorn Server", is the seventh release of the Windows Server operating system produced by Microsoft as part of the Windows NT family of the operating systems. It was released to manufacturing on February 4, 2008, and generally to retail on February 27, 2008. Derived from Windows Vista, Windows Server 2008 is the successor of Windows Server 2003 and the predecessor to Windows Server 2008 R2. It removed support for processors without ACPI, and is the first version that includes Hyper-V.

The development of Windows Vista began in May 2001, prior to the release of Microsoft's Windows XP operating system, and continuing until November 2006.

The Microsoft Windows operating system supports a form of shared libraries known as "dynamic-link libraries", which are code libraries that can be used by multiple processes while only one copy is loaded into memory. This article provides an overview of the core libraries that are included with every modern Windows installation, on top of which most Windows applications are built.

Windows Vista has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.

Microsoft Windows is the name of several families of computer software operating systems created by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs).

Windows NT is a proprietary graphical operating system produced by Microsoft as part of its Windows product line, the first version of which was released on July 27, 1993, as Windows NT 3.1. Originally made for the workstation, business and server markets, the Windows NT line was made available to consumers with the release of Windows XP in 2001. The underlying technology of Windows NT continues to live on to this day, with the latest version of Windows based on Windows NT being Windows 11.

In computing on Microsoft platforms, WoW64 is a subsystem of the Windows operating system capable of running 32-bit applications on 64-bit Windows. It is included in all 64-bit versions of Windows, except in Windows Server Server Core where it is an optional component, and Windows Nano Server where it is not included. WoW64 aims to take care of many of the differences between 32-bit Windows and 64-bit Windows, particularly involving structural changes to Windows itself.

Windows Hardware Error Architecture (WHEA) is an operating system hardware error handling mechanism introduced with Windows Vista SP1 and Windows Server 2008 as a successor to Machine Check Architecture (MCA) on previous versions of Windows. The architecture consists of several software components that interact with the hardware and firmware of a given platform to handle and notify regarding hardware error conditions. Collectively, these components provide: a generic means of discovering errors, a common error report format for those errors, a way of preserving error records, and an error event model based up on Event Tracing for Windows (ETW).

References

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