MS-DOS

MS-DOS

MS-DOS (short for MicroSoft Disk Operating System) is an operating system for x86-based personal computers, which was purchased by Microsoft. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for personal computers during the 1980s up to mid 1990s. It was preceded by M-DOS (also called MIDAS), designed and copyrighted by Microsoft in 1979. MSDOS was written for the Intel 8086 family of microprocessors, particularly the IBM PC and compatibles. It was gradually replaced on consumer desktop computers by operating systems offering a graphical user interface (GUI), in particular by various generations of the Microsoft Windows operating system. MS-DOS developed out of QDOS (Quick and Dirty Operating System), also known as 86-DOS.

MS-DOS development originally started in 1981, and was first released in 1982 as MS-DOS 1.0. Several versions were released under different names for different hardware. MS-DOS had eight major versions released before Microsoft stopped development in 2000. 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 licensed 86-DOS and 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 written as an interim replacement for the delayed CP/M-86, when Seattle Computer Products' needed an operating system to sell with their 8086 processor card for the S-100 bus, which at the time was a leading edge product.) Tim Paterson is considered the original author of DOS and he is called "The Father of DOS".

Worried by possible legal problems, in June 1981 Microsoft made an offer to Rod Brock, the owner of Seattle Computer, to buy the rights for 86-DOS. An agreement to release all rights to the software was signed in June 1981. The total cost was $75,000.

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 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 they were designed for, and in any case were very similar in function and capability to the same-numbered standard version for the IBM PC, with a few notable exceptions.

While MS-DOS appeared on PC clones, true IBM computers used PC DOS, a rebranded form of MS-DOS. Ironically, the dependence on IBM-compatible hardware caused major problems for the computer industry when the original design had to be changed. For example, the original design could support no more than 640 kilobytes of memory (the 640 kB barrier), because IBM's hardware design reserved the address space above this limit for peripheral devices and ROM. Manufacturers had to develop complicated schemes (EMS and XMS, and other minor proprietary ones) to access additional memory. This limitation would not have been a problem if the original idea of interfacing with hardware through MS-DOS had endured. (However, MS-DOS was also a real-mode operating system, and the Intel x86 architecture only supports up to 1 MB of memory address space in Real Mode, even on Pentium 4 and later x86 CPUs, so for simple access to megabytes of memory, MS-DOS would have had to be rewritten to run in 80286 or 80386 Protected Mode.) Also, it should be noted that Microsoft originally described MS-DOS as "an operating system for Intel 8086-based microcomputers", and the 8086 CPU (and its cousin the 8088) itself has only 1 MiB of total memory address space.