top | item 42447288

(no title)

Grimeton | 1 year ago

I think you're mistaking the Windows Subsystems for "virtualization". Windows has/had tons of subsystems beside the today well known WSL.

There were MSFU, NTVDM (Dos) or even OS/2 subsystems. As Windows NT is based on the ideas and code of OS/2 (the chkdsk output is the same till Windows 7 iirc) both OS support the subsystem feature. Printing is its own subsytem btw.

This went as far as having the Win32 subsystem available on OS/2 and vice versa.

These subsystems are small layers that convert between the NT native system and the software that is run on top of them. The thing you call Windows is just the Win32/Win64 "subsystem" running on top of the NT-Kernel.

Here a few links I could find regarding this topic. This stuff is ancient and Microsoft doesn't make a big fuzz about it, because it's one of the core features that allows Microsoft to port Windows quickly to any platform and run software built for any architecture on top of the NT kernel.

There are enough "subsystems" out there, like Windows on Windows (WoW64) or even Windows on Arm and so on.

This hole is deeeeeeep. I recommend the sysinternals book.

[1] - https://learn.microsoft.com/en-us/previous-versions//cc76796...

[2] - https://web.archive.org/web/20120112001543/http://support.mi...

[3] - https://en.wikipedia.org/wiki/Virtual_DOS_machine

[4] - https://en.wikipedia.org/wiki/System#Subsystem

[5] - https://en.wikipedia.org/wiki/Windows_Services_for_UNIX

discuss

order

anyfoo|1 year ago

I don't think they're mistaking anything. 386-era Windows and OS/2 versions used the CPU's v86 task support, which, while having some severe warts[1], can well and truly be called "virtualization".

[1] Most of them fixed with later CPU extensions: https://www.rcollins.org/articles/vme1/

mr_toad|1 year ago

When most people talk about VMs these days they mean something similar to the Popek and Goldberg definition, which wouldn’t be achieved on x86 until a decade later.

Aloha|1 year ago

Win32 or Win16?