The DOS-based Windows lineage is definitely very interesting to study and a large contrast to more "normal" operating systems like Linux or NT, because they're actually hypervisors running a VM; and their whole userspace is essentially based around an extended DOS (protected mode) application.
From there, it checks if the resident protected-mode software is a memory manager that it recognizes
What's noteworthy is that EMM386 is also a hypervisor, albeit a very thin one. One could imagine an alternate reality in which x86 gained full virtualisation extensions earlier, causing the hypervisor model to be taken even further and creating a bigger architecture gap between Windows and other OSes.
After a conversation with Ralph Lipe, designer of Windows/386, he revealed to me that Windows/386 was so thin of a layer over EMM386 (being a slightly more heavy hypervisor but not by much) that it had no scheduler for 32-bit code; there was one thread of execution in the VDMM that IRET'd into VMs, but each VM did not also have an independent Ring 0 protected-mode context like in Windows version 3.0.
One could imagine an alternate reality in which x86 gained full virtualisation extensions earlier, causing the hypervisor model to be taken even further and creating a bigger architecture gap between Windows and other OSes. Worthy reading would be: https://www.os2museum.com/wp/an-old-idea-x86-hardware-virtua...
One nitpick: maybe provide just a bit more detail regarding how your/your friend came to some of the conclusions. It isn't because I don't believe anything, however I'm just an old timer (somewhat, elder millennial) who likes to know how things work/how you guys game to the conclusions you did. Not a full rundown, obviously, however I did see quite a few assumptions that were only partially explained. Seems to be a good read, however, and I'll finish it tomorrow.
If you're curious about anything else, I'm happy to elaborate.
Reading articles like this are fun glimpses into a world I dreamt about in my youth. It's a ton of fun, even if I'm probably never going to write any code related to it.
There was a lot of cleverness in the DOS-based Windows family, especially in dealing with constrained resources. I'm not sad it died out (because it lacked the overarching "real operating system" design), but I'm pleased to see it getting brought out into the open.
Programming directly under the DOS environment certainly is a lot of fun, and there absolutely was a lot of cleverness in the DOS-based Windows family. People rag on it for being unstable and whatnot, but the truth is that it simply was the best compromise OS at the time. It was not as stable as NT, but it ran a lot faster on much slower hardware. It made compromises, but it made the right compromises for most people. By the time Windows XP came out, the market had changed such that the compromises were no longer necessary.