If you're a Computer Scientist or Back-End Developer learning about the history of programming and personal computers, then you've surely come across the term "DOS" — but what is it exactly? And why do we only hear about DOS when we talk about computers in the '80s and '90s?
In this article, we'll go over what DOS is, how it works, how it was replaced, and why people still use it today.
What is a disk operating system?
A DOS (disk operating system) is a type of operating system that runs from a disk drive rather than a paper-based medium like a punch card. More specifically, DOS refers to an early command-line-based operating system used to access, manage, and control a computer's hard drive and hardware components such as the processor and memory.
This is different from today's most popular operating systems, which all use a graphical user interface (GUI) rather than a command line. But, one thing that DOS and GUI-based operating systems have in common is that they're the key to getting a computer to do what you want it to do. This includes finding a personal document file, connecting to the internet, or running a computationally intensive program.
Life before GUIs
Whether you're reading this on a device powered by macOS, Windows, Android, iOS, or Linux, you're working within a GUI-based operating system. That means that you can control and manage your computer or device through visual representations like icons, folders, menus, and files.
But, believe it or not, using a computer wasn't always this easy or intuitive. Instead, people typed in commands to navigate through files and run applications stored on the computer hard drive.
Here's how it worked. Suppose that you want to run a program for your next coding project. The program is stored as a script file on your hard drive in a folder (or directory) named Codecademy.
The first thing you might want to do is double-check that the file is there. With DOS, you'd do this by:
- Typing in a command to navigate to the Codecademy directory.
- Typing in another command to list all the files in the Codecademy directory.
- Once you've confirmed that your script file is there, you'd type in another command to run your program.
As you might expect, using DOS is a bit like coding. There are specific commands and syntax structures that you need to abide by to get things done.
But, while people using DOS machines needed to learn new languages, it was still a huge improvement on the previous methods of writing and executing commands and computer programs using hundreds or thousands of punch cards.
A DOS by any other name
The term "DOS" refers to the general concept of controlling a computer through a system based on a disk drive. Since the earliest widespread adoption of DOS in the 1980s, several popular DOS-based operating systems have been developed — each with its own name. But as you'll see, all of these versions of DOS are closely related.
QDOS and 86-DOS
One of the earliest DOS-based operating systems, QDOS (Quick and Dirty Operating System), is also known as 86-DOS. In 1980, Microsoft bought the rights to QDOS/86-DOS to develop a new DOS-based operating system designed to run on IBM's original personal computer.
When IBM contracted Microsoft to develop an operating system for its new personal computers, Microsoft worked from the QDOS/86-DOS operating system. The result was an IBM-exclusive operating system known as PC DOS.
But, Microsoft never sold PC DOS to IBM but instead licensed it. So, IBM paid Microsoft a fee for every personal computer sold with PC DOS installed, and Microsoft was free to license its DOS software under another brand name. This is how MS-DOS was born.
When Microsoft licensed its DOS-based operating system to computer manufacturers besides IBM, it was branded as MS-DOS.
While the first IBM personal computers technically ran on MS-DOS, IBM rebranded the operating system as PC DOS. So, PC DOS and MS-DOS essentially refer to the same thing. When most people think of DOS, they think of MS-DOS with its famous
C:\> starting prompt.
From DOS to GUI
After IBM released its first DOS-based personal computers, the rest was history. Practically overnight, computers were no longer just a highly technical tool for businesses and research institutions but also something that anyone could use at home, work, or school.
And, when the first Apple Macintosh came out in 1984, people saw how computers could be even easier to use with a GUI-based operating system. Microsoft caught up with the release of its first high-quality GUI-based operating system, Windows 95.
While the early versions of Windows ran under DOS, Microsoft eventually developed operating systems that ran independently of MS-DOS, such as Windows 2000 and Windows XP. Since then, MS-DOS has essentially become obsolete.
DOS vs. Unix
Since DOS uses a command-line prompt, you might wonder how it differs from Unix — the operating system that powers Linux and macOS today.
So, when you open the terminal on your Mac, is that DOS? No, it isn't. Both DOS and Unix were developed independently, and each has its own strengths and weaknesses, such as:
- DOS was initially designed for single-tasking, while Unix has always been able to handle multi-tasking or running multiple programs at once.
- DOS was designed for single users, so it could never handle file ownership and managing user permissions like Unix-based systems.
- DOS was less power-intensive than Unix, which made it ideal for early personal computers.
Eventually, Microsoft found that DOS limitations prevented it from developing an operating system that could compete with Apple's Unix-based systems. So, the company abandoned DOS starting with Windows NT, Windows 2000, and Windows XP.
Still, that doesn't mean that DOS has completely disappeared. If you open the Command Prompt application on a Windows machine, you'll see a command line that looks similar to the old DOS prompts. This isn't true DOS, but rather a virtual machine environment designed to emulate DOS.
Like with terminal on Macs, developers learn how to use the command line in Windows to work with hard-to-access files within their computers or perform automated tasks that are easier to program with text-based instructions.
Learn how to control your computer without a mouse
And, if you're not sure what else you should learn as a new developer, we've got you covered. Our Career Paths will keep you focused on learning all the skills you need to succeed in your new development career.