MS-DOS
MS-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". 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, 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. Although command and file name matching is case-insensitive, the interpreter preserves the case of parameters as input. 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 was a renamed form of 86-DOSowned by Seattle Computer Products, written by Tim Paterson. Development of 86-DOS took only six weeks, as it was basically a clone of Digital Research's CP/M, ported to run on 8086 processors and with two notable differences compared to CP/M: an improved disk sector buffering logic, and the introduction of 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, 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 machine and an MS-DOS 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. 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 —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.
On March 25, 2014, Microsoft made the code 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 makes the code source-available, but not open source as defined by Open Source Initiative or Free Software Foundation standards. Microsoft would later re-license the code under the MIT License on September 28, 2018, making these versions free software. Microsoft later released the code 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.
COMPAQ-DOS
While developing the Compaq Portable in early 1982, Compaq engineers discovered that MS-DOS and IBM PC DOS are not identical, causing some compatibility issues. Microsoft's Bill Gates explained to Compaq's Rod Canion that the former's license agreement with IBM required Microsoft to use separate teams of developers, causing the code bases to diverge. While Microsoft could not sell PC DOS to Compaq, it could disclose to the latter the last version of DOS before the two operating systems diverged. Compaq licensed that version and used it to develop COMPAQ-DOS, slightly more compatible with PC DOS than MS-DOS. After customers began buying COMPAQ-DOS for use with other clones, Compaq stopped standalone sales and secretly licensed the operating system back to Microsoft. Microsoft discontinued its own development of MS-DOS and resold Compaq's software. By having Microsoft resell new versions of COMPAQ-DOS as MS-DOS a few months after Compaq released them, Compaq remained always slightly more compatible with the IBM PC than other clone makers.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.PC DOS and MS-DOS's code bases diverged after the IBM PC's debut. Microsoft later discontinued internal MS-DOS development and licensed COMPAQ-DOS from Compaq as MS-DOS.
In the former Eastern bloc, MS-DOS derivatives named DCP 3.20 and 3.30 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
- Version 1.24 – basis for IBM's Personal Computer DOS 1.1
- Version 1.25 – basis for non-IBM OEM versions of MS-DOS, including SCP MS-DOS 1.25
MS-DOS 2.x
- Version 2.0, First version to support double-sided 360 KB 5.25-inch floppy disks; Release date: October 1983
- Version 2.02 ; Release date: November 1983
- Version 2.05 ; Release date: October 1983
- Version 2.1
- Version 2.11
- * 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 ; 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 ; Release date: July 1984
- Version 2.2
- Version 2.25
- Version 2.3