95 and prior were literally running on top of DOS. If you exited the Windows environment, you were left on a real DOS shell. 98 is when they changed to what you're describing, AFAIK
>> The Win32 environment is essentially a protected-mode DOS application"
> 95 and prior were literally running on top of DOS.
Not sure how you're gathering that the GP is contradicting this. Windows 95, 98 and Me are all architecturally the same: a protected-mode DOS app.
Running DOS from within the Windows shell is not the same as exiting or skipping the boot of the Windows graphical shell, and is running in VM86 mode (which as the GP points out existed in Windows/386 / Windows 3.0 Enhanced 386 mode) See Virtual 8086 mode for some more overview.
95 starts from dos and can exit to dos (maybe? my memory isn't reliable back then, I seem to remember it having a shut down screen and I thought reboot into dos rather than exit to dos?), but that doesn't mean dos runs under it. When a 386 mode Windows runs, it subsumes DOS; the DOS becomes virtualized on top of the Windows kernel, and when Windows exits, it puts things back to how they were.
It's messy and weird, but progress. Windows NT operates differently and I don't think ever started from DOS.
The interesting part is that "subsumes DOS" actually happens in the style of https://en.wikipedia.org/wiki/Blue_Pill_(software) in that DOS isn't aware that a hypervisor has inserted itself under it and is now running it inside a VM.
NT is very much a traditional OS architecture in comparison.
No, what they are referring to: you could actually just exit Windows entirely, or just skip booting into it and what you would be left at is a plain real mode DOS environment.
From your own reference: To end-users, MS-DOS appears as an underlying component of Windows 95. For example, it is possible to prevent the loading of the graphical user interface and boot the system into a real-mode MS-DOS environment.
You can even try this in the linked VM: Shutdown and Restart in MS-DOS mode. That is a real mode DOS without any Windows running.
This was often necessary for games and other heavyweight protected mode DOS applications like CAD/CAM at the time that would not tolerate running in the VM86 environment.
It's really nothing at all like that. TTYs are the core interface of all terminals in *nix including the one you would use in any X11, Wayland or other graphical environment, those specific incarnations using something called psuedo-ttys but its all the same stuff in the kernel.
What you really mean are plain text mode consoles for which most UNIX likes further extend this to allowing multiple "virtual" consoles to share one display. And MacOS does have text consoles (see video_console.c in the darwin source), they are just not usually used and very hard to get to especially in Apple Silicon era macs (older macs can easily be booted in single user mode with Cmd+S)
But this is still not at all analogous since it's still the same OS underneath. Windows 95 family was a virtual machine manager launched from DOS so booting into DOS means not loading it at all.
The issue for compatibility wasn't so much the graphical shell part as the VMM (virtual machine manager).
> 95 and prior were literally running on top of DOS.
Not sure how you're gathering that the GP is contradicting this. Windows 95, 98 and Me are all architecturally the same: a protected-mode DOS app.
Running DOS from within the Windows shell is not the same as exiting or skipping the boot of the Windows graphical shell, and is running in VM86 mode (which as the GP points out existed in Windows/386 / Windows 3.0 Enhanced 386 mode) See Virtual 8086 mode for some more overview.