If you work with legacy codebases or build operating systems, 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 disk operating system (DOS) 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. 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 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.

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 portfolio_project.

The first thing you might want to do is double-check that the file is there. With DOS, you’d do this by:

  1. Typing in a command to navigate to the portfolio_project directory.
  2. Typing in another command to list all the files in the portfolio_project directory.
  3. 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 using a command-line interface. There are specific commands and syntax structures that you need to abide by to get things done.

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. As you’ll see, all of these versions of DOS are closely related.


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.


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 GUI-based operating system, Windows 1.0.

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.

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.

DOS today

Eventually, Microsoft found that DOS limitations prevented it from developing an operating system that could compete with Apple’s Unix-based systems. 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

Now that you know all about DOS, what’s next? If you’re not sure where to start, we recommend getting familiar with using the command line and learning the basics of Bash scripting.

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.

Bash/Shell Courses & Tutorials | Codecademy
We use a mouse or finger to click icons and access files, programs, and folders on our devices. But this is just one way for us to communicate with computers. The command line and the shell make up a quick, powerful, text-based interface developers use to more effectively and efficiently communicate…

Related articles

7 articles

What Is Bash Used For?

5 minutes
By Michael Klein

Have you ever opened your computer’s terminal or command line? Learn what Bash is, what it’s used for, how it helps developers, and how to get started with Bash.


Getting Comfortable in the Terminal: Linux

By Codecademy Team

When you hear the word “command line”, “terminal,” or “little window that tells a computer what to do but only has a flashing cursor in it,” what comes to mind? Do you scream and hide under your bed? Or do you look at me inquisitively and wonder why I would bring such a scary thing up?