MS-DOS ( /ˌɛmɛsˈdɒs/ EM-es-DOSS; short for Microsoft Disk Operating System) is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating systems offering a graphical user interface (GUI), in particular by various generations of the Microsoft Windows operating system.
MS-DOS grew from a 1981 request by IBM for an operating system for its IBM PC range of personal computers. Microsoft quickly bought the rights to QDOS (Quick and Dirty Operating System), also known as 86-DOS, from Seattle Computer Products, and began work on modifying it to meet IBM's specification. The first edition, MS-DOS 1.0, was launched in 1982. The version shipped with IBM's PCs was called PC DOS. Although MS-DOS and PC DOS were initially developed in parallel by Microsoft and IBM, the two products eventually went their separate ways.
During its life, several competing products were released for the x86 platform, and MS-DOS itself would go through eight versions, until development ceased in 2000. Ultimately it was the key product in Microsoft's growth from a programming languages 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 was a renamed form of 86-DOS – informally known as the Quick-and-Dirty Operating System or Q-DOS – owned by Seattle Computer Products, written by Tim Paterson. Microsoft needed an operating system for the then-new Intel 8086 but it had none available, so it bought 86-DOS for $75,000 and licensed it as its own then released a version of it as MS-DOS 1.0. Development started in 1981, and MS-DOS 1.0 was released with the IBM PC in 1982. (86-DOS, in turn, was a clone of Digital Research's CP/M (for 8080/Z80 processors), 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 became possible because of the increased availability of RAM compared to what was typically available when CP/M was designed originally.)
Originally MS-DOS was designed to be an operating system 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 (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 only 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 only used MS-DOS services to perform device I/O, and 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...