
DOS (, ) is a family of disk-based
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s for
IBM PC compatible computers. The DOS family primarily consists of
IBM PC DOS and a rebranded version,
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
, both of which were introduced in 1981. Later compatible systems from other manufacturers include
DR-DOS (1988),
ROM-DOS (1989),
PTS-DOS (1993), and
FreeDOS (1994). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.
Although the name has come to be identified specifically with MS-DOS and compatible operating systems, ''DOS'' is a platform-independent acronym for ''
disk operating system
A disk operating system (DOS) is a computer operating system that requires a disk or other direct-access storage device as secondary storage. A DOS provides a file system and a means for loading and running computer program, programs stored on th ...
'', whose use predates the IBM PC. Dozens of other operating systems also use the acronym, beginning with the mainframe
DOS/360 from 1966. Others include
Apple DOS,
Apple ProDOS,
Atari DOS,
Commodore DOS,
TRSDOS
TRSDOS (which stands for the Tandy Radio Shack Disk Operating System) is the operating system for the Tandy TRS-80 line of eight-bit Zilog Z80 microcomputers that were sold through Radio Shack from 1977 through 1991. Tandy's manuals recommended ...
, and
AmigaDOS
AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file Redirection (computing), redirection.
In AmigaOS 1.x, AmigaDOS is based on a TRIPOS port by ...
.
History
Origins
IBM PC DOS (and the separately sold
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
) and its predecessor,
86-DOS, ran on
Intel 8086
The 8086 (also called iAPX 86) is a 16-bit computing, 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-b ...
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
processors. It was developed to be similar to
Digital Research
Digital Research, Inc. (DR or DRI) was a privately held American software company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser ...
's
CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
—the dominant disk operating system for
8-bit Intel 8080 and
Zilog Z80
The Zilog Z80 is an 8-bit computing, 8-bit microprocessor designed by Zilog that played an important role in the evolution of early personal computing. Launched in 1976, it was designed to be Backward compatibility, software-compatible with the ...
microcomputers—in order to simplify porting CP/M applications to MS-DOS.
When
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
introduced the
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the List of IBM Personal Computer models, IBM PC model line and the basis for the IBM PC compatible ''de facto'' standard. Released on ...
, built with the
Intel 8088
The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers ...
microprocessor, they needed an operating system. Chairman
John Opel had a conversation with fellow United Way National Board Executive Committee member
Mary Maxwell Gates, who referred Opel to her son
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
for help with an 8088-compatible build of CP/M. IBM was then sent to Digital Research, and a meeting was set up. However, initial negotiations for the use of CP/M broke down: Digital Research wished to sell CP/M on a royalty basis, while IBM sought a single license, and to change the name to "PC DOS". Digital Research founder
Gary Kildall
Gary Arlen Kildall (; May 19, 1942 – July 11, 1994) was an American computer scientist and microcomputer entrepreneur. During the 1970s, Kildall created the CP/M operating system among other operating systems and programming tools, and s ...
refused, and IBM withdrew.
IBM again approached Bill Gates. Gates in turn approached
Seattle Computer Products. There, programmer
Tim Paterson had developed a variant of
CP/M-80, intended as an internal product for testing SCP's new 16-bit
Intel 8086
The 8086 (also called iAPX 86) is a 16-bit computing, 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-b ...
CPU card for the
S-100 bus. The system was initially named QDOS (Quick and Dirty Operating System), before being made commercially available as
86-DOS. Microsoft purchased 86-DOS, allegedly for . This became Microsoft Disk Operating System, MS-DOS, introduced in 1981.
Within a year Microsoft licensed MS-DOS to over 70 other companies,
which supplied the operating system for their own hardware, sometimes under their own names such as
Zenith Data Systems's
Z-DOS.
Microsoft later required the use of the MS-DOS name, with the exception of the IBM variant. IBM continued to develop their version,
PC DOS, for the IBM PC. Digital Research became aware that an operating system similar to CP/M was being sold by IBM (under the same name that IBM insisted upon for CP/M), and threatened legal action. IBM responded by offering an agreement: they would give PC consumers a choice of PC DOS or
CP/M-86, Kildall's 8086 version. Side-by-side, CP/M cost more than PC DOS, and sales were low. CP/M faded, with MS-DOS and PC DOS becoming the marketed operating system for PCs and PC compatibles.
Microsoft originally sold MS-DOS only to
original equipment manufacturers (OEMs). One major reason for this was that not all early PCs were 100%
IBM PC compatible. DOS was structured such that there was a separation between the system specific device driver code (
IO.SYS) and the DOS kernel (
MSDOS.SYS). Microsoft provided an OEM Adaptation Kit (OAK) which allowed OEMs to customize the device driver code to their particular system. By the early 1990s, most PCs adhered to IBM PC standards so Microsoft began selling a retail version of MS-DOS, starting with MS-DOS 5.0.
In the mid-1980s, Microsoft developed a
multitasking version of DOS. This version of DOS is generally referred to as "European MS-DOS 4" because it was developed for
ICL and licensed to several European companies. This version of DOS supports preemptive multitasking, shared memory, device helper services and
New Executable
The New Executable (NE or NewEXE) is a 16-bit executable file format, a successor to the DOS MZ executable format. It was used in Windows 1.0–3.x, Windows 9x, multitasking MS-DOS 4.0, OS/2 1.x, and the OS/2 subset of Windows NT up to versio ...
("NE") format executables. None of these features were used in later versions of DOS, but they were used to form the basis of the
OS/2 1.0 kernel. This version of DOS is distinct from the widely released PC DOS 4.0 which was developed by IBM and based upon DOS 3.3.

Digital Research attempted to regain the market lost from CP/M-86, initially with
Concurrent DOS,
FlexOS and
DOS Plus
DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCM ...
(both compatible with both MS-DOS and CP/M-86 software), later with
Multiuser DOS (compatible with both MS-DOS and CP/M-86 software) and
DR DOS (compatible with MS-DOS software). Digital Research was bought by
Novell
Novell, Inc. () was an American software and services company headquartered in Provo, Utah, that existed from 1980 until 2014. Its most significant product was the multi-platform network operating system known as NetWare. Novell technolog ...
, and DR DOS became
PalmDOS and
Novell DOS; later, it was part of
Caldera
A caldera ( ) is a large cauldron-like hollow that forms shortly after the emptying of a magma chamber in a volcanic eruption. An eruption that ejects large volumes of magma over a short period of time can cause significant detriment to the str ...
(under the names
OpenDOS and
DR-DOS 7.02/
7.03),
Lineo, and
DeviceLogics.
Gordon Letwin wrote in 1995 that "DOS was, when we first wrote it, a one-time throw-away product intended to keep IBM happy so that they'd buy our languages." Microsoft expected that it would be an interim solution before the introduction of
Xenix
Xenix is a discontinued Unix operating system for various microcomputer platforms, licensed by Microsoft from AT&T Corporation. The first version was released in 1980, and Xenix was the most common Unix variant during the mid- to late-1980s. T ...
. The company planned to improve MS-DOS over time, so it would be almost indistinguishable from single-user Xenix, or
XEDOS, which would also run on the
Motorola 68000,
Zilog Z-8000, and
LSI-11; they would be
upwardly compatible with Xenix, which ''
BYTE
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
'' in 1983 described as "the multi-user MS-DOS of the future".

IBM, however, did not want to replace DOS.
After
AT&T
AT&T Inc., an abbreviation for its predecessor's former name, the American Telephone and Telegraph Company, is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the w ...
began selling Unix, Microsoft and IBM began developing OS/2 as an alternative.
The two companies later had a series of disagreements over two successor operating systems to DOS, OS/2 and Windows. They split development of their DOS systems as a result. The last retail version of MS-DOS was MS-DOS 6.22; after this, MS-DOS became part of Windows 95, 98 and Me. The last retail version of PC DOS was PC DOS 2000 (also called PC DOS 7 revision 1), though IBM did later develop PC DOS 7.10 for OEMs and internal use.
The
FreeDOS project began on 26 June 1994, when Microsoft announced it would no longer sell or support MS-DOS.
Jim Hall then posted a manifesto proposing the development of an open-source replacement. Within a few weeks, other programmers including
Pat Villani and Tim Norman joined the project. A kernel, the COMMAND.COM command line interpreter (shell), and core utilities were created by pooling code they had written or found available. There were several official pre-release distributions of FreeDOS before the FreeDOS 1.0 distribution was released on 3 September 2006. Made available under the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL), FreeDOS does not require license fees or royalties.
Decline
Early versions of
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
ran on MS-DOS.
By the early 1990s, the Windows graphical shell saw heavy use on new systems. In 1995,
Windows 95 was bundled as a standalone operating system that did not require a separate DOS license. Windows 95 (and Windows 98 and ME, that followed it) took over as the default
OS kernel, though the MS-DOS component remained for compatibility. With Windows 95 and 98, but not ME, the MS-DOS component could be run without starting Windows.
With DOS no longer required to use Windows, the majority of users stopped using it directly.
Continued use

, available compatible systems are
FreeDOS,
ROM-DOS,
PTS-DOS,
RxDOS and
REAL/32. Some computer manufacturers, including
Dell
Dell Inc. is an American technology company that develops, sells, repairs, and supports personal computers (PCs), Server (computing), servers, data storage devices, network switches, software, computer peripherals including printers and webcam ...
and
HP, sell computers with FreeDOS as an
OEM operating system, and some developers and computer engineers still use it because it is close to the hardware.
Embedded systems
DOS's structure of accessing hardware directly allows it to be used in
embedded devices. The final versions of DR-DOS are still aimed at this market. ROM-DOS is used as operating system for the
Canon PowerShot Pro 70.
Emulation
On
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, it is possible to run ''
DOSEMU'', a Linux-native
virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
for running DOS programs at near native speed. There are a number of other
emulator
In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run sof ...
s for running DOS on various versions of Unix and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
such as
DOSBox
DOSBox is a free and open-source MS-DOS emulator. It supports running programs primarily video games that are otherwise inaccessible since hardware for running a compatible disk operating system (DOS) is obsolete and generally unavailab ...
.
DOSBox is designed for legacy gaming (e.g. ''
King's Quest'', ''
Doom'') on modern operating systems.
DOSBox includes its own implementation of DOS which is strongly tied to the emulator and cannot run on real hardware, but can also boot MS-DOS, FreeDOS, or other DOS operating systems if needed.
Design
MS-DOS and IBM PC DOS related operating systems are commonly associated with machines using the
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
x86 or compatible
CPUs, mainly
IBM PC compatibles. Machine-dependent versions of MS-DOS were produced for many non-IBM-compatible
x86-based machines, with variations from relabelling of the
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
distribution under the manufacturer's name, to versions specifically designed to work with non-IBM-PC-compatible hardware. As long as application programs used DOS APIs instead of direct hardware access, they could run on both IBM-PC-compatible and incompatible machines. The original
FreeDOS kernel,
DOS-C, was derived from
DOS/NT for the Motorola 68000 series of CPUs in the early 1990s. While these systems loosely resembled the DOS architecture, applications were not binary compatible due to the incompatible instruction sets of these non-x86-CPUs. However, applications written in high-level languages could be ported easily.
DOS is a single-user, single-tasking operating system with basic
kernel functions that are
non-reentrant: only one program at a time can use them, and DOS itself has no functionality to allow more than one program to execute at a time. The DOS kernel provides
various functions for programs (an ''application program interface''), like character I/O, file management, memory management, program loading and termination.
DOS provides the ability for
shell scripting via
batch file
A batch file is a Scripting language, script file in DOS, OS/2 and Microsoft Windows. It consists of a series of Command (computing), commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain a ...
s (with the
filename extension
A filename extension, file name extension or file extension is a suffix to the name of a computer file (for example, .txt, .mp3, .exe) that indicates a characteristic of the file contents or its intended use. A filename extension is typically d ...
.BAT
). Each line of a batch file is interpreted as a program to run. Batch files can also make use of internal commands, such as
GOTO and
conditional statements.
The operating system offers an application programming interface that allows development of character-based applications, but not for accessing most of the
hardware, such as
graphics card
A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
s,
printers, or
mice
A mouse (: mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
. This required programmers to access the hardware directly, usually resulting in each application having its own set of
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s for each hardware peripheral. Hardware manufacturers would release specifications to ensure device drivers for popular applications were available.
Boot sequence
* The
bootstrap loader on PC-compatible computers, the
master boot record
A master boot record (MBR) is a type of boot sector in the first block of disk partitioning, partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept ...
, is located beginning at the
boot sector, the first sector on the first track (
track zero), of the boot disk. The
ROM BIOS will load this sector into memory at address :, and typically check for a signature "" at offset . If the sector is not considered to be valid, the ROM BIOS will try the next physical disk in the row, otherwise it will jump to the load address with certain registers set up.
* If the loaded boot sector happens to be a
Master Boot Record
A master boot record (MBR) is a type of boot sector in the first block of disk partitioning, partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept ...
(MBR), as found on partitioned media, it will relocate itself to : in memory,
[ 090912 dewassoc.com] otherwise this step is skipped. The MBR code will scan the partition table, which is located within this sector, for an active partition (modern MBRs check if bit 7 is set at offset , whereas old MBRs simply check for a value of ), and, if found, load the first sector of the corresponding partition, which holds the
Volume Boot Record (VBR) of that volume, into memory at : in the similar fashion as if it had been loaded by the ROM BIOS itself. The MBR will then pass execution to the loaded portion with certain registers set up.
* The sector content loaded at : constitutes a VBR now. VBRs are operating system specific and cannot be exchanged between different DOS versions in general, as the exact behaviour differs between different DOS versions. In very old versions of DOS such as DOS 1.x, the VBR would load the whole IO.SYS/IBMBIO.COM file into memory at :.
[ 090912 pagetable.com] For this to work, these sectors had to be stored in consecutive order on disk by SYS. In later issues, it would locate and store the contents of the first two entries in the root directory at : and if they happen to reflect the correct boot files as recorded in the VBR, the VBR would load the first 3 consecutive sectors of the IO.SYS/IBMBIO.COM file into memory at :. The VBR also has to take care to preserve the contents of the
Disk Parameter Table (DPT). Finally, it passes control to the loaded portion by jumping to its entry point with certain registers set up (with considerable differences between different DOS versions).
* In later DOS versions, where the VBR has loaded only the first 3 sectors of the IO.SYS/IBMBIO.COM file into memory, the loaded portion contains another boot loader, which will then load the remainder of itself into memory, using the root directory information stored at :. For most versions, the file contents still need to be stored in consecutive order on disk. In older versions of DOS, which were still loaded as a whole, this step is skipped.
* The DOS system initialization code will initialize its built-in device drivers and then load the DOS kernel, located in
MSDOS.SYS on MS-DOS systems, into memory as well. In Windows 9x, the DOS system initialization code and built-in device drivers and the DOS kernel are combined into a single IO.SYS file while MSDOS.SYS is used as a text configuration file.
* The
CONFIG.SYS file is then read to
parse configuration parameters. The variable specifies the location of the
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
which defaults to
COMMAND.COM.
* The shell is loaded and executed.
* The startup batch file
AUTOEXEC.BAT is then run by the shell.
[ 090913 academic.evergreen.edu]
The DOS system files loaded by the boot sector must be
contiguous and be the first two
directory entries.
[ 090912 arl.wustl.edu] As such, removing and adding this file is likely to render the media unbootable. It is, however, possible to replace the shell at will, a method that can be used to start the execution of dedicated applications faster. This limitation does not apply to any version of DR DOS, where the system files can be located anywhere in the root directory and do not need to be contiguous. Therefore, system files can be simply copied to a disk provided that the boot sector is DR DOS compatible already.
In PC DOS and DR DOS 5.0 and above, the DOS system files are named
IBMBIO.COM instead of
IO.SYS and
IBMDOS.COM instead of
MSDOS.SYS. Older versions of DR DOS used DRBIOS.SYS and DRBDOS.SYS instead.
Starting with
MS-DOS 7.0 the binary system files IO.SYS and MSDOS.SYS were combined into a single file IO.SYS whilst MSDOS.SYS became a configuration file similar to CONFIG.SYS and AUTOEXEC.BAT. If the MSDOS.SYS
BootGUI directive is set to
0
, the boot process will stop with the command processor (typically COMMAND.COM) loaded, instead of executing WIN.COM automatically.
File system
DOS uses a filesystem which supports
8.3 filenames: 8 characters for the filename and 3 characters for the extension. Starting with DOS 2 hierarchical directories are supported. Each directory name is also 8.3 format but the maximum directory path length is 64 characters due to the internal current directory structure (CDS) tables that DOS maintains. Including the drive name, the maximum length of a fully qualified filename that DOS supports is 80 characters using the format drive:\path\filename.ext followed by a null byte.
DOS uses the
File Allocation Table (FAT) filesystem. This was originally
FAT12 which supported up to 4078 clusters per drive. DOS 3.0 added support for
FAT16 which used 16-bit allocation entries and supported up to 65518 clusters per drive.
Compaq MS-DOS 3.31 added support for
FAT16B which removed the 32‑
MiB drive limit and could support up to 512 MiB. Finally MS-DOS 7.1 (the DOS component of Windows 9x) added support for
FAT32 which used 32-bit allocation entries and could support hard drives up to 137 GiB and beyond.
Starting with DOS 3.1, file redirector support was added to DOS. This was initially used to support networking but was later used to support CD-ROM drives with
MSCDEX. IBM PC DOS 4.0 also had preliminary installable file system (IFS) support but this was unused and removed in DOS 5.0. DOS also supported Block Devices ("Disk Drive" devices) loaded from CONFIG.SYS that could be used under the DOS file system to support network devices.
Drive naming scheme
In DOS, drives are referred to by identifying letters. Standard practice is to reserve "A" and "B" for
floppy drives. On systems with only one floppy drive DOS assigns both letters to the drive, prompting the user to swap disks as programs alternate access between them. This facilitates copying from floppy to floppy or having a program run from one floppy while accessing its data on another.
Hard drives were originally assigned the letters "C" and "D". DOS could only support one active partition per drive. As support for more hard drives became available, this developed into first assigning a drive letter to each drive's active
primary partition, then making a second pass over the drives to allocate letters to logical drives in the
extended partition, then a third pass to give any other non-active
primary partitions their names (where such additional partitions existed and contained a DOS-supported file system). Lastly, DOS allocates letters for
optical disc drives,
RAM disks, and other hardware. Letter assignments usually occur in the order the drivers are loaded, but the drivers can instruct DOS to assign a different letter; drivers for network drives, for example, typically assign letters nearer to the end of the alphabet.
Because DOS applications use these drive letters directly (unlike the /dev directory in
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
systems), they can be disrupted by adding new hardware that needs a drive letter. An example is the addition of a new hard drive having a primary partition where a pre-existing hard drive contains logical drives in extended partitions; the new drive will be assigned a letter that was previously assigned to one of the extended partition logical drives. Moreover, even adding a new hard drive having only logical drives in an extended partition would still disrupt the letters of RAM disks and optical drives. This problem persisted through Microsoft's DOS-based 9x versions of Windows until they were replaced by versions based on the NT line, which preserves the letters of existing drives until the user changes them.
Under DOS, this problem can be worked around by defining a SUBST drive and installing the DOS program into this logical drive. The assignment of this drive would then be changed in a batch job whenever the application starts. Under some versions of
Concurrent DOS, as well as under
Multiuser DOS, System Manager and
REAL/32, the reserved drive letter L: will automatically be assigned to the corresponding
load drive whenever an application starts.
Reserved device names

There are
reserved
Reserved is a Polish apparel retailer headquartered in Gdańsk, Poland. It was founded in 1999 and remains the flagship brand of the LPP (company), LPP group, which has more than 2,200 retail stores located in over 38 countries and also owns su ...
device names in DOS that cannot be used as filenames regardless of extension as they are occupied by built-in character devices. These restrictions also affect several Windows versions, in some cases causing crashes and security vulnerabilities.
The reserved names are:
*
COM1
through
COM9
(
serial communication ports)
*
LPT1
through
LPT9
(
Parallel port for
line printers)
*
CON
("console"; represents keyboard in the input
stream
A stream is a continuous body of water, body of surface water Current (stream), flowing within the stream bed, bed and bank (geography), banks of a channel (geography), channel. Depending on its location or certain characteristics, a strea ...
and display in the output stream)
*
AUX
("auxiliary"; represents the first connected COM port)
*
PRN
("printer"; represents the first connected LPT port)
*
NUL
(
null device) added in
86-DOS 1.10 and
PC DOS 1.0
In
Windows 95 and
Windows 98
Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
, typing in the location of the reserved name (such as CON/CON, AUX/AUX, or PRN/PRN) crashes the operating system, of which Microsoft has provided a security fix for the issue. In
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users a ...
, the name of the file or folder using a reserved name silently reverts to its previous name, with no notification or error message. In
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
and later, attempting to use a reserved name for a file or folder brings up an error message saying "The specified device name is invalid."
These names (except for NUL) have continued to be supported in all versions of MS-DOS, PC DOS and DR-DOS ever since.
LST
was also available in some OEM versions of MS-DOS 1.25, whereas other OEM versions of MS-DOS 1.25 already used
LPT1
(first
line printer) and
COM1
(first
serial communication device) instead, as introduced with PC DOS. In addition to
LPT1
and
LPT2
as well as
COM1
to
COM3
, Hewlett-Packard's OEM version of
MS-DOS 2.11 for the
HP Portable Plus also supported
LST
as alias for
LPT2
and
82164A
as alias for
COM2
;
it also supported
PLT
for
plotter
A plotter is a machine that produces vector graphics drawings. Plotters draw lines on paper using a pen, or in some applications, use a knife to cut a material like Polyvinyl chloride, vinyl or leather. In the latter case, they are sometimes k ...
s.
Otherwise,
COM2
,
LPT2
,
LPT3
and the
CLOCK$
(still named
CLOCK
in some issues of MS-DOS 2.11
[ (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)]) clock device were introduced with DOS 2.0, and
COM3
and
COM4
were added with DOS 3.3.
Only the multitasking
MS-DOS 4 supported
KEYBD$
and
SCREEN$
.
DR DOS 5.0 and higher and Multiuser DOS support an
$IDLE$
device for dynamic idle detection to saving power and improve multitasking.
LPT4
is an optional built-in driver for a fourth line printer supported in some versions of DR-DOS since 7.02.
CONFIG$
constitutes the
real mode PnP manager in MS-DOS 7.0–8.0.
AUX
typically defaults to
COM1
, and
PRN
to
LPT1
(
LST
),
but these defaults can be changed in some versions of DOS to point to other serial or parallel devices.
/ref> The PLT
device (present only in some HP OEM versions of MS-DOS) was reconfigurable as well.
Filenames ended with a colon (punctuation), colon () such as NUL:
conventionally indicate device names, but the colon is not actually a part of the name of the built-in device drivers. Colons are not necessary to be typed in some cases, for example:
ECHO This achieves nothing > NUL
It is still possible to create files or directories using these reserved device names, such as through direct editing of directory data structures in disk sectors. Such naming, such as starting a file name with a space, has sometimes been used by viruses or hacking programs to obscure files from users who do not know how to access these locations.
Memory management
DOS was designed for the Intel 8088 processor, which can only directly access a maximum of 1 MiB of RAM. Both IBM and Microsoft chose 640 kibibytes (KiB) as the maximum amount of memory available to programs and reserved the remaining 384 KiB for video memory, the read-only memory
Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing sof ...
of adapters on some video and network peripherals, and the system's BIOS. By 1985, some DOS applications were already hitting the memory limit, while much of reserved was unused, depending on the machine's specifications.
Specifications were developed to allow access to additional memory. The first was the Expanded Memory Specification
In DOS memory management, expanded memory is a system of bank switching that provided additional memory to DOS programs beyond the limit of conventional memory (640 KiB).
''Expanded memory'' is an umbrella term for several incompatible tech ...
(EMS) was designed to allow memory on an add-on card to be accessed via a 64 KiB page frame in the reserved upper memory area. 80386 and later systems could use a virtual 8086 mode (V86) mode memory manager like EMM386 to create expanded memory from extended memory without the need of an add-on card. The second specification was the Extended Memory Specification (XMS) for 80286 and later systems. This provided a way to copy data to and from extended memory, access to the 65,520-byte high memory area directly above the first megabyte of memory and the upper memory block area. Generally XMS support was provided by HIMEM.SYS or a V86 mode memory manager like QEMM or 386MAX which also supported EMS.
Starting with DOS 5, DOS could directly take advantage of the HMA by loading its kernel code and disk buffers there via the DOS=HIGH
statement in CONFIG.SYS. DOS 5+ also allowed the use of available upper memory blocks via the DOS=UMB
statement in CONFIG.SYS.
DOS under OS/2 and Windows
The DOS emulation in OS/2 and Windows runs in much the same way as native applications do. They can access all of the drives and services, and can even use the host's clipboard services. Because the drivers for file systems and such forth reside in the host system, the DOS emulation needs only provide a DOS API translation layer which converts DOS calls to OS/2 or Windows system calls. The translation layer generally also converts BIOS calls and virtualizes common I/O port accesses which many DOS programs commonly use.
In Windows 3.1 and 9x, the DOS virtual machine is provided by WINOLDAP. WinOldAp creates a virtual machine based on the program's PIF file, and the system state when Windows was loaded. The DOS graphics mode, both character and graphic, can be captured and run in the window. DOS applications can use the Windows clipboard by accessing extra published calls in WinOldAp, and one can paste text through the WinOldAp graphics.
The emulated DOS in OS/2 and Windows NT is based upon DOS 5. Although there is a default configuration (config.sys and autoexec.bat), one can use alternate files on a session-by-session basis. It is possible to load drivers in these files to access the host system, although these are typically third-party.
Under OS/2 2.x and later, the DOS emulation is provided by DOSKRNL. This is a file that represents the combined IBMBIO.COM and IBMDOS.COM, the system calls are passed through to the OS/2 windowing services. DOS programs run in their own environment, the bulk of the DOS utilities are provided by bound DOS / OS2 applications in the \OS2 directory. OS/2 can run Windows 3.1 applications by using a modified copy of Windows (Win-OS/2). The modifications allow Windows 3.1 programs to run seamlessly on the OS/2 desktop, or one can start a WinOS/2 desktop, similar to starting Windows from DOS.
OS/2 allows for 'DOS from Drive A:', (VMDISK). This is a real DOS, like MS-DOS 6.22 or PC DOS 5.00. One makes a bootable floppy disk of the DOS, adds a number of drivers from OS/2, and then creates a special image. The DOS booted this way has full access to the system, but provides its own drivers for hardware. One can use such a disk to access cdrom drives for which there is no OS/2 driver.
In all 32-bit (IA-32) editions of the Windows NT family since 1993, DOS emulation is provided by way of a virtual DOS machine (NTVDM). 64-bit (IA-64 and x86-64) versions of Windows do not support NTVDM and cannot run 16-bit DOS applications directly; third-party emulators such as DOSbox can be used to run DOS programs on those machines.
User interface
DOS systems use a command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
. A program is started by entering its filename at the command prompt. DOS systems include utility programs and provide internal commands that do not correspond to programs.
In an attempt to provide a more user-friendly environment, numerous software manufacturers wrote file management programs that provided users with WIMP interfaces. Microsoft Windows is a notable example, eventually resulting in Microsoft Windows 9x becoming a self-contained program loader, and replacing DOS as the most-used PC-compatible program loader. Text user interface programs included Norton Commander, DOS Navigator, Volkov Commander, Quarterdesk DESQview, and Sidekick. Graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
programs included Digital Research's GEM (originally written for CP/M) and GEOS.
Eventually, the manufacturers of major DOS systems began to include their own environment managers. MS-DOS/IBM DOS 4 included DOS Shell; DR DOS 5.0, released the following year, included ViewMAX, based upon GEM.
Terminate and stay resident
Although DOS is not a multitasking operating system, it does provide a ''terminate-and-stay-resident'' (TSR) function which allows programs to remain resident in memory. These programs can hook the system timer or keyboard interrupts to allow themselves to run tasks in the background or to be invoked at any time, preempting the current running program and effectively implementing a simple form of multitasking on a program-specific basis. The DOS PRINT command does this to implement background print spooling. Borland Sidekick, a popup personal information manager (PIM), also uses this technique.
Terminate-and-stay-resident programs are also used to provide additional features not available by default. Programs like CED and DOSKEY provide command-line editing facilities beyond what is available in COMMAND.COM. Programs like the Microsoft CD-ROM Extensions (MSCDEX) provide access to files on CD-ROM disks.
Some TSRs can even perform a rudimentary form of task switching. For example, the shareware
Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer. ...
program Back and Forth (1990) has a hotkey to save the state of the currently-running program to disk, load another program, and switch to it, making it possible to switch "back and forth" between programs (albeit slowly, due to the disk access required). Back and Forth could not enable background processing however; that needed DESQview (on at least a 386).
Software
* Arachne, a 16-bit graphical web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
* dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
, database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
program
* Harvard Graphics, a presentation
A presentation conveys information from a speaker to an audience. Presentations are typically demonstrations, introduction, lecture, or speech meant to inform, persuade, inspire, motivate, build goodwill, or present a new idea/product. Presenta ...
graphics design program
* Lotus 1-2-3
Lotus 1-2-3 is a discontinued spreadsheet program from Lotus Software (later part of IBM). It was the first killer application of the IBM PC, was hugely popular in the 1980s, and significantly contributed to the success of IBM PC-compatibles ...
, a spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
which has been credited with the success of the IBM PC
* Norton Commander and XTree, file management utilities
* PKZIP
PKZIP is a file archiving computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes softwar ...
, the utility that quickly became the standard in file compression
* ProComm, Qmodem, and Telix, modem
The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
communication programs
* Sidekick, personal information manager that could be used from within other programs
* WordPerfect, a word processor A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Early word processors were stand-alone devices dedicated to the function, but current word ...
that was dominant in the 1980s
* WordStar, word processor originally for CP/M that became popular on the IBM PC
Development tools
* BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
language interpreters. BASICA and GW-BASIC
GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the ori ...
* DJGPP, the 32-bit DPMI DOS port of gcc
* Microsoft Macro Assembler, Microsoft C, and CodeView from Microsoft
* Watcom C/C++ from Watcom
* Turbo Pascal
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
, Turbo BASIC, Turbo C, Turbo Prolog, and Turbo Assembler from Borland
Borland Software Corporation was a computing technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad, and Philippe Kahn. Its main business was developing and selling software development and software deployment products. B ...
See also
* COMMAND.COM (the command line interpreter for DOS and Windows 9x
Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
)
* CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
(Digital Research early operating system similar to DOS)
* (DCP, an MS-DOS derivative by the former East-German VEB Robotron)
* DOS API
* DOS/V
* Index of DOS games
* List of DOS operating systems
* PC-MOS/386 (a DOS-compatible multiuser operating system)
* VGA-compatible text mode, the base of DOS's TUI on IBM PC compatibles
References
Further reading
* IBM Corp., IBM, (January 1984). "IBM DOS Release 2.10 Cloth bound retail hard board box". 1st edition. IBM Corp. Item Number. 6183946
* IBM Corp., IBM, (January 1984). "Disk Operating System User's guide (DOS Release 2.10)". 1st edition. Microsoft Corp. (100 pages including colour illustrations) Item Number. 6183947
* IBM Corp., IBM, (January 1984). "Disk Operating System Manual (DOS Release 2.10)". 1st edition. Microsoft Corp. (574 looseleaf pages in 3 ring folder) Item No. 6183940
*
*
External links
Origins of DOS
articles and manuals by Tim Paterson.
*
*
Batfiles: The DOS batch file programming handbook
*
* "(...) An archive of carefully hand selected FREE abandoned">abandonware.html" ;"title="nd abandonware">abandonedsoftware for DOS."
Online Windows XP Simulator
MS-DOS v1.25, v2.0, v4.0 Source Code
{{DEFAULTSORT:Dos
DOS on IBM PC compatibles">
American inventions
Disk operating systems">American inventions">DOS on IBM PC compatibles">
American inventions
Disk operating systems