←back to thread

305 points mooreds | 2 comments | | HN request time: 0.421s | source
Show context
jmclnx ◴[] No.42166830[source]
I never thought of Windows 3.1 as an OS. The other 2 was MS-DOS and Windows 95.
replies(2): >>42167247 #>>42168397 #
rusk ◴[] No.42167247[source]
Agree, the terminology in those days was “shell”.

Though Windows 95 was arguably similar running atop “DOS 7” it actually imposes its own 32-bit environment with its own “protected mode” drivers once booted. Dropping to DOS reverted to “real mode”.

replies(3): >>42167329 #>>42168096 #>>42168667 #
tliltocatl ◴[] No.42167329[source]
So did the lastest Win3.1 for workgroups, just MS spared all the fanfare for Win95. Not sure if the 3.1 version in the installers does.
replies(1): >>42167345 #
rusk ◴[] No.42167345[source]
Windows 3.1 was just a graphical shell. All the drivers and stuff were still managed by DOS. You still needed to configure your system with config.sys

EDIT it’s coming back to me. Windows 3.1 did have a a subsystem for running 32 bit apps called Win32 I think that’s what you mean. This was very much in the application space though.

It still used cooperative multitasking and Win 95 introduced preemptive.

replies(4): >>42167548 #>>42167566 #>>42167659 #>>42167851 #
DHowett ◴[] No.42167659[source]
Bryan Lunduke has an article about this myth, actually!

https://lunduke.locals.com/post/4037306/myth-windows-3-1-was...

It’s backed up by another Old New Thing article at https://devblogs.microsoft.com/oldnewthing/20100517-00/?p=14...

The TL;DR is that Windows 3.1 effectively replaced DOS and acted as a hypervisor for it, while drivers could be written for Windows (and many were) or DOS (and presumably many more of those were actually distributed). The latter category was run in hypervised DOS and the results bridged to Windows callers.

(Edited after submission for accuracy and to add the Old New Thing link.)

replies(2): >>42168323 #>>42168490 #
1. phire ◴[] No.42168323[source]
One of the major motivations for windows, is that the driver situation for DOS really sucked. Every single office suite had to talk directly to printers. Text mode was reasonably uniform, but printing graphics required the application to know about the printer.

And games needed to talk directly to the video card and sound card if you wanted anything more than PC speaker beeps and non-scrolling screens on one of the default BIOS graphics modes.

One of the major selling points of Windows 1.0 was a unified 2D graphics API, for both screen and printing. The graphics vendor would supply a driver and any windows application could use its full resolution and color capabilities needing to be explicitly coded for that graphics card. This rendering API also supported 2D accelerators, so expensive graphics card could accelerate rendering. 2D accelerators were often known as Windows accelerators.

Windows 3.1 still relied on DOS for disk and file IO, but everything was can be done by VXD drivers, and should never need to call back to DOS or the BIOS (which was slow, especially on a 286)

With Windows 95, Disk/File IO were moved into VXD drivers, and it was finally possible to do everything without ever leaving protected mode (though, DOS drivers were still supported).

Read more about the history of Device drivers here: http://www.summitsoftconsulting.com/WinDDHistory.htm

And I really enjoyed this documentary about the development of Windows 1.0: https://www.youtube.com/watch?v=vqt94b8bNVc

replies(1): >>42189642 #
2. int_19h ◴[] No.42189642[source]
It was specifically the acceleration that made it advantageous, especially once DirectX got off the ground. 2D graphics by itself was reasonably straightforward in DOS once SVGA and VBE were a thing, but all you got out of it was a raw pixel buffer that you could poke into.