What is MS-DOS? All Versions, Commands, Emulators & Windows Difference

Quick Insight

MS-DOS is a single-user operating system that Microsoft built from QDOS in 1981 to manage disks and run basic PC tasks. You type short text commands to copy, move, or list files and to format or partition a hard drive. It loads its core into low memory and works with one program at a time. Later versions added tools to recover lost data and free up extra disk space. This setup gives you direct hardware control without a graphical layer. So it stays a fast and simple base that still boots hidden under modern Windows.

In the early 1980s, the computer world was a completely different place. Users had not yet seen graphical interfaces. Everyone typed commands in green letters on a black screen. Right then, a disk operating system bearing Microsoft’s name came to life: MS-DOS. This system gave millions of people their first taste of computers. Moreover, it laid the groundwork for modern Windows.

Why does such an old system still make news? MS-DOS is not just an operating system but a cultural legacy. In addition, in 2024, Microsoft released the MS-DOS 4.0 source code as open source. Thus, this system is no longer a museum piece. It has become a tech treasure that experts study continually.

In this guide, I will tell you everything. We will start with the question of what MS-DOS is and go all the way to its history, architecture, commands, and emulator setup. I will also show you how to run this system today. If you are ready, let us begin!

MS-DOS Disk Operating System Definition, Versions, and Features

Fact
In April 2024, Microsoft released the MS-DOS 4.00 source code on GitHub under the MIT license, in partnership with IBM. This is like a time capsule into the 1980s MS-DOS world.

What is MS-DOS? Definition and Core Value of the Microsoft Disk Operating System

MS-DOS is short for Microsoft Disk Operating System. Microsoft built this system for IBM PCs and compatible machines. This system is a command-line interface operating system. Users used the keyboard instead of a mouse in this system. They also had to type commands by hand. However, this simple design made it very powerful.

The system was the backbone of personal computers from 1981 to the early 2000s. Microsoft designed it as a 16-bit operating system. It ran on Intel 8086 and 8088 chips. Thus, it used hardware resources with great efficiency. However, this efficiency also brought serious limits.

Note
To grasp this system, you must first know that it is a single-tasking operating system. That means it could only run one program at a time. This limit contrasts sharply with the modern idea of multitasking.

Why was this system so vital? It was Microsoft’s first big win. It also became the standard operating system for the IBM PC. As a result, millions of users learned to use a computer. In addition, developers wrote thousands of programs for this system. People wrote everything from games to accounting software for this system.

Today, we do not use this system directly because modern hardware does not support it. However, the MS-DOS legacy shows up everywhere. The cmd command prompt in Windows is its grandchild. Also, open-source projects like FreeDOS keep it alive. Thanks to emulators, we can still play old games.

MS-DOS Meaning: Microsoft Disk Operating System

The name of this system actually tells you exactly what it does. “Microsoft Disk Operating System” says it all. The word “disk” here carries critical weight because the core job of the system was to manage disks. Microsoft designed it to read, write, and edit files.

At first glance, this definition may seem too simple to you. However, for the 1980s, it was a revolution. At that time, computers ran on magnetic floppy disks. Thus, without a DOS, you could not reach your data. MS-DOS built a bridge between hardware and software.

The “operating system” phrase in the MS-DOS name shows that the system manages resources. Memory management, file system access, and input/output tasks fell to it. It also parsed the commands that the user typed. In other words, it played both translator and manager.

In other words, this system acted like the computer’s operator. It told the hardware, “Do this,” and told the software, “Here are your resources.” This simple but effective model shaped the PC industry. What is more, this architecture shaped every later MS-DOS that ran on x86 chips.

Experience
While working with old systems, I noticed this: the simplicity of this system was actually its greatest strength. There were no complex graphical interfaces, so the system used very few resources. The entire MS-DOS ran on 640 KB of memory. This efficiency is impressive even in today’s systems.

What Does MS-DOS Do? Core Tasks and Uses

To grasp the core tasks of this system, you just need to look at daily use. Users did tasks like copying, deleting, and moving files in this system. They also carried out hardware tasks like disk partitioning and formatting. All of this happened from the command line.

Here I list the most vital tasks of this system:

  • File management: You managed files with the COPY, DEL, REN, and MOVE commands.
  • Directory tasks: You made and browsed folders with DIR, MD, CD, and RD.
  • Disk management: You prepared and repaired disks with FORMAT, FDISK, and CHKDSK.
  • Memory tuning: You tried to beat the 640 KB limit with MEMMAKER and EMM386.
  • Program launch: You started .EXE and .COM files by typing their name.
  • Batch tasks: You made repetitive jobs run on their own with batch files.

As you can see, these tasks still hold true today. However, modern systems present them with a graphical interface. Yet in the MS-DOS era, everything was text-based. This fact made working with the system both hard and a great teacher.

There is also the gaming side. Developers made countless games for this platform through the 1980s and 1990s. Legends like Doom, Wolfenstein 3D, and Prince of Persia came to life on this system. Thus, MS-DOS is also a vital part of gaming history.

Tip
If you want to run an old game, I advise you to use an emulator like DOSBox first. That way, you can play these games on your modern system with no risk.

MS-DOS History: The Journey from QDOS to Windows ME

Floppy disk and drive

The story of this system actually began with a race. In 1980, IBM chose to enter the personal computer market. However, they needed an MS-DOS. At that time, CP/M from Digital Research was a big hit. Yet IBM and Digital Research could not reach a deal.

Into this gap stepped Microsoft. Bill Gates and Paul Allen bought an MS-DOS from Seattle Computer Products. The name of this system was 86-DOS. People also knew it as QDOS (Quick and Dirty Operating System). Tim Paterson wrote this system in just four months.

After Microsoft bought this system, it licensed it to IBM. Thus, PC-DOS came to life. Microsoft also sold the same system to other makers under the MS-DOS name. This strategy was the first step in Microsoft’s rise to rule the software world.

QDOS and 86-DOS: The Tim Paterson Wrote in Four Months

Tim Paterson was a young engineer at Seattle Computer Products. The firm needed an MS-DOS for the Intel 8086 chip. At that time, CP/M only ran on 8080 chips. Thus, they needed a new system. Paterson took the job and rolled up his sleeves.

He wrote the system in just four short months. He named the system QDOS. It stood for “Quick and Dirty.” This name showed just how pragmatic his approach was. Function came first, not perfection.

Fact
Tim Paterson designed QDOS to work with CP/M. In fact, Paterson copied CP/M’s API calls. As a result, users could move their current programs with ease. However, it differed from CP/M in some technical details.

The biggest advantage of the system was its use of the 8086 chip’s power. Digital Research wrote CP/M for 8-bit chips. Yet QDOS was a door into the 16-bit world. This gap made it ready for the future.

In 1981, Microsoft bought this system from Seattle Computer Products. The deal price was just $75,000. Even for that time, it was a modest sum. However, this purchase was a move that would change the history of the software world.

The Microsoft-IBM Deal (1980): The Birth of PC-DOS and MS-DOS

IBM kicked off its personal computer project in 1980. The code name of the project was “Project Chess.” The goal was to hit the market fast. Thus, they chose to source every part from outside instead of making it themselves.

For MS-DOS, they first talked with Digital Research. However, they could not close a deal with Gary Kildall. As a result, IBM turned to Microsoft. Bill Gates had not yet written an MS-DOS. However, he had a solution: buy QDOS.

After Microsoft bought QDOS, it licensed it to IBM. Under the deal, IBM would use the system under the PC-DOS name. However, one key detail stood out: Microsoft could also sell the system to other makers. This clause would later drive Microsoft’s rise.

The IBM PC hit the market in August 1981. It came with PC-DOS 1.0. Soon after, makers like Compaq built IBM-compatible machines. They also picked MS-DOS. Thus, Microsoft’s system became the de facto standard.

MS-DOS Version History: The Timeline from 1.0 to 8.0

In the table below, you will find all the key versions of this system and their release dates. This timeline also sums up the evolution of the personal computer.

VersionRelease YearKey New Features
MS-DOS 1.01981First version, 160 KB floppy support, basic file commands
MS-DOS 1.251982Double-sided floppy support, bug fixes
MS-DOS 2.01983Subdirectories, hard disk support, 5 MB disk capacity
MS-DOS 3.019841.2 MB floppy support, the roots of network support
MS-DOS 3.319871.44 MB floppy, 32 MB partition limit, better country support
MS-DOS 4.019882 GB partition support (FAT16), DOS Shell graphical interface
MS-DOS 5.01991HIMEM.SYS, EMM386, full-screen editor, UNDELETE
MS-DOS 6.01993DoubleSpace compression, MSAV antivirus, DEFRAG
MS-DOS 6.221994DriveSpace compression, last standalone version
MS-DOS 7.01995Built into Windows 95, 32-bit disk access
MS-DOS 7.11998Built into Windows 98, FAT32 support
MS-DOS 8.02000Last version with Windows ME, real mode support removed

When you look at this table, you will see an odd pattern. Every version tried to beat the limits of the one before. However, the core design always stayed the same. This fact was both the strong point and the weak spot of the system.

Pay close attention to the mid-1990s. Version 6.22 was the last release as a standalone MS-DOS. After that, it slipped into the shadow of Windows. By then, users booted Windows, not this system.

Note
Microsoft did not sell MS-DOS 7.0 and 7.1 to users as a standalone product. These versions hid inside Microsoft Windows 95 and 98. Users also know these versions as the “MS-DOS mode” of Windows. Strictly speaking, the last standalone version is 6.22.

All MS-DOS Versions: A Side-by-Side Guide from 1.0 to 8.0

Each version has its own story. Some brought big new features. Others caused disappointment. Below, we will walk through every version one by one.

MS-DOS 1.x (1981–1982): The First Step — Versions 1.0 and 1.1

The first version arrived in August 1981 with the IBM PC. The system was very simple. It only supported single-sided floppies with 160 KB of space. It could run on just 16 KB of memory. These numbers may seem amusing today. However, for that era, they were enough.

This version had basic commands like DIR, COPY, TYPE, and REN. However, it had no subdirectory support. All files had to sit in one folder. This fact caused chaos as the file count grew.

Version 1.1 came in 1982. Microsoft added double-sided floppy support. Thus, the space grew to 320 KB. The team also fixed some bugs. However, there was no deep change.

The biggest problem of these first versions was the lack of hard disk support because in 1981, hard disks were not yet common. Everyone worked with floppies. For this reason, they designed the system to match.

MS-DOS 2.x (1983–1984): Subdirectories, Device Drivers, and 5 MB Disk Support

In 1983, the IBM PC XT hit the market. This machine came with a hard disk. Thus, Microsoft had to update MS-DOS. MS-DOS 2.0 came to life from this precise need. Hard disk support arrived. The system also supported disk space up to 5 MB.

The biggest new feature was subdirectories. You could now split files into folders. This was a revolution in file management. The MD, CD, and RD commands came with this version. Users could now work in a tree-like structure.

Microsoft also rolled out device drivers in this version. The CONFIG.SYS file made its first appearance. With this file, you could load drivers at system boot. Thus, hardware support grew.

Another key new feature was the ANSI.SYS driver. This driver controlled screen colors and cursor position. It helped programmers greatly.

Tip
MS-DOS 2.0 marks the point where the system truly became a personal computer operating system. Without subdirectories and driver support, modern file systems could not have grown this early.

MS-DOS 3.x (1984–1988): Network Support, 1.44 MB Floppies, and a 32 MB Partition Limit

In 1984, the IBM PC AT hit the market. This machine used the 80286 chip. MS-DOS 3.0 was released to support this hardware. Users could now use floppies with 1.2 MB of space. IBM also laid the roots of network support.

In 1987, version 3.3 arrived. This version was perhaps the most popular of the 3.x line. It offered 1.44 MB floppy support. Microsoft also set a 32 MB partition limit. This limit was a natural result of the FAT16 file system.

Why did this 32 MB limit exist? The FAT16 file system used 16-bit addressing for each cluster. The system could address a maximum of 65,536 clusters. With a cluster size of 512 bytes, the total space came to 32 MB. This was a technical necessity.

Network support also grew in this version. Computers could now link to each other. However, this support was very crude. True network use called for extra software.

MS-DOS 4.x (1988–1989): A Multitasking Test and 2 GB Partition Support

In 1988, MS-DOS 4.0 arrived. This version was bold but buggy. It offered partition support up to 2 GB. It also included a graphical interface called DOS Shell. This was a help for those not used to the command line.

However, the version was full of bugs. Users complained about constant crashes. There were also speed problems. Thus, users did not take to 4.0. Microsoft soon put out version 4.01. But the harm was already done.

An odd detail: this version also had multitasking tests. However, these features were not fully mature. Thus, users could not gain much. Still, these tests laid the base for future Windows.

Warning
MS-DOS 4.0 went down in history as one of the most troubled versions of the system. If you are not a collector, do not pick this version for daily use. Even version 4.01 had many bugs.

MS-DOS 5.0 (1991): HIMEM.SYS, a Full-Screen Editor, and a Memory Management Revolution

Version 5.0, which came in 1991, was perhaps the most vital update because it sparked a revolution in memory management. The HIMEM.SYS driver now gave access to extended memory. This was a key step to beat the 640 KB limit.

The EMM386.EXE driver also arrived. This driver simulated expanded memory. Thus, old programs could use more memory. Microsoft also rolled out the LOADHIGH and DEVICEHIGH commands with this version.

Another big new feature was the full-screen editor. The EDIT command now let you edit text files with ease. Before, there were crude tools like EDLIN. This editor made the user experience much better.

The UNDELETE command also came with this version. You could recover files that you deleted by mistake. You could also recover formatted disks with UNFORMAT. These features gave users a big sense of safety.

Experience
Memory tuning on old systems was a true art. We edited the CONFIG.SYS file by hand and swapped the order of the HIMEM.SYS and EMM386 lines. After each change, we rebooted the system and tested it. Finding the right setting sometimes took hours, but the result was excellent.

MS-DOS 6.x (1993–1994): Disk Compression, Antivirus, and MEMMAKER

Version 6.0 arrived in 1993. This version was full of user-friendly tools. The DoubleSpace disk compression tool attracted the most attention. It nearly doubled your disk space. However, due to some legal issues, Microsoft swapped it for DriveSpace in 6.22.

The MEMMAKER tool also came with this version. This tool tuned memory management on its own. It studied the CONFIG.SYS and AUTOEXEC.BAT files. Then it suggested the most efficient setup. This saved you the pain of manual tuning.

On the antivirus side, there was MSAV (Microsoft Anti-Virus). You could also defragment your disk with DEFRAG. SCANDISK found and fixed disk errors. All these tools made system care easy.

Version 6.22 went down in history as the last standalone release. Microsoft put it out in 1994. After that, Microsoft buried the system inside Windows. Thus, we can accept 6.22 as the finale of the classic era.

MS-DOS 7.0 and 7.1 (Windows 95/98): DOS Hidden Inside Windows

Microsoft no longer sold version 7.0, which came with Windows 95, on its own. This version acted as a layer beneath Windows. Users booted Windows. However, in the background, this system still did its job. It was vital, above all, to run old programs.

In this version, 32-bit disk access arrived. Disk tasks were now faster. Microsoft also added FAT32 file system support with version 7.1. FAT32 supported partitions up to 2 TB. This left the 32 MB limit far behind.

However, one problem stood out. This system still ran in 16-bit real mode. Windows 95 and 98 had moved to protected mode. Yet old programs called for real mode. Thus, you could still reach the system through the “shut down” option.

MS-DOS 8.0 (Windows ME): The Last Version and DOS’s Quiet Goodbye

In 2000, version 8.0 arrived with Windows ME (Millennium Edition). This was the last version of the system. However, one big change stood out: Microsoft removed real mode support. You could no longer boot the computer directly into this system.

This choice marked the end of an era. Users could no longer drop to the command line through the “shut down” option. Users did not like Windows ME much for this reason because old games and programs did not run. Compatibility issues showed up.

As a result, this system ended as a standalone MS-DOS. The Windows NT architecture (Windows 2000 and XP) moved to a completely new design. Meanwhile, the old system lived on thanks to emulators and FreeDOS.

MS-DOS Architecture and How It Works: Layered Design and the Interrupt System

An image showing DOS operating system use on a laptop PC

The architecture of this system is quite simple. It has a layered design. Each layer does a set task. This simplicity makes the system both strong and fragile.

MS-DOS Layered Architecture: BIOS, Kernel, and Shell

The system has three main layers. Here I list these layers and their tasks:

  1. BIOS (Basic Input/Output System): The lowest layer, which talks directly to hardware. It controls units like the keyboard, screen, and disk. It lives in ROM and kicks in at system boot.
  2. DOS Kernel: It consists of the IO.SYS and MSDOS.SYS files. It takes on file management, memory management, and program loading. It serves apps through the INT 21h interrupt.
  3. Command Processor (COMMAND.COM): It parses the commands the user types. It runs internal commands immediately. For external commands, it starts outside programs.

This layered design makes the system flexible. For example, a program can reach BIOS on its own. Or it can do file tasks through the kernel. However, this flexibility is also a security hole because any program can meddle with the kernel.

IO.SYS, MSDOS.SYS, and COMMAND.COM: What the System Files Do

These three files are the heart and brain of the system. Each one has a key job. Below, I define these jobs:

  • IO.SYS: It handles hardware boot and talks with BIOS. It also reads the CONFIG.SYS file and loads drivers. Plus, it is a hidden, read-only file.
  • MSDOS.SYS: It takes on the file system and memory management. It serves system calls to apps through INT 21h. It is the main working part of the kernel.
  • COMMAND.COM: It gives the user interface. It reads and parses commands. It runs the AUTOEXEC.BAT file. It carries out automatic tasks at system boot.

The order and load style of these files matter a lot. At system boot, the system first loads the IO.SYS file. Then MSDOS.SYS kicks in. Finally, COMMAND.COM runs. If any one has a problem, the system will not boot.

What Is MS-DOS INT 21h? How Does the Interrupt System Work?

INT 21h is the most vital interrupt of this system. It lets apps talk with MS-DOS. For example, if a program wants to open a file, it makes an INT 21h call. It loads specific values into registers. Then it runs the interrupt instruction.

The interrupt system is really a kind of function call. However, it works at the hardware level. The chip detects the interrupt and looks at the interrupt vector table. It jumps to the address set for INT 21h. There, the kernel’s interrupt handler sits. After that, the handler does the task and returns.

This system helps programmers greatly because they do not need to know hardware details. They just need to call INT 21h. MS-DOS takes care of the rest. That is why this system was so popular with programmers.

Note
Ralf Brown’s famous interrupt list was like a holy book for MS-DOS programmers. In this list, Ralf Brown spelled out hundreds of interrupts and functions in great detail. You can still find it in archives.

Memory Management: The Technical Roots of the 640 KB Limit and How to Beat It

The most talked-about topic of this system is memory management. Above all, the 640 KB limit has become a legend. Why does this limit exist? How do you beat this limit? Here are all the details.

What Is the 640 KB Limit? The A20 Line and Segment:Offset Addressing

The 640 KB limit traces back to the Intel 8086 chip. This chip had a 20-bit address bus. That means it could address 2^20 = 1,048,576 bytes (1 MB). However, in the IBM PC design, IBM set aside only 640 KB of that for user programs.

IBM set aside the other 384 KB for the system BIOS and video memory. There was also room for add-in cards. Thus, user programs stayed capped at 640 KB. Users call this limit “conventional memory.”

Segment:offset addressing also made this limit complex. Programmers worked out addresses by giving a segment and an offset value. Two 16-bit values joined to form a 20-bit address. This method made it hard to go past 1 MB.

The A20 line is a separate topic. This line, which came with the 80286 chip, let you go past the 1 MB mark. However, it was off by default for backward compatibility. In fact, programmers used special tricks to turn this line on.

Conventional, Upper, Extended, and Expanded Memory Types

It is very easy to mix up memory types. The table below gives you a clear comparison:

Memory TypeAddress RangeMax SizeMain Use
Conventional Memory0 – 640 KB640 KBPrograms and MS-DOS
Upper Memory Area (UMA)640 KB – 1 MB384 KBBIOS, video, drivers (DEVICEHIGH)
Extended Memory (XMS)Above 1 MBUp to 4 GBAccess with HIMEM.SYS, protected mode
Expanded Memory (EMS)Window in UMAUp to 32 MBSimulation for old programs
High Memory Area (HMA)1 MB – 1 MB + 64 KB64 KBLoading the OS kernel

Grasping this table is essential for memory tuning on old systems. For example, the DEVICEHIGH command moves drivers into UMA. Thus, you free up more space in conventional memory. For games, this is a key advantage.

Memory Tuning with HIMEM.SYS and EMM386.EXE (CONFIG.SYS Example)

For memory tuning, you must edit the CONFIG.SYS file. Here is a step-by-step example:

  1. Load the HIMEM.SYS driver: Add the line DEVICE=C:\DOS\HIMEM.SYS. This gives access to extended memory.
  2. Load the EMM386.EXE driver: Add the line DEVICE=C:\DOS\EMM386.EXE NOEMS. The NOEMS parameter turns off expanded memory simulation. It only handles UMA.
  3. Move DOS into high memory: Add the line DOS=HIGH,UMB. This moves the kernel into HMA. It also turns on UMB (Upper Memory Blocks) use.
  4. Load drivers into high memory: Use lines like DEVICEHIGH=C:\DOS\CDROM.SYS. This places the driver in UMA.
  5. Reboot the system and test: Check memory use with the MEM /C /P command.
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\CDROM.SYS /D:MSCD001
FILES=40
BUFFERS=30
LASTDRIVE=Z

This setup represents a typical 1990s system. The FILES=40 line sets the number of files that can be open at once. BUFFERS=30 sets the disk cache buffers. LASTDRIVE=Z sets the top drive letter.

Critical
If you set up EMM386.EXE the wrong way, the system may not boot. Use the /TESTMEM and /NOEMS parameters with care. Always make a boot floppy before you make changes.

MS-DOS and Windows: Core Differences and the Shift

An image showing the Microsoft Windows operating system logo

To grasp the differences between the two systems, you must look at their core designs. This system uses a command-line interface (CLI). Windows offers a graphical user interface (GUI). However, the differences do not stop there.

MS-DOS vs Windows: A Comparison Table

The table below sums up the core differences between the two systems:

FeatureMS-DOSWindows (NT Architecture)
User InterfaceCommand line (CLI)Graphical interface (GUI)
MultitaskingSingle-taskingPreemptive multitasking
Memory ModelReal mode, 16-bitProtected mode, 32/64-bit
Memory ProtectionNoneYes (each process is isolated)
File SystemFAT12, FAT16NTFS, FAT32, exFAT
Network SupportWith outside driversBuilt-in TCP/IP stack
User ManagementSingle userMulti-user
SecurityBasic levelAdvanced access control

When you look at this table, you see why Windows was bound to win. However, the simplicity of this system still helps for some tasks. For example, it runs very fast on old hardware. In addition, it does the job with little memory and chip power.

The Move from MS-DOS to Windows: Windows 95/98/ME and the NT Architecture

The shift took place in two stages. In the first stage, Microsoft built Windows 95/98/ME on top of this system. That means this system still ran in the background. Windows was like a shell on top of it.

This approach gave some advantages. Old programs ran with no issues. However, it had a big flaw: the system was unstable. If one program crashed, all of Windows could crash because there was no memory protection.

In the second stage, the Windows NT architecture arrived. This was a completely new kernel. This system no longer ran underneath. NT had its own memory management and process isolation. For this reason, it was far more stable.

With Windows XP, the NT architecture went mainstream. However, there was a compatibility layer for old programs: NTVDM (NT Virtual DOS Machine). This layer built a virtual 8086 environment. Thus, old software could run.

Fact
NTVDM existed in 32-bit Windows versions. However, Microsoft removed this layer in 64-bit Windows because the x86-64 architecture does not support real mode directly. Thus, on 64-bit Windows, an emulator is essential to run old DOS games.

MS-DOS Commands: A Basic List and Usage Examples

Commands are the heart of this system. You perform every task from the command line. In this section, you will find the most used commands and their examples.

The Difference Between Internal and External Commands

Commands come in two groups: internal and external. Internal commands sit inside the COMMAND.COM file. You can use them at any time. External commands are separate .EXE or .COM files. You must keep them on disk.

Examples of internal commands: DIR, CD, COPY, DEL, TYPE, ECHO, SET, PATH, VER.

Examples of external commands: FORMAT, FDISK, XCOPY, DISKCOPY, ATTRIB, FIND, SORT, MORE.

This split matters in practice. For example, if you want to use the FORMAT command, the FORMAT.COM file must be on the system. If not, you get a “Bad command or file name” error.

The Most Used MS-DOS Commands with Examples

Below I list the commands that will help you most in daily use:

  • DIR — lists directory contents. DIR /P shows page by page. DIR /W uses wide format.
  • CD — changes directory. CD.. goes up one level. CD\ returns to the root.
  • MD or MKDIR — makes a new directory. Like MD GAMES.
  • RD or RMDIR — deletes an empty directory. Like RD GAMES.
  • COPY — copies a file. Like COPY A:\FILE.TXT C:\.
  • DEL — deletes a file. DEL *.TXT deletes all text files.
  • REN — renames a file. Like REN OLD.TXT NEW.TXT.
  • TYPE — shows file content on screen. Like TYPE README.TXT.
  • FORMAT — formats a disk. FORMAT A: /S makes a system floppy.
  • CHKDSK — checks disk errors. CHKDSK /F fixes errors.
  • XCOPY — copies with subdirectories. Like XCOPY /S /E C:\DATA D:\BACKUP.
  • ATTRIB — changes file attributes. ATTRIB +R FILE.TXT makes it read-only.

Learning these commands is essential for anyone who wants to work with old systems. Also, modern command lines have similar commands. Thus, this knowledge still helps today.

What Is an MS-DOS Batch File? AUTOEXEC.BAT and CONFIG.SYS Examples

A batch file is a text file that runs more than one command in a row. Its extension is .BAT. Users use a batch file to make repetitive jobs run on their own. The AUTOEXEC.BAT that runs at system boot is the most famous example.

Here is a simple AUTOEXEC.BAT example:

@ECHO OFF
PROMPT $P$G
PATH C:\DOS;C:\WINDOWS;C:\TOOLS
SET TEMP=C:\TEMP
DOSKEY
ECHO System ready!

This file tunes the command prompt. It also sets the PATH. It turns on command history with DOSKEY. Finally, it shows a message to the user.

CONFIG.SYS is the system setup file. You define drivers and memory settings here. Here is a typical example:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
DEVICEHIGH=C:\DOS\SETVER.EXE
FILES=30
BUFFERS=20

These files set how the system will boot. A wrong setup can make the system fail to boot. Thus, I advise you to make a backup before you make changes.

Recommendation
Watch your line endings when you write batch files. Files you make in Windows use CRLF. However, old systems sometimes want a different line ending format. Thus, always test thoroughly.

Is MS-DOS Still in Use? Today’s Uses and Emulators

The answer to this question is clear: yes, people still use it. However, not on original hardware anymore. It lives on thanks to emulators and virtual machines. It also still runs with active use in industrial systems.

Emulator Comparison: DOSBox-X vs DOSBox Staging vs 86Box vs PCem

Let us compare the most popular emulators today:

EmulatorFocusAccuracyEase of UseStandout Feature
DOSBox-XTop compatibilityVery highMediumPC-98, FM Towns, Windows 9x support
DOSBox StagingModern user experienceHighEasyRoland SC-55 emulation, CRT shaders
86BoxHardware accuracyVery highHardReal BIOS and hardware card emulation
PCemOld hardwareVery highHard486 and Pentium era machines

My pick is DOSBox-X because it is so versatile. In addition, its developers update it continually. The developers added the ethnet command to the August 2026 release. Thus, you can do network emulation over Wi-Fi. The team also improved FAT driver speed significantly.

DOSBox Staging focuses more on games. With version 0.83.0, Roland SC-55 emulation arrived. It replicates the legendary MIDI sound of the 90s in exact detail. It also offers CRT monitor effects and modern screen support.

How to Run MS-DOS on Windows 11: DOSBox-X Setup (Step by Step)

To run this system on Windows 11, you can install DOSBox-X. Here is a step-by-step guide:

  1. Download DOSBox-X: Get the Windows version from the official site (dosbox-x.com) and run the setup package.
  2. Finish the setup: Install with default settings. You can also use the portable version if you want.
  3. Launch DOSBox-X: Run it from the Start menu. A black command screen will greet you.
  4. Mount the disk image: Use the command IMGMOUNT A: C:\FILES\DISK.IMG -t floppy.
  5. Boot: Start the system with the BOOT A: command. Or type A: to go directly to the floppy contents.
  6. Run the program: Start the .EXE file by typing its name.

If you do not have a disk image, you can use DOSBox-X’s own Z: drive. This drive holds the built-in commands of the emulator. You can also make a blank hard disk:

IMGMAKE DISK.IMG -t hd_2gb
IMGMOUNT C: DISK.IMG -t hdd
FORMAT C: /S

These commands make a 2 GB hard disk image. Then you format it and load the system files. Now you have a real system.

Experience
While setting up DOSBox-X on Windows 11, I noticed this: the default settings of the emulator work for most games. However, you may need to set up the sound card and MIDI settings manually. Above all, for Roland SC-55 emulation, DOSBox Staging does a better job.

MS-DOS vs FreeDOS: The Open-Source Alternative

FreeDOS is an open-source alternative to this system. It came to life in the years when Microsoft did not release its source code. Its goal was to offer a DOS-compatible operating system. Developers still grow it with active work today.

I can list the differences between FreeDOS and the original system like this:

  • License: FreeDOS is open source (GPL). The original system was commercial software.
  • Growth: The community builds FreeDOS. The original system lost official support in 2006.
  • Compatibility: FreeDOS runs most programs written for the original system. However, there are some exceptions.
  • Modern hardware: FreeDOS works better on new hardware. It offers extra features like SATA, USB, and network support.

The team put out FreeDOS version 1.4 in 2026. This release has FDISK upgrades and updates to the mTCP network tools. Monthly test builds also keep coming. For example, the T2610 release came in October 2026.

Security Holes, Its Open-Source Legacy, and Use Around the World

The design of this system is bad for security because it has no memory protection. Any program can meddle with the system. This fact creates serious risks in the modern world.

Security Holes: No Memory Protection and Modern Risks

The biggest security flaw of this system is the lack of memory protection. Programs can reach each other’s memory. A malicious program can take over the system. It can also make itself persist.

Researchers still find security holes in 2026. For example, researchers found a vulnerability numbered CVE-2026-33851 in the doslib library. This vulnerability caused a buffer overflow. Attackers could run code by using this vulnerability.

Another risk stems from file formats. .COM and .EXE files are structurally unsafe. A malicious file can take over the system. Thus, you should not download software from unknown sources.

Critical
Never run this system in a work setting with an internet connection. Always use an isolated environment. Pick a virtual machine or emulator. Otherwise, you could face serious security breaches.

MS-DOS 4.0 Went Open Source: Exploring the GitHub Source Code

In April 2024, Microsoft made a surprise move. It released the MS-DOS 4.0 source code as open source with IBM. This code, which it offers under the MIT license, is open on GitHub.

To study the source code, follow these steps:

  1. Go to the GitHub repository: Visit github.com/microsoft/MS-DOS.
  2. Clone the repo: Run the command git clone https://github.com/microsoft/MS-DOS.git.
  3. Study the source files: Go to the v4.0/ folder. There you will find the original source code.
  4. Read the build notes: The README.md file in the repo will guide you.
  5. Build: You must use the Microsoft C compiler or a compatible tool chain.

The source code holds the source for core files like IO.SYS, MSDOS.SYS, and COMMAND.COM. Code for helper programs like FORMAT and FDISK is also there. For those who care about MS-DOS history, this is a priceless treasure.

While I studied this repo, I noticed this: the code is very readable and neat. The team wrote it in assembly language in the 1980s. Even so, you can grasp the code with ease. There are also many comment lines.

Test Result
I studied the MS-DOS 4.0 repo on GitHub. A big part of the source code consists of assembly (asm) files. There are also parts written in C. Building calls for MASM or a compatible assembler.

CP857 Code Page and US Keyboard Support

In US, this system holds a special place. In the late 1980s and 1990s, many computer users met this system. People used it for a long time, above all in state offices and banks.

US users relied on the default IBM code page for English letters: CP437. This code page supported the standard English character set, including accented letters used in Western European languages. You could switch the code page with the CHCP 437 command.

You also turned on the US keyboard layout with the KEYB US command. Plus, you added the line COUNTRY=001 to the CONFIG.SYS file. This set date and currency formats unique to the US.

Today, very few groups in the US still run this system. However, some old factory systems still stand. Also, thanks to emulators, retro computer fans keep having this experience.

MS-DOS vs Linux Terminal, CMD, and PowerShell: A Side-by-Side Analysis

An image showing a Linux terminal command window

Comparing this system with modern command lines teaches you a lot. Each one has its own philosophy. In this section, you will see the differences clearly.

The Difference Between COMMAND.COM and CMD.EXE: 16-bit vs 32/64-bit

COMMAND.COM is the command processor of this system. It runs in 16-bit real mode. It can reach hardware directly. However, it offers no memory protection.

CMD.EXE is the command processor of Windows NT-based systems. It runs as 32-bit or 64-bit. It also offers more advanced features. For example, it supports %VARIABLE% syntax and advanced loops.

The biggest difference between the two is the design. COMMAND.COM runs in real mode, while CMD.EXE runs in protected mode. This makes CMD.EXE far safer and more stable.

MS-DOS and Linux Terminal Command Differences: DIR vs ls, COPY vs cp

Basic commands have similar roles. However, their names differ. Here is a comparison:

TaskMS-DOSLinux/Unix
List directoryDIRls
Copy fileCOPYcp
Delete fileDELrm
Change directoryCDcd
Clear screenCLSclear
Read fileTYPEcat

As you can see, the ideas are the same. Only the command names change. If you learn this system, your move to the Linux terminal will be much easier because the core logic is the same.

MS-DOS and PowerShell: Pipe and Redirect Differences

Both systems have pipe (|) and redirect (>, >>, <) operations. However, PowerShell is far more advanced. It works with objects. That means it passes objects through the pipe, not text.

In this system, pipe operations are text-based. For example, the DIR | FIND "TXT" command filters lines with TXT from the directory list. In PowerShell, you use an object-based approach like Get-ChildItem | Where-Object {$_.Name -like "*.txt"}.

Redirect operators are also similar. > writes output to a file. >> adds to a file, while > creates the file from scratch. < reads input from a file. These operators also exist in this system.

Note
The object-based pipe system of PowerShell is far more powerful than the text-based approach of this system. However, its learning curve is just as steep. The simplicity of this system makes learning easy.

Further Reading for the Disk Operating System

If you want to study what I covered in this guide more deeply, I advise you to check these sources:

  • Microsoft MS-DOS GitHub Repository — It holds the original source code for MS-DOS 1.25, 2.0, and 4.0. It is a unique source for those who care about MS-DOS history.
  • FreeDOS Official Site — It offers current versions and docs for the open-source DOS alternative. It holds setup guides and developer docs.
  • DOSBox Staging — The modern follow-up to DOSBox. With its deep user manual and release notes, it is one of the most current sources in the emulator world.
  • MS-DOS Wikipedia Page — A source for a full version history and technical details.

These sources will help you grasp the technical depth and historic context of this system. Above all, the GitHub repo is priceless for those who want to study source code.

MS-DOS FAQ

What Is MS-DOS and What Does It Do?

MS-DOS stands for Microsoft Disk Operating System, or disk operating system for short. Microsoft built this software for IBM PCs and compatible machines. Users ran the computer by typing commands on a black screen.
For example, you typed COPY to copy a file. You typed MD to make a folder. The system ran on a 16-bit design. It aimed at Intel 8086 and 8088 chips.
The core job of this design was to manage disks. It took on file read, write, and delete tasks. It also checked memory and input/output units.
Hard disks were expensive in the 1980s. Everyone worked with floppies. Thus, the system was designed to be light. Its single-tasking design used few resources. This simplicity made it the backbone of the era.

What Is the Last Version of MS-DOS?

The last version as a standalone product is 6.22. Microsoft put it out in 1994. After that, the system got buried inside Windows.
In fact, versions 7.0 and 7.1 were never sold as a standalone box. They stayed hidden under Windows 95 and 98. Version 8.0 came with Windows ME. Real mode support went away there for good.
As a result, collectors see 6.22 as the last true version. Why does 8.0 count as the last one in a technical sense? Because that code sat on the Windows ME boot floppy. Users could not buy it as a standalone product. Thus, the term standalone version fits 6.22.
A short note: the 4.0 source code went open in 2024. However, this fact does not make it the last version. It just opens a new door for historians.

Who Made MS-DOS?

A young engineer named Tim Paterson wrote the first code. He worked at Seattle Computer Products. In 1980, he finished the system he named 86-DOS in four months. He even called it QDOS, or “Quick and Dirty Operating System.”
Microsoft bought this software in 1981. The deal price was just $75,000. Bill Gates and Paul Allen licensed the system to IBM. Thus, PC-DOS came to be. Microsoft also sold the same product to other makers.
Paterson’s design worked with CP/M. Thus, current software moved with ease. The team made use of the 16-bit chip’s power. A small purchase shaped the whole PC industry.
Here is the odd part: Paterson changed software history with code he wrote in four months. Even today, teachers tell this story in startup classes.

What Is the MS-DOS Command Prompt? Is It the Same as CMD in Windows?

Command Prompt, or cmd.exe, is the grandchild of this old shell. Most of the same commands still work. However, the two are not the same.
Because cmd.exe runs on top of the NT kernel, it has no real mode access. Windows handles memory management. Old DOS touched hardware directly.
However, commands like DIR, CD, COPY, and DEL do the same job. Batch files also work with the same logic. Scripts with a .BAT extension still see use.
How do you spot the difference? Try to start a 16-bit program in cmd.exe. Windows will refuse it because 64-bit systems do not support real mode apps. Thus, an emulator becomes essential for old games.
In short: CMD is a cousin, and DOS is the grandpa. They carry the same blood but do not live in the same age.

Is MS-DOS Still Used? Where Does It Show Up Today?

It is gone from direct daily use. Modern hardware does not run this system. Even so, its tracks show up everywhere.
Some DOS variants still run in embedded systems. Industrial machines, cash registers, and POS devices are examples. Flight simulators and medical devices also use the old DOS kernel.
Meanwhile, retro game fans go back to this world with DOSBox. FreeDOS is an alternative that the open-source group keeps alive. In fact, some BIOS update tools still want a DOS floppy.
Microsoft put out the 4.00 source code on GitHub in 2024. Researchers can now study the system in fine detail. In the end, this design is not a museum piece. It stands as a living tech legacy.

What Is the Difference Between MS-DOS and FreeDOS? Which One Should You Use?

FreeDOS is an open-source rewrite. Volunteers have grown it since 1994. The original system was a trademarked Microsoft product.
Thus, the license difference is the clearest split. You can download and share FreeDOS for free. You can use it with no issues, even in commercial projects. There is no official support for the Microsoft version anymore.
On the compatibility side, FreeDOS does a shockingly good job. Most old games and programs open with no issues on it. FAT32 support comes as a standard. Current drivers and tools are in the pack too.
But which one should you pick? If you are setting up a new project, turn to FreeDOS. If you build a retro collection, keep copies of the original versions. For tests in a virtual machine, either one does the job. In daily practice, the open-source pick is far smoother.

What Is the 640 KB Limit? Why Could Nobody Beat It?

This limit came from the addressing design of the Intel 8088 chip. The chip used a 20-bit address line. It could reach 1 MB of memory in total. BIOS and the video card used the top 384 KB.
In addition, the space left for the user came to just 640 KB. Apps had to fit in this tight space. Games and programs fought over memory continually.
Was there no way to break this wall? There was. The HIMEM.SYS and EMM386 drivers offered extended memory management. The MEMMAKER tool moved drivers into upper memory. Thus, more free space opened up under 640 KB.
Still, the base limit always stayed there because the real mode design made it so. Protected mode support only came with the 80286. Windows used that door to the maximum. DOS, meanwhile, aged while fighting this wall.

What Is the Difference Between MS-DOS and PC-DOS?

The two actually came from the same code. IBM used the PC-DOS name on its own machine. Microsoft sold it to other makers as MS-DOS.
Yet some versions had small differences. The IBM version held drivers made for its own hardware. The Microsoft version stayed more broad. Users picked the Microsoft version on compatible machines.
The most vital clause of the deal was this: Microsoft could also sell the system to other firms. IBM took this clause. In the end, makers like Compaq put out IBM-compatible PCs. They also chose Microsoft’s product. Thus, the de facto standard became MS-DOS, not PC-DOS.
Today, no real difference remains between the two. Outside of collector value, there is no working split. File formats and command sets are exactly the same.

How Do You Run MS-DOS on Windows 11?

The easiest way is to use DOSBox-X or DOSBox Staging. These emulators open a full DOS environment on modern Windows. Setup takes a few minutes.
However, 64-bit Windows refuses real mode programs. Thus, you have no chance to run them directly. An emulator becomes essential.
Then the setup steps go like this: First, download the emulator. Make a folder. Copy the game or program files there. Mount this folder in the config file. Then start the system.
A virtual machine is also a good choice. Install FreeDOS inside VirtualBox or VMware. Mount floppy images and run old software.
Finally, do not forget to set the CPU cycles. A very high value makes games run too fast. A very low value causes stutter. Start from a mid level and tune by trial.

Conclusion: The MS-DOS Legacy and Its Place in Modern Tech

MS-DOS is one of the most vital building blocks in personal computer history. From 1981 to the 2000s, it gave millions of users their first taste of computers. It also laid the foundation for Microsoft’s rise as a software giant.

Today, we no longer use this system directly. However, its legacy shows up everywhere. The command prompt in Windows is its grandchild. Thanks to emulators, you can still play old games. Projects like FreeDOS keep it alive.

The open-source release of its code in 2024 will carry this legacy to future generations. Researchers and fans can now study this code. They can learn how MS-DOS works. For learning, this is a priceless opportunity.

Tip
To preserve your old software, first take a disk image. Then run this image with DOSBox-X or DOSBox Staging. You do not have to find the original hardware. In most cases, emulators provide the same exact experience.

If you want to explore this history too, install DOSBox-X. Run an old game. Or study the source code on GitHub. Trust me, this 40-year-old tech will still spark ideas in you!

They'll Thank You for Discovering This Guide!

Ready to do your loved ones a huge favor with just one click? Knowledge grows as it is shared.

Be the first to share your comment