What is this DOS of which you speak?

If you’ve ever browsed the internet for computer games from the ‘80s and ‘90s, you may have noticed that many of them ran on a platform called DOS. But what exactly is DOS?

DOS stands for Disk Operating System and refers to a specific type of operating system that runs from a disk drive as opposed to other storage devices. A Disk Operating System (DOS) can reside on a hard disk drive, a floppy disk drive, or even an optical disc drive. Early computers that predate DOS tended to use more primitive storage devices such as punched cards, magnetic tapes, and core memories instead.

Features of DOS

DOS is a single-user, single-tasking operating system that uses a command-line interface rather than a graphical user interface. Let’s take a closer look at each of these features independently to better understand what they mean:

  • Single-User

    A single-user computer system only allows one person to interact with its resources at a time. Such computer resources include but are not limited to the central processing unit, main memory, input/output devices, persistent storage, and file management.

    In DOS, there are also no file permissions, meaning that anyone who has access to the computer system can read, write, or delete files at will. There are other single-user operating systems, including Palm OS and Windows 3.1, that do support file permissions though. Ultimately, multi-user operating systems that we have today became the popular demand due to their flexibility and access control capabilities.

  • Single-Tasking

    A single-tasking operating system only allows one program or task to run at a time on the central processing unit (CPU). This means that once a user runs a program, it must finish executing before the user is able to execute another program. In other words, a user cannot run two or more programs simultaneously and share the CPU. DOS and CP/M are prime examples of single-tasking operating systems.

  • Command-Line Interface (CLI)

    A command-line interface (CLI) is a text-based user interface that allows users to navigate folders, manage files, and run programs on a computer system by inputting and executing text commands. There are no graphics and visual icons in a command line interface, only text. Command line interfaces are excellent for system scripting and automation of repetitive tasks through batch files and/or makefiles. DOS only consists of a command line interface upon startup, where it awaits commands such as ‘dir’ to list the contents of a folder.

    In contrast, a graphical user interface (GUI, pronounced gooey) is a visual user interface that allows users to interact with a computer system and its devices through symbolic icons and metaphorical indicators, such as menus, buttons, mouse pointers and more. Graphical user interfaces are everywhere nowadays. Modern OSes such as Windows, MacOS, and Linux consist of a graphical user interface upon startup with your desktop. The mobile phones in our pockets have a graphical user interface that allow us to open applications by tapping their visual icons. In fact, modern systems even have a “command prompt” or “terminal” program that is a command line interface on top of the graphical user interface if you ever wanted to interact with the system at a lower level.

MS-DOS Command Line Interface upon startup

Windows 95 Graphical User Interface (other old school GUIs in the attached link)

Up next: A Brief History of DOS and its Variants

"Hello, DOS!"

Hello, World!

I am thrilled to announce that I have begun a journey to learn and document 16-bit DOS VGA graphics programming based on the Intel 8086 and 80x86 processors.

As I learn along the way, I will be posting DOS graphics programming notes and detailed diagrams on my blog for you all to utilize when crafting your own retro video games. Over time, I also will be creating and selling my own unique retro video game development merchandise.

Tag along on my journey as I explore and discuss the applications, tools, and programming involved with DOS video game development.

Welcome aboard, DOS!