From Wikipedia, the free encyclopedia
DOS commonly refers to the family of closely related operating systems which dominated the IBM PC compatible market between 1981 and 1995 (or until about 2000, if Windows versions 95, 98, and M.E. are included) : PC-DOS, MS-DOS, FreeDOS, DR-DOS, Novell-DOS, OpenDOS, PTS-DOS, ROM-DOS and several others. They are single user, single task systems. MS-DOS from Microsoft was the most widely used. These operating systems ran on IBM PC type hardware using the Intel x86 CPUs or their compatible cousins from other makers. MS-DOS is still common today and was the foundation for many of Microsoft's operating systems (from Windows 1.0 through Windows Me). MS-DOS was later abandoned as the foundation for their operating systems.
MS-DOS (and the IBM PC-DOS which was licensed therefrom), and its predecessor, QDOS, was an imitation of CP/M (Control Program / (for) Microcomputers) — which was the dominant operating system for 8-bit Intel 8080 and Zilog Z80 based microcomputers.
It was first developed at Seattle Computer Products by Tim Paterson as a variant of CP/M-80 from Digital Research, but intended as an internal product for testing SCP's new 8086 CPU card for the S-100 bus. It did not run on the 8080 (or compatible) CPU needed for CP/M-80. It was called QDOS, among several other names. Microsoft licensed it from SCP, made changes and licensed the result to IBM (sold as PC-DOS) for its new 'PC' using the 8088 CPU (internally the same as the 8086), and to many other hardware manufacturers. In the later case it was sold as MS-DOS.
Digital Research produced a compatible t known as "DR-DOS", which was eventually taken over (after a buyout of Digital Research) by Novell. This became "OpenDOS" for a while after the relevant division of Novell was sold to Caldera International, now called SCO. Later, the embedded division of Caldera was "spun off" as Lineo (later renamed Embedix), who in turn sold DR-DOS to a start-up called Device Logics, who now seem to call themselves DRDOS, Inc.
There is also a free alternative named "FreeDOS".
DOS was one of the first operating systems for the PC compatible platform, and the first on that platform to gain widespread use (it was still widespread more than 10 years later). This was a quick and messy affair (the variant MS-DOS, sometimes colloquially referred to as Messy DOS, was developed from QDOS, which literally meant "Quick and Dirty Operating System").
IBM-PCs were only distributed with PC-DOS, whereas PC compatible computers from nearly all other manufacturers were distributed with MS-DOS. For the early years of this operating system family, PC-DOS was almost identical to MS-DOS. More recently, free versions of DOS such as FreeDOS and OpenDOS have started to appear.
Early versions of Microsoft Windows were little more than a graphical shell for DOS, and later versions of Windows were tightly integrated with MS-DOS. It is also possible to run DOS programs under OS/2 and Linux using virtual-machine emulators.
Because of the long existence and ubiquity of DOS in the world of the PC-compatible platform (DOS compatible programs were made well into the 90's), DOS was often considered to be the native operating system of the PC compatible platform.
Microsoft bought non-exclusive rights for marketing QDOS on December 1980. On July 1981, Microsoft bought exclusive rights for 86-DOS, which was the next version of QDOS.
The first version, PC-DOS 1.0, was released in August, 1981. It supported up to 256 kB of RAM and two 160 kB 5.25" single sided floppy disks.
In May 1982, PC-DOS 1.1 added support for 320 kB double-sided floppy disks.
PC-DOS 2.0 and MS-DOS 2.0, released in March 1983, were the first versions to support the PC/XT and fixed disk drives (commonly referred to as hard disk drives). Floppy disk capacity was increased to 180 kB (single sided) and 360 kB (double sided) by using nine sectors per track instead of eight.
At the same time, Microsoft announced its intention to create a GUI for DOS. Its first version, Windows 1.0, was announced on November 1983, but was unfinished and did not interest IBM. By November 1985, the first finished version, Microsoft Windows 1.01, was released.
MS-DOS 3.0, released in September 1984, first supported 1.2Mb floppy disks and 32Mb hard disks. MS-DOS 3.1, released November that year, introduced network support.
MS-DOS 3.2, released in April 1986, was the first retail release of MS-DOS. It added support of 720 kB 3.5" floppy disks. Previous versions had been sold only to computer manufacturers who pre-loaded them on their computers, because operating systems were considered part of a computer, not an independent product.
MS-DOS 3.3, released in April 1987, featured logical disks. A physical disk could be divided into several partitions, considered as independent disks by the operating system. Support was also added for 1.44 MB 3.5" floppy disks.
MS-DOS 4.0, released in July 1988, supported disks up to 2 GB (typical disk sizes were typically 40-60 MB in 1988), and added a full-screen shell called DOSSHELL. Other shells, like Norton Commander and PCShell, already existed in the market. In November of 1988, Microsoft addressed many bugs in a service release, MS-DOS 4.01.
MS-DOS 5.0, released in April 1991, included the full-screen BASIC interpreter QBasic, which also provided a full-screen text editor (previously, MS-DOS had only a line-based text editor, edlin). A disk cache utility (SmartDrive), undelete capabilities, and other improvements were also included. It had severe problems with some disk utilities, fixed later in MS-DOS 5.01, released later in the same year.
In March 1992, Microsoft released Windows 3.1, which became the first popular version of Microsoft Windows, with more than 1,000,000 purchasing the graphical user interface.
In March 1993, MS-DOS 6.0 was released. Following competition from Digital Research, Microsoft added a disk compression utility called DoubleSpace. At the time, typical hard disk sizes were about 200-400 MB, and many users badly needed more disk space. MS-DOS 6.0 also featured the disk defragmenter DEFRAG, backup program MSBACKUP, memory optimization with MEMMAKER, and rudimentary virus protection via MSAV.
As with versions 4.0 and 5.0, MS-DOS 6.0 turned out to be buggy. Due to complaints about loss of data, Microsoft released an updated version, MS-DOS 6.2, with an improved DoubleSpace utility, a new disk check utility, SCANDISK (similar to fsck from Unix), and other improvements.
The next version of MS-DOS, 6.21 (released March 1994), appeared due to legal problems. Stac Electronics sued Microsoft and forced it to remove DoubleSpace from their operating system.
In May 1994, Microsoft released MS-DOS 6.22, with another disk compression package, DriveSpace, licensed from VertiSoft Systems.
MS-DOS 6.22 was the last stand-alone version of MS-DOS available to the general public. MS-DOS was removed from marketing by Microsoft on November 30, 2001. See the Microsoft Licensing Roadmap.
Microsoft also released versions 6.23 to 6.25 for banks and American military organizations. These versions introduced FAT32 support. Since then, MS-DOS exists only as a part of Microsoft Windows versions based upon Windows 95 (e.g. Windows 98, Windows Me). The original release of Microsoft Windows 95 incorporates MS-DOS version 7.0.
IBM released the last commercial version of a DOS - IBM PC-DOS 7.0 - in early 1995. It incorporated many new utilities such as anti-virus software, comprehensive backup programs, PCMCIA support, and DOS Pen extensions. Also incorporated were new features to enhance the available memory and disk space.
Accessing hardware under DOS
The operating system offers a hardware abstraction layer that although adequate for developing character-based applications is woefully inadequate for accessing most of the hardware (such as the graphics hardware). This led to application programmers accessing the hardware directly. The result of this was that each application would have to have a set of device drivers written for it to use the various types of hardware on offer (different printers, etc.), and when some new hardware was released, the hardware manufacturers would have to make sure that device drivers for their hardware for the popular applications became available.
DOS and other PC operating systems
Early versions of Microsoft Windows are "shell-type" programs that ran under DOS. Later versions were launched under DOS but "extended" it by going into protected mode. Still later versions of MS Windows ran independently of DOS but included much of the old code such that it could run in virtual machines under the new OS and the latest versions of MS Windows are continually dropping ever more of the DOS ancestry. Windows Me was the last Microsoft OS to run on DOS; operating systems in the Windows NT line (including the post-NT 4.0 versions, such as Windows 2000 and Windows XP, which aren't marketed as "Windows NT") are not based on DOS.
Under Linux (running on x86-based systems) it's possible to run copies of DOS and many of its clones under dosemu (a Linux native virtual machine program for running real mode programs). There are a number of other emulators for running DOS and/or DOS-based software under various versions of UNIX, even on non-x86 platforms; one such emulator is DOSBox.
Reserved device names under DOS
There are reserved device names in DOS that cannot be used as filenames regardless of extension; these restrictions also affect several Windows versions, in some cases causing crashes and security vulnerabilities.
A partial list of these reserved names is:
More recent versions of both MS-DOS and IBM-DOS allow reserved device names without the trailing colon; e.g.,
PRN refers to
NUL filename redirects to a null file, similar in function to the UNIX device /dev/null. Is best suited for being used in batch command files for discarding unneeded output. If
NUL is copied to a file that already exists, it will truncate the target file; otherwise, a zero byte file will be created. (Thus,
copy NUL foo is functionally similar to the UNIX commands
cat </dev/null >foo and
cp /dev/null foo.) Naming a file as
NUL, regardless of extension, could cause unpredictable behavior in most applications. Well-behaved applications will generate an error stating that NUL is a DOS reserved filename; others, "save" the file (but as NUL represents a null file, whatever the program saved is lost), and some applications may hang or leave the computer in an inconsistent state, and a reboot may be needed.
Drive naming scheme
Under Microsoft's DOS operating system and its derivatives drives are referred to by identifying letters. Standard practice is to reserve "A" and "B" for floppy drives. On systems with only one floppy drive DOS permits the use of both letters for one drive, and prompts to swap disks. This allows for copying from floppy to floppy (this isn't a very fast method though as it generally ends up asking for disk swaps far more often than really needed) or having a program run from one floppy whilst having its data on another. Hard drives were originally assigned the letters "C" and "D", but as support for more hard drives became available this developed into assigning the primary partitions on each drive (DOS only allows a single active primary partition per drive even though the partitioning system allowed for more) letters first, then making a second pass over the drives to allocate letters to logical drives in the extended partitions. Letters for CD-ROMs, RAM disks and other things are allocated after the hard drive partitions. This is often done simply in the order the drivers were loaded, although many drivers can be specifically instructed to take a different letter. Network drives are usually given letters much further on in the alphabet by the network driver software so that they are generally out of the way of this system.
Because these letters are used directly by normal applications (unlike the /dev/* names in Unix-like operating systems), the addition of an additional hard drive can be disruptive to applications, which then require reconfiguration or even reinstallation. This is especially true if there are logical drives in an extended partition on the original hard drive and the new hard drive has a primary partition, as it would then cause the logical drives on the first hard drive to change letters. However, even if the new hard drive had only logical drives in an extended partition it would still disrupt the letters of RAM disks and CD-ROM drives. This disruptive system persisted through the 9x versions of Windows but NT adopts a slightly different system. It uses the traditional rules when first installing but after that it tries to preserve the letters of existing drives until you change it.
Under Linux it is possible to run copies of DOS and many of its clones under DOSEMU, a Linux-native virtual machine for running real mode programs. There are a number of other emulators for running DOS under various versions of UNIX, even on non-x86 platforms.
DOS emulators are recently sought after, even by Windows XP users, due to the incompatibility of the system with pure DOS. Many users find difficulty to play 'abandonware' games made for DOS. One of the most famous emulators, made specifically for gaming, is DOSBox, a windowed (optionally fullscreen) DOS emulator for modern operating systems.
- Wine (software)
- Club Dr-DOS Wiki - Wiki for Dr-DOS, OpenDOS, Novell-DOS, additional info and news about general DOS
- Softpanorama DOS history Page
- Richard Bonner's DOS website
- Game demos by ID Software for DOS
- Batfiles: The DOS batch file programming handbook and tutorial
- MS-DOS Reference — Not just for MS-DOS but also for other DOSses on the PC platform.
- DOS and Windows timeline
- Old Os — Information and downloads for DOS users (including some freeware utilities)
- Ralf Brown's Interrupt List
- Umberto Eco - The Holy War: Mac vs. DOS
- 16bitos.com - Comprehensive DOS version resource
- FreeDOS (can be downloaded)
- Dos History Timeline