Minimal Windows Kernel

Minimal Windows Kernel, or MinWin, is a term, used by Microsoft to describe NT kernel and other fundamental components, which form Windows NT current family operating systems base. MinWin is intended for making NT kernel and its dependent components more portable and liberated from higher-level dependencies and DLLs, resulting into complete rewrite of existing core functionality and move into new separate DLLs, which provide higher level functionality, similar in approach to Linux kernel organizational architecture.

Original goal of project is to return to the original layering interface, which Dave Cutler actually projected: a low-level microkernel similar to VMS, which includes a set of base services, various subsystems and additional functionality, which can be expanded easily.

History[edit | edit source]

First mention about MinWin occurred in April 2003, when the vice-president of the Windows Core Technology group, Rob Short, used that meaning to describe ~95% of Windows components. After release of Windows Server 2003, Rob Short started to create a new team of kernel architects to document and describe undocumented functionality of NT kernel, and due to struggles of mess understanding, they decided to layer every component of Windows to differentiate it between each other and sort them to understand the closest to kernel components. Meanwhile, Windows Vista development led to building fundamentals of MinWin, by refactoring kernel functionality itself, despite still remaining similarities with Windows Server 2003 kernel, such as Bugcheck interface, loading and text-mode screen modes.

The earliest known build to start actually implement MinWin is Windows 7 build 6469, which brought by itself KernelBase.dll, which fetches lots of kernel32.dll and advapi32.dll libraries functionalities consequently, bringing kernel to have minimal dependencies. By Windows 7 release, Virtual DLLs were brought as part of MinWin, intended to lower bunch of DLLs in boot phase. For these redirections, introduced newer apisetschema.dll library, defining endpoints to newer virtual DLLs.

Windows 8 have extended kernel capabilities and made project more finalized, with introduction of command-line booting support and boot loader enhancements in order to work with MinWin.

Windows 10 additionally uses MinWin for the OneCore project, intended to make Windows bootable on any device, including smartphones, tablets and Internet of Things (IoT) devices.