← Back to context

Comment by hungryhobbit

18 hours ago

Fun fact: earlier Windows OSes ran on top of DOS.

Windows 1-3 ran on top of DOS, with a small caveat for Windows 3.x

Windows 3.x running in 386 Enhanced Mode had a very small multi-threaded preemptive kernel, which it used to handle its MS-DOS windows. So whilst each Windows program ran cooperatively within Windows and had no memory protection, Windows itself and each DOS window it opened were pre-emptively multitasked and had better memory protection. This wasn't very well documented, but it's the beginnings of Windows no longer running on top of DOS and instead taking over control of the machine.

Windows 3.1 also introduced "32 Bit Disk Access" which used a custom disk driver to bypass DOS and the BIOS and speed things up. Windows 3.11 (Windows for Workgroups) extended that to "32 Bit File Access", which bypassed DOS for file operations.

Windows 95 only used DOS as a bootstrapper. It would be completely incorrect to say that Windows 95 "ran on top of DOS", as once Windows 95 finished booting it had effectively pulled the rug out from DOS and was handling all I/O, memory operations, and so forth. It would be like saying that Linux runs on top of GRUB - GRUB is no longer in control of the machine, so it's just not true.

Not that I'm saying you were stating Windows 95 ran on top of DOS, you understand! I'm just putting this information here for educational reasons and expanding on your comment. ;-)

It's still not correct to call them DOS games as you can't run them on DOS.

  • That is an interesting semantic question, though - I would say something that needs an extender still counts as a "DOS" program, and I can't quite see the line between that and early Windows. I believe the line exists, mind, but I can't figure out how to define it.

    • Some of these games are absolutely not DOS games though and no amount of semantics can change that. Grand Theft Auto: Vice City requires Windows 98 and DX9 or newer, for example, and it is available here.

      edit: I see Vice City has been removed following a DMCA request!

    • Yeah, many of the things we consider part of what an "Operating System" provides to programs today were provided by DOS Extenders (or forwarded to something like windows if running under that).

      DPMI was pretty much an "Operating System API/ABI".

    • What about: if the extender is provided with the game (like DOS/4GW) then it's a DOS game; if it needs to be provided by the user (like Win 3.11) it's not.

Well, DirectX was win95 and later right? Windows Enhanced mode and future is kind of both on top of and underneath dos. There's a kind of wild layering that happens.

  • Fun fact, Win 95, 98 and ME booted DOS and autoexec'd win for you.

    • Yes, but like Windows for Workgroups before them, they didn't need to rely on DOS services once they had started. They were 32-bit multitasking OSes that could host multiple DOS VMs and (in the case of WfW) a 16-bit cooperatively multitasked GUI.

      DOS basically acted as a bootloader. But all of those OSes had the very weird feature that they could switch back into a virtualised copy of their bootloader.

      I do feel that Wikipedia understates the importance of Windows for Workgroups. Internally, it wasn't just Windows 3.1 with networking. It was a trial run for the fundamentals of the Windows 95 architecture.

      7 replies →