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 alternate branding as IBM PC DOS, and a few operating systems attempting to be compatible with MS-DOS, are sometimes referred to as "DOS" (which is also the generic acronym for disk operating system). MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.
IBM licensed and released it in 1981 as PC DOS 1.0 for use in its IBM Personal Computer. Although MS-DOS and PC DOS were initially developed in parallel by Microsoft and IBM, the two products diverged after twelve years, in 1993, with recognizable differences in compatibility, syntax and capabilities. Beginning in 1988 with DR-DOS, several competing products were released for the x86 platform.
Initially, MS-DOS was targeted at Intel 8086 processors running on computer hardware using floppy disks to store and access not only the operating system, but application software and user data as well. Progressive version releases delivered support for other mass storage media in ever greater sizes and formats, along with added feature support for newer processors and rapidly evolving computer architectures. Ultimately, it was the key product in Microsoft's development from a programming language company to a diverse software development firm, providing the company with essential revenue and marketing resources. It was also the underlying basic operating system on which early versions of Windows ran as a GUI. MS-DOS went through eight versions, until development ceased in 2000; version 6.22 from 1994 was the final standalone version, with versions 7 and 8 serving mostly in the background for loading Windows 9x.
The command interpreter, COMMAND.COM, runs when no application program is running. When an application exits, the interpreter resumes loaded back into memory by the DOS if it was purged by the application. A command is processed by matching input text with either a built-in command or an executable file located on the current drive and along the command path. A command with significant program size or used infrequently tended to be a separate file in order to limit the size of the command processor program.
History
MS-DOS began as a renamed version of 86-DOS, a disk operating system owned by Seattle Computer Products and written by Tim Paterson. Development of 86-DOS took only six weeks, as it was basically a clone of Digital Research's CP/M (for 8080/Z80 processors) ported to the Intel 8086. It had two notable differences from CP/M: an improved disk sector buffering logic and FAT12 instead of the CP/M filesystem. This first version was shipped in August 1980. Microsoft, which needed an operating system for the IBM Personal Computer, hired Tim Paterson in May 1981 and bought 86-DOS 1.10 for that July. Microsoft kept the version number, but renamed it MS-DOS. They also licensed MS-DOS 1.10/1.14 to IBM, which, in August 1981, offered it as PC DOS 1.0 as one of three operating systems for the IBM 5150 or the IBM PC.
Within a year, Microsoft licensed MS-DOS to over 70 other companies. It was designed to be an OS that could run on any 8086-family computer. Each computer would have its own distinct hardware and its own version of MS-DOS, similar to the situation that existed for CP/M, and with MS-DOS emulating the same solution as CP/M to adapt for different hardware platforms. To this end, MS-DOS was designed with a modular structure with internal device drivers (the DOS BIOS), minimally for primary disk drives and the console, integrated with the kernel and loaded by the boot loader, and installable device drivers for other devices loaded and integrated at boot time. The OEM would use a development kit provided by Microsoft to build a version of MS-DOS with their basic I/O drivers and a standard Microsoft kernel, which they would typically supply on disk to end users along with the hardware. Thus, there were many different versions of "MS-DOS" for different hardware, and there is a major distinction between an IBM-compatible (or ISA) machine and an MS-DOS [compatible] machine. Some machines, like the Tandy 2000, were MS-DOS compatible but not IBM-compatible, so they could run software written exclusively for MS-DOS without dependence on the peripheral hardware of the IBM PC architecture.
This design would have worked well for compatibility, if application programs had used only MS-DOS services to perform device I/O. Indeed, the same design philosophy is embodied in Windows NT (see Hardware Abstraction Layer). However, in MS-DOS's early days, the greater speed attainable by programs through direct control of hardware was of particular importance, especially for games, which often pushed the limits of their contemporary hardware. Very soon an IBM-compatible architecture became the goal, and before long all 8086-family computers closely emulated IBM's hardware, and only a single version of MS-DOS for a fixed hardware platform was needed for the market. This version is the version of MS-DOS that is discussed here, as the dozens of other OEM versions of "MS-DOS" were only relevant to the systems for which they were designed, and in any case were very similar in function and capability to some standard version for the IBM PC—often the same-numbered version, but not always, since some OEMs used their own proprietary version numbering schemes (e.g. labeling later releases of MS-DOS 1.x as 2.0 or vice versa)—with a few notable exceptions.
Microsoft omitted multi-user support from MS-DOS because Microsoft's Unix-based operating system, Xenix, was fully multi-user. The company planned, over time, to improve MS-DOS so it would be almost indistinguishable from single-user Xenix, or XEDOS, which would also run on the Motorola 68000, Zilog Z8000, and the LSI-11; they would be upwardly compatible with Xenix, which Byte in 1983 described as "the multi-user MS-DOS of the future". Microsoft advertised MS-DOS and Xenix together, listing the shared features of its "single-user OS" and "the multi-user, multi-tasking, UNIX-derived operating system", and promising easy porting between them. After the breakup of the Bell System, however, AT&T Computer Systems started selling UNIX System V. Believing that it could not compete with AT&T in the Unix market, Microsoft abandoned Xenix, and in 1987 transferred ownership of Xenix to the Santa Cruz Operation (SCO).
On March 25, 2014, Microsoft made partial source code (including sourceless binaries) to SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11 available to the public under the Microsoft Research License Agreement, which made the partial sources source-available, but not open source as defined by Open Source Initiative or free software by Free Software Foundation standards. (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.) (NB. While the author claims 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.) (NB. While the author claims 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.) Microsoft would later re-license the partial sources and sourceless binaries under the MIT License on September 28, 2018, making these versions partially open source. Microsoft later released partial source code and sourceless binaries for MS-DOS 4.00 on April 25, 2024, under the same license.
As an April Fool's Day joke in 2015, Microsoft Mobile launched a Windows Phone application called MS-DOS Mobile which was presented as a new mobile operating system and worked similar to MS-DOS.
Versions
Microsoft licensed or released versions of MS-DOS under different names like Lifeboat Associates "Software Bus 86" a.k.a. SB-DOS, COMPAQ-DOS, NCR-DOS or Z-DOS before it eventually enforced the MS-DOS name for all versions but the IBM one, which was originally called "IBM Personal Computer DOS", later shortened to IBM PC DOS. (Competitors released compatible DOS systems such as DR-DOS and PTS-DOS that could also run MS-DOS applications.)
In the former Eastern bloc, MS-DOS derivatives named DCP () 3.20 and 3.30 (DCP 1700, DCP 3.3) and WDOS existed in the late 1980s. They were produced by the East German electronics manufacturer VEB Robotron.
The following versions of MS-DOS were released to the public:
MS-DOS 1.x
Version 1.23 (OEM) Version 1.24 (OEM) – basis for IBM's Personal Computer DOS 1.1 Version 1.25 (OEM) – basis for non-IBM OEM versions of MS-DOS, including SCP MS-DOS 1.25
Compaq-DOS 1.12, a Compaq OEM version of MS-DOS 1.25; Release date: November 1983 TI BOOT V. 1.13, a Texas Instruments OEM version of MS-DOS; Release date: August 1983 Zenith Z-DOS 1.19, a Zenith OEM version of MS-DOS 1.25 Zenith Z-DOS/MS-DOS release 1.01, version 1.25, a Zenith OEM version of MS-DOS; Release date: May 1983
MS-DOS 2.x
MS-DOS 2.x became popular because of reliability and use of less memory than version 3. Support for IBM's XT 10 MB hard disk drives, support up to 16 MB or 32 MB FAT12-formatted hard disk drives depending on the formatting tool shipped by OEMs, user-installable device drivers, tree-structure filing system, Unix-like inheritable redirectable file handles, non-multitasking child processes, an improved Terminate and Stay Resident (TSR) API, environment variables, device driver support, FOR and GOTO loops in batch files, ANSI.SYS.
Version 2.0 (OEM), First version to support double-sided 360 KB 5.25-inch floppy disks; Release date: October 1983 Version 2.02 (OEM, Compaq); Release date: November 1983 Version 2.05 (OEM, international support); Release date: October 1983 Version 2.1 (OEM, IBM only) Version 2.11 (OEM) Altos MS-DOS 2.11, an Altos OEM version of MS-DOS 2.11 for the ACT-86C ITT Corporation ITT-DOS 2.11 Version 2 (MS-DOS 2.11 for the ITT XTRA Personal Computer); Release date: July 1985 Olivetti M19 came with MS-DOS 2.11 Tandy 1000 HX has MS-DOS 2.11 in ROM TeleVideo PC DOS 2.11, a TeleVideo OEM version of MS-DOS 2.11 Toshiba MS-DOS 2.11 in ROM drive for the model T1000 laptop Version 2.13 (OEM, Zenith); Release date: July 1984 Version 2.2 (OEM, with Hangeul support) Version 2.25 (OEM, with Hangeul and Kanji support) Version 2.3 (used on the Toshiba Pasopia 16)
MS-DOS 3.x
Version 3.0 (OEM) – First version to support 5.25-inch 1.2 MB floppy drives and diskettes, FAT16 partitions up to 32 MB; Release date: April 1985 Version 3.1 (OEM) – Support for Microsoft Networks through an IFS layer, remote file and printer API Version 3.2 (OEM) – First version to support 3.5-inch 720 KB floppy drives and diskettes and XCOPY. Version 3.10 (OEM, Multitech); Release date: May 1986 Version 3.20 – First retail release (non-OEM); Release date: July 1986 Version 3.21 (OEM / non-OEM); Release date: May 1987 Version 3.22 (OEM) – (HP 95LX) Version 3.3 (OEM) – First version to support 3.5-inch 1.44 MB floppy drives and diskettes, extended and logical partitions, directory tree copying with XCOPY, improved support for internationalization (COUNTRY.SYS), networked file flush operations Version 3.3a (OEM) Version 3.30; Release date: February 1988 Version 3.30A (OEM, DTK); Release date: July 1987 Version 3.30T (OEM, Tandy); Release date: July 1990 Version 3.31 (Compaq, Emerson, and Vendex HeadStart Explorer OEM only)Confirmed that there was Compaq Personal Computer DOS 3.31 aside from MS-DOS 3.31. – supports FAT16B with partitions larger than 32 MiB;Up to 512 MiB only. Release date: November 1987