IBM PC DOS (an acronym for IBM personal computer disk operating system) is a discontinued operating system for the IBM Personal Computer, manufactured and sold by IBM from the 1981 into the 2000s. Before version 6.1, PC DOS was an IBM-branded version of MS-DOS. From version 6.1 on, PC DOS became IBM's independent product.

The IBM task force assembled to develop the PC decided that critical components of the machine, including the operating system, would come from outside vendors. This radical break from company tradition of in-house development was one of the key decisions that made the IBM PC an industry standard. At that time private company Microsoft, founded five years before by Bill Gates, was eventually selected for the operating system.

IBM wanted Microsoft to retain ownership of whatever software it developed, and wanted nothing to do with helping Microsoft, other than making suggestions from afar. According to task force member Jack Sams,

The reasons were internal. We had a terrible problem being sued by people claiming we had stolen their stuff. It could be horribly expensive for us to have our programmers look at code that belonged to someone else because they would then come back and say we stole it and made all this money. We had lost a series of suits on this, and so we didn't want to have a product which was clearly someone else's product worked on by IBM people. We went to Microsoft on the proposition that we wanted this to be their product.[citation needed][page needed]

IBM first contacted Microsoft to look the company over in July 1980. Negotiations continued over the next months, and the paperwork was officially signed in early November.[1][page needed]

Although IBM expected that most customers would use PC DOS,[2] The IBM PC also supported CP/M-86, which became available six months after PC DOS,[3]and UCSD p-System operating systems.[4] IBM's expectation proved correct: one survey found that 96.3% of PCs were ordered with the $40 PC-DOS compared to 3.4% for the $240 CP/M-86.[5][not in citation given][citation needed]

Microsoft first licensed,[6] then purchased[7]86-DOS from Seattle Computer Products (SCP), which was modified for the IBM PC by Microsoft employee Bob O'Rear with assistance from SCP (later Microsoft) employee Tim Paterson.[8] O'Rear got 86-DOS to run on the prototype PC in February 1981. 86-DOS had to be converted from 8-inch to 5.25-inch floppy disks and integrated with the BIOS, which Microsoft was helping IBM to write.[9] IBM had more people writing requirements for the computer than Microsoft had writing code. O'Rear often felt overwhelmed by the number of people he had to deal with at the ESD (Entry Systems Division) facility in Boca Raton, Florida.

Perhaps the first public mention of the operating system was in July 1981, when Byte discussed rumors of a forthcoming personal computer with "a CP/M-like DOS ... to be called, simply, 'IBM Personal Computer DOS.'"[10] 86-DOS was rebranded IBM PC DOS 1.0 for its August 1981 release with the IBM PC. The initial version of DOS was largely based on CP/M-80 1.x and most of its architecture, function calls and file naming conventions were copied directly from the older OS. The most significant difference was the fact that it introduced a different file system, FAT12. Unlike all later DOS versions, the DATE and TIME commands were separate executables rather than part of COMMAND.COM. Single-sided 160 kilobyte (kB) 5.25" floppies were the only disk format supported.

In late 1981 Paterson, now at Microsoft, began writing PC DOS 1.10. It debuted in May 1982 along with the Revision B IBM PC. Support for the new double-sided drives was added, allowing 320 kB per disk. A number of bugs were fixed, and error messages and prompts were made less cryptic. The DEBUG utility was now able to load files greater than 64k in size.

Later, a group of Microsoft programmers (primarily Paul Allen, Mark Zbikowski and Aaron Reynolds)[9] began work on PC DOS 2.0. Completely rewritten, DOS 2.0 added subdirectories and hard disk support for the new IBM XT, which debuted in March 1983. A new 9-sector format bumped the capacity of floppy disks to 360 kB. The Unix-inspired kernel featured file handles in place of the CP/M-derivative file control blocks and loadable device drivers could now be used for adding hardware beyond what the IBM PC BIOS supported. BASIC and most of the utilities provided with DOS were substantially upgraded as well. A major undertaking that took almost 10 months of work, DOS 2.0 was more than twice as big as DOS 1.x, occupying around 28k of RAM compared to the 12k of its predecessor. It would form the basis for all Microsoft consumer-oriented OSes until 2001, when Windows XP (based on Windows NT) was released.[9]

In October 1983 (officially November 1)[11] DOS 2.1 debuted. It fixed some bugs and added support for half height floppy drives and the new IBM PCjr.

In 1983, Compaq released the Compaq Portable, the first 100% IBM PC compatible and licensed their own OEM version of DOS 1.10 (quickly replaced by DOS 2.00) from Microsoft. Other PC compatibles followed suit, most of which included hardware-specific DOS features, but some were generic.

In August 1984, IBM introduced the Intel 80286-derived IBM PC/AT, its next-generation machine. Along with this was DOS 3.00. Despite jumping a whole version number, it again proved little more than an incremental upgrade, adding nothing more substantial than support for the AT's new 1.2 megabyte (MB) floppy disks. Planned networking capabilities in DOS 3.00 were judged too buggy to be usable and Microsoft disabled them prior to the OS's release. In any case, IBM's original plans for the AT had been to equip it with a proper next-generation OS that would use its extended features, but this never materialized.[1] PC DOS 3.1 (released March 1985) fixed the bugs in DOS 3.00 and supported IBM's Network Adapter card on the IBM PC Network. PC DOS 3.2 added support for 3½-inch double-density 720 kB floppy disk drives, supporting the IBM PC Convertible, IBM's first computer to use 3½-inch floppy disks, released April 1986.

In June 1985, IBM and Microsoft signed a long-term Joint Development Agreement to share specified DOS code and create a new operating system from scratch, known at the time as Advanced DOS. On April 2, 1987 OS/2 was announced as the first product produced under the agreement.[12] At the same time, IBM released its next generation of personal computers, the IBM Personal System/2 (PS/2).[1] PC DOS 3.3, released with the PS/2 line, added support for high density 3½-inch 1.44 megabyte (MB) floppy disk drives, which IBM introduced in its 80286-based and higher PS/2 models. The upgrade from DOS 3.2 to 3.3 was completely written by IBM, with no development effort on the part of Microsoft, who were working on "Advanced DOS 1.0". DOS 3.30 was the last version designed with the IBM XT and floppy-only systems in mind; it became one of the most popular versions and many users preferred it to its buggy successor.

PC DOS 4.0 (internally known as DOS 3.4 originally), shipped July 1988. DOS 4.0 had some compatibility issues with low-level disk utilities due to some internal data structure changes. DOS 4.0 used more memory than DOS 3.30 and it also had a few glitches. Newly added EMS drivers were only compatible with IBM's EMS boards and not the more common[citation needed] Intel and AST ones. DOS 4.0 is also notable for including the first version of the DOS Shell, a full screen utility designed to make the command-line OS more user friendly. Microsoft took back control of development and released a bug-fixed DOS 4.01[13]

DOS 5 debuted in June 1991. This is one of the biggest upgrades of DOS in its history. DOS 5 supported the use of the High Memory Area (HMA) and Upper Memory Blocks (UMBs) on 80286 and later systems to reduce its conventional memory usage. Also all DOS commands now supported the /? option to display command syntax. Aside from IBM's PC DOS, MS-DOS was the only other version available as OEM editions vanished since by this time PCs were 100% compatible so customizations for hardware differences were no longer necessary.

This was the last version of DOS that IBM and Microsoft shared the full code for, and the DOS that was integrated into OS/2 2.0's, and later Windows NT's, virtual DOS machine.

PC-DOS remained a rebranded version of MS DOS until 1993. IBM and Microsoft parted ways—MS-DOS 6 was released in March, and PC DOS 6.1 (separately developed) followed in June. Most of the new features from MS-DOS 6.0 appeared in PC DOS 6.1 including the new boot menu support and the new commands CHOICE, DELTREE and MOVE. QBasic was dropped and the MS-DOS Editor was replaced with the IBM E Editor. PC DOS 6.1 reports itself as DOS 6.00.

PC DOS 7 was released in April 1995 and was the last release of DOS before IBM's Boca Raton facility closed. The REXX programming language was added, as well as support for a new floppy disk format, XDF, which extended a standard 1.44 MB floppy disk to 1.86 MB. SuperStor disk compression technology was replaced with Stac Electronics' STACKER. An algebraic command line calculator and a utility program to load device drivers from the command line were added. PC DOS 7 also included many optimizations to increase performance and reduce memory usage.[14]

The most recent retail release was PC DOS 2000 – released from Austin in 1998 – which found its niche in the embedded software market and elsewhere. PC DOS 2000 is a slipstream of 7.0 with Y2K and other fixes applied. To applications, PC DOS 2000 reports itself as "IBM PC DOS 7.00, revision 1", in contrast to the original PC DOS 7, which reported itself as "IBM PC DOS 7.00, revision 0".[nb 1]

Hitachi used PC DOS 2000 in their legacy Drive Fitness Test (4.15) and Hitachi Feature Tool (2.15) until 2009.[15]ThinkPad products had a copy of the latest version of PC DOS in their Rescue and Recovery partition.[16]

Most builds of this version of DOS are limited to the kernel files IBMBIO.COM, IBMDOS.COM and COMMAND.COM. The updated programs FDISK32, FORMAT32 allow one to prepare FAT32 disks. Additional utilities are taken from PC DOS 2000, where needed.

^ abFor PC DOS the DOS INT 21h function 30hGet DOS version returns OEM code 00h for IBM instead of FFh for Microsoft. This is particularly important for DOS 7, because various features introduced in MS-DOS 7.0 and 7.1 are not supported in PC DOS 7.x, and vice versa, e.g., MS-DOS does not support REXX, and PC DOS 7 and 2000 do not support LBA access.