MS-DOS was the dominant computer operating system of the 1980s and early 1990s. It was the operating system most people loved to hate, yet it remained a bestseller. It formed the foundation of Microsoft’s market dominance of the 1990s and beyond. What were the advantages and disadvantages of MS-DOS?
MS-DOS stood for Microsoft Disk Operating System. It also licensed it to IBM, who branded it PC DOS, for Personal Computer Disk Operating System. The differences between the two were relatively minor and they are more or less interchangeable, especially at versions 5.0 and lower.
The joke about MS-DOS
There’s an old joke about MS-DOS that goes something like this: A 16-bit clone of an 8-bit operating system originally written for 4-bit CPUs by a 2-bit company that can’t stand 1 bit of competition.
Like most jokes, it’s the element of truth that makes it funny. MS-DOS was a 16-bit clone of CP/M, a popular 8-bit operating system. The 4-bit part is a stretch. Gary Kildall, author of CP/M, did mess around with Intel 4004 CPUs, but did any of that code end up in CP/M? I don’t know, but it strings the joke along. Apple and Amiga fans certainly see Microsoft as a 2-bit company that can’t stand 1 bit of competition.
The joke also illustrates the knock on DOS. Its design philosophy dates back to the 1970s. You can bolt new stuff onto an antiquated core, but it felt old-fashioned compared to other, newer alternatives.
As a side note, the circumstances under which MS-DOS cloned CP/M are controversial.
Advantages of MS-DOS
The advantage of MS-DOS was familiarity. Thousands of people knew how to program CP/M, and hundreds of thousands of people knew how to use it. MS-DOS was so similar to CP/M that people who could program one could program for the other. And people who could use one could use the other. Porting CP/M software like Wordstar was easy, so there was good software to run right away.
MS-DOS did make MS-DOS friendlier than CP/M. A straightforward copy command replaced the arcane pip. Startup commands went into something called autoexec.bat instead of profile.sub. It takes less imagination to figure out that something called autoexec.bat runs stuff automatically.
If you already knew how to use CP/M, the transition to an IBM PC running DOS was no harder than transitioning from Windows 7 to Windows 10 today.
And being written for a 16-bit CPU, MS-DOS could handle larger amounts of memory. More memory meant more room to stretch out and add better functionality for new technology like hard drives. It also allowed bigger, more powerful software like Lotus 1-2-3. So there was a benefit to making that transition.
For most of the 1980s, the advantages and disadvantages of MS-DOS were irrelevant. Whatever system had Lotus 1-2-3 won. Nothing else mattered.
DOS vs Windows
Even as Microsoft Windows took off in popularity in the early 1990s, some people preferred DOS. The reason was speed, due to its much lower overhead. It was a much smaller system than Windows and as such, would boot much faster than any Windows version. Running DOS and DOS applications allowed older PCs to remain useful, even if they were a bit outmoded. If the programs they cared most about ran under DOS, some people felt no great need to switch.
Advances in computing in the mid to late 1990s, especially growth of the Internet, eventually forced DOS out. But a small but vocal minority of people weighed the advantages and disadvantages of MS-DOS and favored DOS long after Microsoft wanted to move on. IBM seized on this and released a Y2K compliant version of DOS in the late 1990s that it called PC DOS 2000. It didn’t sell in large numbers, but IBM saw a potential market.
Disadvantages of MS-DOS
Being better than CP/M was less of an advantage in 1981 than it was in 1985. MS-DOS offered no multitasking and no memory protection. You couldn’t flip between your word processor and spreadsheet like you can today. At best, you could load a program like Sidekick that let you pop up a calculator or a notepad while your spreadsheet or word processor paused. Some people used a program called DESQview, from Quarterdeck, to add multitasking to DOS, but it had limitations.
Lack of memory protection meant no security, and less stability. When you only had one task running, memory protection seemed like a nice-to-have, not a need-to-have. But once you loaded DESQview or Windows on top of it and tried to multitask, it became a problem. One program could step on another one and access its memory. It worked more often than not, but when you had crashes, it was maddening.
It also wasn’t intuitive. You booted up and the system presented you with a black screen with gray text and a flashing cursor next to a prompt that read C:\> or A:\>. There was no visual indication whatsoever what you were supposed to do next to interact with the machine.
And although it was a command-line interface, it was nowhere near as powerful as the command line interfaces in operating systems like Unix. Due to the limitations in the way DOS handled memory, there were limits to how much it could scale. Luxuries like command history and tab completion took memory, and that was a precious commodity. You could add those things, but at the expense of using up more memory. If your souped-up DOS machine couldn’t run Lotus anymore, you quickly reverted it.
Memory limitations of MS-DOS
And if you want to talk confusing, let’s talk about memory. EMS vs XMS is confusing but isn’t even the half of it.
MS-DOS had conventional memory, which was the memory range from 0 to 640K. It had upper memory, which was haphazard blocks in the range between 640K and 1 megabyte. There was expanded memory, which you accessed 64K at a time via a block of that memory in that 640K-1 megabyte range (and lost for any other use). Then there was extended memory, which lived above the 1 megabyte mark.
None of these memory types were 100% interchangeable. So it was possible to get errors stating you didn’t have enough memory even if you had 16 megabytes of RAM. If you didn’t have enough of the right type, you had to reconfigure your system so it would run. Here are some tips on optimizing DOS conventional memory.
When it came to advantages and disadvantages of MS-DOS, the memory alphabet soup was a big disadvantage.
And forget about plug and play
MS-DOS also wasn’t plug and play. When you added peripherals like modems or sound cards or network cards, you had to tell the system where the hardware lived in memory, often with cryptic commands stored in a file called config.sys. Installing a network card or a sound card in a crowded system could turn into a weekend project, especially if you chose off-brand hardware. I bought a Media Vision sound card in 1994 and never did get it to work completely in DOS because of an interrupt conflict I could never sort out. It worked, but frequently only as a lowest-common-denominator Sound Blaster clone.
You also had to tell your software about your system, because it couldn’t query the computer to detect what it had. Most games presented a list of questions at launch time about what kind of graphics card and sound card, if any, you had.
One of the reasons I was a big Amiga fan in the early 1990s was because I could plug stuff in and it just worked. When people asked me about the advantages and disadvantages of MS-DOS, that was one of the things I brought up.
While DOS itself was relatively cheap, it didn’t stay that way. The extras to make it more powerful frequently cost upwards of $40 themselves. Microsoft would eventually incorporate similar functionality into DOS in most cases, but the original was usually more powerful. My friends who tricked out their DOS machines often had $200 worth of add-on software they ran to squeeze out that extra power.
And this was a conundrum for developers too. If you developed a useful add-on for DOS, there was always that danger of Microsoft usurping it and taking away your market.
Why MS-DOS won
MS-DOS won mostly for the same reason the 8086 CPU won in spite of its limitations. Free markets rarely choose the best technical solution. They almost always choose the cheap, good-enough solution. IBM sold MS-DOS with the IBM PC for $40, versus $240 for CP/M-86. The IBM PC itself wasn’t cheap at all, but the IBM brand name helped it sell, and the cheapest operating system for it was likely to win. Once cheap IBM PC clones appeared, such as the Korean-made Leading Edge Model D, and the Tandy 1000 sold at ubiquitous Radio Shack stores, MS-DOS was unstoppable. Their counterparts in Europe were the Amstrad line of PCs. DOS was cheap. It ran on cheap hardware. You could buy it anywhere. And it had abundant software.
Since DOS was itself a clone of CP/M, it didn’t take much to turn CP/M into a clone of MS-DOS. Microsoft engaged in some questionable behavior to keep Digital Research’s competing DOS at bay, signing exclusivity agreements with larger computer makers and announcing new features and functionality years before it had any intention of delivering. After Microsoft reached the top of the mountain, it changed the rules to ensure nobody else could take the same path to success.
But to Microsoft’s credit, it recognized opportunities and seized on them. Rather than sell DOS to IBM, it licensed it, allowing it to license MS-DOS to other companies even while IBM sold its functionally identical PC DOS. As improved versions of Intel’s 8086 CPUs came out, Microsoft extended DOS to take at least some advantage of the new capability. DOS should have been completely outmoded by 1985. Certainly by 1995, Microsoft kept DOS well-hidden, but DOS remained the heart of Microsoft’s consumer operating systems until August 2001 when Windows XP appeared.
Neither IBM nor Microsoft expected MS-DOS to survive on the market much past 1987. I guess you can say they both miscalculated the advantages and disadvantages of MS-DOS, since it dominated the market in one form or another for 20 years. That’s a pretty good run. Windows NT outlasted it, but Windows NT ramped up far more slowly. It also had far fewer disadvantages, which was why it proved more enduring.
But for a while, DOS was arguably the best fit, and that’s why people still have fond memories of it today.