DOS was rock solid, at least around the era of DR-DOS. DESQView 386 was absolutely stable too. The BBS software I ran on them in those days was a wobbly piece of shit though.
I also recall Borland's Turbo Pascal compiler and the accompanying text-mode IDE being ultra reliable.
After DOS I've used OS/2 which was also extremely stable, although suffered from limited hard- and software availability.
Mac OS X used to be rock solid too in the heydays of the Powerbooks and earlier Intel Macbooks. Every now and then there were hardware design flaws though, and now the quality of both soft- and hardware seems to have taken a tragic turn for the worse.
You still do play Russian roulette whenever you plug a USB device into your computer, see "USB Rubber Ducky".
DOS was rock solid because it did nothing. Many programs, particularly games and anything that did networking, didn't even use DOS interfaces—they bypassed them entirely and worked with either the BIOS or hardware directly. There was no memory protection, no multitasking, and, on a higher level, no permissions nor sandboxing. So while maybe it "just worked", I wouldn't call it robust.
Modern OSes can run arbitrary binaries, but they can pretty much run arbitrary non-adversarial binaries - problematic binaries have to be intentionally written to exploit the system (as opposed to DOS, where non-problematic binaries had to be intentionally written to not break the system).
It's a dramatic improvement.
Since 2008, it's been a dramatic departure.
Mostly. Modern OSes strive to run abdersarial binaries, but where they can do it safely or not is still in question, IMO.
Boy, that's not how I remember DOS. I remember playing with all kinds of variants of driver load order in config.sys and passing obscure arguments into himem.sys to avoid odd hardware conflicts and crashes.
This hypothetical 32 bit DOS could've had memory protection and multitasking too. Obviously device drivers would add complexity, but it doesn't need to be as complex as it's become.
On the other hand, the stuff that takes "gigabytes of disk and memory" isn't even part of the operating system kernel, so there's no need to start from DOS to get rid of that stuff. It's possible to run linux from a few megabytes of ram.
You're missing the point. There is no single file operating system for desktop users (maybe VxWorks or some other embedded OS falls into that category, but those aren't really for desktops). Modern operating systems sprawl all over the disk. Memory protection and multitasking are not large features, and CS undergrads all over the world routinely implement them in less a semester.
> It's possible to run linux from a few megabytes of ram.
A few megs of ram and a directory in /etc filled with startup stuff and config files. Clearly you don't appreciate it, but there was something really nice about being in the root directory and seeing only command.com and config.sys. The entire rest of the machine was yours to setup however you liked. The things most people hated about DOS really had more to do with the 16 bit address space and segmented architecture.
DOS had other files besides those, but they were hidden https://en.wikipedia.org/wiki/List_of_DOS_system_files
You could theoretically make a linux kernel will all the drivers you need linked + basic FS stored as a drive image so you would have fewer files on an image
http://wiki.freedos.org/wiki/index.php/Main_Page
The "rubber ducky" attack is, of course, also possible with PS/2, XT, and even ADB keyboards, because none of them were authenticated.
It pales into insignificance compared to what I have to do to keep a desktop Linux box behaving normally today. Every few weeks I'm having to paste a wodge of lines into a range of config files to fix whatever driver oddity or system resource issue has caused something to break this time. That is pretty unimaginable without the internet.
The early 90's Sun's and SGI's didn't crash much either - though in a dev shop, sure we could push them to panic from time to time. The bigger iron just ran indefinitely, often until OS upgrade. :)
Now obviously this talk is game related, but even my previous Amigas were more reliable for uptime if you stayed within Workbench - often passing into months - than DOS and Windows. The mostly undeserved reputation of Amiga for constant crashing was from games hitting the hardware direct and those guru messages instead of silent freeze or pretty random colours that other platforms gave.
All were online, though not much web yet - mainly ftp, newsgroups and dial up BBS's.
The nightmare started again with Windows XP, then I switched to Ubuntu which was reminiscent of Windows 2000.
A funny thing and proof of solid interfaces in Windows 3.1/3.11 and Windows, is that people were making their own versions by removing/adding components and sometimes even changing their content with hexadecimal editors.
There is still a fandom for old Windows versions out there.
And you could catch viruses literally by hand by looking in kernel files, checking their size, and checking what was loaded in memory.
I remember that time with great pleasure.
I still have the habit of constantly hitting cmd-s everywhere, it’s a reflex I’ll probably never unlearn. I also cringe when I see people working on a bunch of files which have not been saved for a while or, god forbid, not at all. Completely irrational but it’s what I’ve been programmed to do for years ;)
Today, I can reliably crash my Mac (10.13.x) by switching Spaces twice in a row quickly.
The only reason why Windows was so buggy for you is that you were using the home editions. At the same time that you were experiencing blue screens in Win 9x. My NT workstation was rock solid without any of the issues you described.
In the subsequent months/years with NT 4, the situation did not improve. It was a sad day when they replaced the HP/UX section of the lab with more NT machines. They were faster but they crashed a lot. It really took until Vista before NT was reliable.
Most notably: graphics and printer drivers, which are not typically written the highest standard.
Big iron vendors don't really have that problem, since they typically control their hardware as well. Microsoft had to rely on component vendors to provide driver software and couldn't plausibly test all permutations under all conditions (even though they test very, very many).
>> At the same time that you were experiencing blue screens
>>> first time I used Windows NT 4
For the 3.11/95 period, I was talking about NT 3.51 not 4.
Yes, NT 4 had well known issues with poor quality graphics drivers. For this reason many of us stayed with 3.51 until the graphic driver problems were ironed out.
You can cherry pick unstable OS's from any time period. But there is nothing special about today's OS's or programs. I've seen DOS, multiple forms of UNIX in the 80's and 90s that are just as stable as today's Win 10 or OS X.
I now expect my computer to stay on for months without issues. I expect to be able to put it to sleep and open it in the same state it was. I expect that if a website or a program errors, my OS simply shrugs and closes it. I expect my OS to be robust enough so that if I enter a usb or download a file I'm not playing Russian roulette that it might contain a virus that would destroy my computer.
In the past I would close my computer at the end of every day because otherwise it will simply crash some time in the night. I would run de fragmentation at least once a month. Memory errors and disk errors were common, and the OS had no idea how to overcome it. Crashes were so common, you just shrugged and learned to save often.