Microsoft's Disk Operating System (DOS) was originally developed for the IBM PC during the early 1980s. It went through many iterations during the 80s and 90s before being superceded by GUI-based operating systems, most particularly Microsoft's own Windows operating system.
In May 1979, an American company ´Seattle Computer Products´ made a plug-in print card to the S-100 bus computer that used the Intel 8086 processer. One of the first of these cards was placed at the disposal of Microsoft, then a small company known for their version of BASIC for the CP/M operating system. About 2 weeks later at the National Computer Conference in New York, they showed a BASIC version for the Intel 8086 processer. In November 1979 the sale of these cards began. Seattle Computer Products now waited for Digital Research (actually, they had the somewhat pretentious name of "Intergalactic Digital Research" at the time), to release a new version of their operating system, CP/M. Half a year later the release of a new CP/M was not in sight, so Seattle decided, in April 1980, to make its own operating system. In August 1980, Seattle started selling the first version of that new OS, named ´QDOS v0.10´. It was fast and dirty, but it worked (QDOS stands for Quick´n´Dirty Operating System.
Around October 1980, IBM began searching the market for an operating system for the yet-to-be-introduced new IBM PC. IBM had originally intended to use Digital Research's CP/M, then the industry standard operating system, since all computers of the time ran either a BASIC interpreter with disk functions, a proprietary operating system, or Digital's CP/M.
Folklore reports various stories about the rift between DR and IBM. The most popular story claims Gary Kildall of DR snubbed the IBM executives by flying his airplane when the meeting was scheduled. Another story claims Kildall didn't want to release the source for CP/M to IBM, which would be odd, since they released it to other companies. One noted industry pundit claims Kildall's wife killed the deal by insisting on various contract changes. I suspect the deal was killed by the good ol' boy network. It's hard to imagine a couple of junior IBM executives giving up when ordered to a task as simple as licensing an operating system from a vendor. It wouldn't look good on their performance reports. It would be interesting to hear IBM's story...
Well IBM then talked to Microsoft. Microsoft was a language vendor, known for its version of BASIC for CP/M and other operating systems. Bill Gates and Paul Allen had written BASIC and were selling it on punched tape or disk. Microsoft had no 8086 real operating system to sell, but quickly made a deal to license Seattle Computer Products' now newly released 86-DOS v0.30 (QDOS was renamed to 86-DOS) operating system, to IBM. 86-DOS v0.30 was approximately 4000 lines of code. This code was quickly polished up and presented to IBM for evaluation. IBM found itself left with Microsoft's offering of "Microsoft Disk Operating System 1.0". An agreement was reached between the two, and IBM agreed to accept 86-DOS as the main operating system for their new PC. Microsoft purchased all rights to 86-DOS in July 1981 (Now at 86-DOS v1.0, released by Seattle in April 1981) and "IBM Personal Computer DOS 1.0" was ready for the introduction of the IBM PC in October 1981. IBM subjected the operating system to an extensive quality-assurance program, reportedly found well over 300 bugs, and decided to rewrite the programs. This is the reason PC-DOS is copyrighted by both IBM and Microsoft.
Some early OEM versions of DOS had different names, such as Compaq-DOS, Z-DOS, Software Bus86, etc.
By version 2, Microsoft managed to persuade everyone but IBM to
refer to the product
as "MS-DOS." Although everybody refers to IBM DOS as PC-DOS, this is not correct.
Incidentally, IBM refers
to its DOS as "The IBM Personal Computer DOS." The term "PC-DOS" is a trademark of IBM's rival DEC (Digital Equipment Corporation). It is sometimes amusing to reflect on the fact that the IBM PC was
not originally intended to
run MS-DOS. The target operating system at the end of the development
was for a (not yet in
existence) 8086 version of CP/M. On the other hand, when DOS was
originally written the IBM PC
did not yet exist! Although PC-DOS was bundled with the computer,
Digital Research's CP/M-86
would probably have been the main operating system for the PC except
for two things - Digital
Research wanted $495 for CP/M-86 (considering PC-DOS was essentially
free) and many software
developers found it easier to port existing CP/M software to DOS than
to the new version of CP/M.
The IBM PC shipped without an operating system. IBM didn't start
bundling DOS until the second
generation AT/339 came out (PC-DOS v1.1 = MS-DOS v1.24). You could
order one of three operating
systems for your PC, assuming you bought the optional disk drive
and 64k RAM upgrade
(base models had 16k and a cassette player port). These operating
systems were IBM Personal
Computer DOS 1.0, a version of the UCSD p-System, which was an integrated Pascal operating system something like the souped-up BASIC operating systems used by the Commodore 64 and others,
or Digital Research's CP/M-86, which was officially an option although you couldn't buy it until later. Since IBM's $39.95 DOS was far cheaper than anyone else's alternative, nearly everyone bought DOS.
The first purchasable MS-DOS version is v1.25 from July 1982. Microsoft sold this version to every computer manufacturer who showed interest. v1.25 is the same as PC-DOS v1.10 and MS-DOS v1.24. Allthough the OS offered by Microsoft to IBM was called MS-DOS v1.00, it was never released to the public. MS-DOS v1.00 is 86-DOS v0.3.
A number of competing operating systems that were binary compatible with MS-DOS and IBM PC DOS were released in the early years. Most notable of these was DR-DOS by Digital Research.
This article provides an overview of the various versions available, and the changes / additions from prior versions.
Versions (in approximate chronological order)
- SCP 86-DOS 0.1 - Released August 1980. Supported three disk formats on 8" floppy disks - Cromemco/Tarbell 250.25 KB, Tarbell 616 KB and Tarbell 1232 KB (FAT IDs 0xFF and 0xFE).
- SCP 86-DOS 0.3 - Released December 1980.
- SCP 86-DOS 0.42 - Supports FAT12 and CP/M 2 (through RDCPM). Adds 5.25" floppy disk support for NorthStar 87.5 KB and Cromemco 90 KB 5.25" disks.
- SCP 86-DOS 1.0 - Released April 1981. Rebranded QDOS by SCP.
- IBM PC DOS 1.x
- Version 1.0 - First released on 12th August 1981. Same as 86-DOS v1.0 (released April 1981) by Seattle Computer Products. Supported only an 8-sector floppy format with a formatted capacity of 160 KB (FAT ID 0xFE) for single-sided 5.25-inch floppy drives.
- Version 1.05 - Internal IBM release only.
- Version 1.1 - Added support for double-sided disk format with 320 KB (FAT ID 0xFF) or 160 KB single-sided.
- Version 1.5 -
- Version 1.10 - Released June 1982.
- MS-DOS 1.x
- Version 1.0 - No version 1.0 ever existed
- Version 1.10 (OEM) – Released 17th May 1982. Possible basis for IBM's Personal Computer DOS 1.0
- Version 1.11 (OEM) – Released 17th May 1982. Possible basis for IBM's Personal Computer DOS 1.0
- Version 1.14 (OEM) – Released 17th May 1982. Possible basis for IBM's Personal Computer DOS 1.0
- Version 1.24 (OEM) – Released 17th May 1982. Same as IBM's Personal Computer DOS 1.10
- Version 1.25 (OEM) – Released July 1982. This version was the first version that formed the 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 or higher)
- Zenith Z-DOS 1.19, a Zenith OEM version of MS-DOS (1.25 or higher)
- IBM PC DOS 2.x
- Version 2.0 - Released in March 1983 alongside the IBM PC/XT. New features included Unix-style subdirectories, handle calls, installable device drivers, I/O redirection, support for hard disks and 9-sector floppy formats with 180 KB (FAT ID 0xFC) and 360 KB (FAT ID 0xFD). Supports hard disks up to 16 MB capacity.
- Version 2.1 - Released in October 1983 for the IBM PCjr. No individual country support, but included bugfixes for IBM PC DOS 2.0.
- MS-DOS 2.x – Support for 16 MB hard disk drives and tree-structure filing system.
- Version 2.0 (OEM) - This was the first version with the official name of 'MS-DOS'.
- Version 2.01 (OEM) - Released 1st May 1983. Added support for individual country formats and Kanji.
- Version 2.10 (OEM)
- Version 2.11 (OEM) - Released March 1984. Cross between PC DOS 2.10 and MS-DOS 2.01.
- Version 2.11R (OEM)- Released in 1988 as a bootable ROM DOS for Tandy machines.
- Version 2.12 (OEM) - Released between April and July 1984. Special version for the Texas Instruments Pro.
- IBM PC DOS 3.x
- Version 3.00 - Released in August 1984. Added support for 1.2 MB floppy drive for the IBM PC/AT, some new system calls, new external programs (outside of command.com), support for 16-bit FAT file system (FAT16) so supports hard disks up to 32 MB capacity, specific support for IBM network.
- Version 3.10 - Released November 1984. Bug-fix release for v3.00, added general network support.
- Version 3.20 - Released January 1986. Added support for 720 KB 3.5" floppy disk drives and special support for laptops (IBM PC Convertible). Also added XCOPY.
- Version 3.30 - Released April 1987. Designed for the IBM PS/2 series of computers. Added support for 1.44 MB floppy drives, multiple DOS partitions, code page switching, improved foreign language support, some new function calls, and support for the IBM PC/AT's CMOS realtime clock.
- Version 3.40 - Internal IBM version never released (4.0 development)
- MS-DOS 3.x
- Version 3.0 (OEM) – Released 1st August 1984. Support for FAT16. First version to support 5.25 inch 1.2 MB floppy drives and diskettes. Now supports hard disks up to 32 MB capacity.
- Version 3.05 (OEM) - Released November 1984. This was the first non-IBM release of version 3.x.
- Version 3.1 (OEM) – Support for Microsoft Networks
- Version 3.2 (OEM) - First version to support 3.5 inch, 720 kB floppy drives and diskettes.
- Version 3.21 (Retail) - The first version from Microsoft to be sold to the general public.
- Version 3.25 (Retail) - Released January 1986.
- Version 3.3 (Retail) - Released 7th August 1987. First version to support 3.5 inch 1.44 MB floppy drives and diskettes.
- Version 3.3a (Retail) - Released 24th February 1988.
- Version 3.31 (OEM) – Compaq MS-DOS 3.31 supports FAT16B (with 32-bit sector entries) hence support for larger drives. This version was also released for Wyse.
- Version 3.3R (OEM) - Released in 1990 as a bootable ROM DOS for Texas Instruments laptops.
- IBM PC DOS 4.x
- Version 4.00 - Released in August 1988. Support for FAT16B (aka BIGDOS, 32-bit sector addressing) so breaks the hard disk limit of 32 MB, now supporting capacities up to 2 GB. Also added minor support for EMS (Expanded Memory Specification), enhanced network support, PCjr support dropped.
- MS-DOS 4.x – includes a graphical/mouse interface. It had many bugs and compatibility issues.
An initial release of 4.00 in April 1986(!) to Europe was withdrawn quickly after a very short run. This version added support for multitasking.
- Version 4.00 (Retail) - Released 13th October 1988. Added support for FAT16B (aka BIGDOS) using 32-bit disk sector addressing in the BPB. This meant you could now support hard disks up to 2 GB in capacity. A separate version of v4.00 was released on 21st October 1988, just for 8088/8086 CPUs.
- Version 4.01 (Retail) – Released 2nd December 1988. IBM patched version 4.00 before Microsoft released it. First version to introduce volume serial number when formatting hard disks and floppy disks (Disk duplication also and when using SYS to make a floppy disk or a partition of a hard drive bootable). Bug fixes over v4.00.
- Version 4.01a (OEM)
- IBM PC DOS 5.x
- Version 5.02 - Released in August 1992. A version that can run on non-IBM-built machines.
- MS-DOS 5.x
- Version 5.0 (Retail) – Released 12th April 1991. includes a full-screen editor. A number of bugs required re issue. First version to support 3.5 inch, 2.88 MB floppy drives and diskettes. First version to support partition of hard drives up to 2 GiB, and up to 8 hard drives total. Also included new 'high memory' support. A ROM-able OEM kit was made available.
- Version 5.0a (OEM) – Released 13th November 1991 for different compatible brands. With this release, IBM and Microsoft versions diverge. This version reports its version as 5.0.
- Version 5.0.500 (WinNT) – All Windows NT 32-bit versions ship with files from DOS 5.0
- MS-DOS 6.x
- Version 6.0 (Retail) – Released as a full release or as an upgrade on 30th March 1993. Online help through QBASIC. Disk compression (DoubleSpace) and antivirus included. Also added support for multiple configurations in CONFIG.SYS and AUTOEXEC.BAT.
- Version 6.1 (none) – IBM and Microsoft alternate DOS 6 versions. IBM released 6.3 also.
- Version 6.2 (Retail) – Released as a full release or as an upgrade on 1st November 1993. Scandisk as replacement for CHKDSK. Fix serious bugs in DBLSPACE.
- Version 6.21 (Retail) – Released as a full release or as an upgrade on 10th March 1994. Stacker-infringing DBLSPACE removed.
- Version 6.22 (Retail) – Released as a full release or as an upgrade on 31st May 1994. New DRVSPACE (DriveSpace) compression.
- IBM PC DOS 7.x
- Version 7.0 (Retail) - FAT32-compliant
- Version 7.0 (Provided with Windows 95 / 95A) – Support for VFAT long file names and 32-bits signed integer errorlevel. New editor. JO.SYS is an alternative filename of the IO.SYS kernel file and used as such for "special purposes". JO.SYS allows booting from CD-ROM to hard disk.
- Version 7.1 (Provided with Windows 95B / OSR2 – Windows 98 SE) – Support for FAT32 file system, supporting hard disks up to 124.55 GB in capacity. Last general purpose DOS to be able to load Windows 3.x/95/98 GUI running on top.
- MS-DOS 8.0
- Version 8.0 (Windows ME) – Integrated drivers for faster Windows loading. Four different kernels (IO.SYS) observed.
- Version 8.0 (Windows XP) – DOS boot disks created by XP and later contain files from WinME. The internal command prompt still reports version 5.0
These days, DOS lives on with a widespread support network through FreeDOS, which, since its inception in 1994 has supported the FAT32 filing system (for up to 2 TB LBA hard disks), long filenames, fast networking, and many thousands of third-party utilities and programs. For more information on FreeDOS, visit the official site here.