DOS
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 you include Windows 9X) : PC-DOS, MS-DOS, FreeDOS, DR-DOS, Novell-DOS, OpenDOS, PTS-DOS, ROM-DOS and several others. Of these, 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 V1.00 through Windows Me). MS-DOS was later abandoned as the foundation for their operating systems.
History
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 Patterson 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 variant 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.
Timeline
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 pre-release version, PC-DOS 1.0, had been finished in 1981. It supported up to 16Kb of RAM and use of a 160Kb 5.25" floppy disk.
In August 1982, the first version of DOS was released. It was called PC-DOS 1.1.
The first version which supported the PC/XT and fixed disk drives (commonly referred to as hard disk drives), PC-DOS 2.0 and MS-DOS 2.0, had been released in March 1983.
At the same time, Microsoft announced its intention to create a GUI for DOS. Its first version, Windows 1.0, had been announced on November 1983, but was unfinished and did not interest IBM. By November 1985, the first finished version, Microsoft Windows 1.01, had been 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, first supported networking.
MS-DOS 3.2, released in April 1986, was the first retail release of MS-DOS. It added support of 720K 3.5" floppy disks. Previous versions had been sold to computer manufacturers, who pre-loaded them on their computers. This is 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 which are considered as independent disks by the operating system. Support was also added for 1.44Mb 3.5" floppy disks.
MS-DOS 4.0, released in July 1988, supported disks up to 2GB (note that typical disk sizes were typically 40-60Mb in 1988), and added a full-screen shell called DOSSHELL. Similar or better shells, like Norton Commander and PCShell, already existed in the market. This release had been considered very buggy. On November 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 line-based text editor), disk cache utility, undelete capabilities, and other improvements. It had severe problems with some disk utilities, fixed later in that year. The fixed version had been called MS-DOS 5.01.
In March 1992, Microsoft released Windows 3.1, which became the first popular version of Microsoft Windows. More than 1,000,000 users bought it, so Microsoft finally succeeded at its task to write a good (or, at least, popular) graphical interface for DOS.
On March 1993, MS-DOS 6.0 had been released. Following competition from Digital Research, Microsoft added a disk compression utility called DoubleSpace. At that time, typical hard disk sizes were about 200-400Mb, 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, on November 1993 Microsoft improved their DoubleSpace utility, and called the new version 6.2. In this version, they also improved other utilities, and introduced a new disk check utility, SCANDISK, similar to fsck from Unix.
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. Otherwise, 6.21 was no different from 6.2.
Microsoft licensed another disk compression package, DoubleSpace, from VertiSoft Systems. This package, renamed DriveSpace, had been included in MS-DOS 6.22, which was released in May 1994. There were no other differences between MS-DOS 6.22 and 6.2.
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 versons 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 version of MS-DOS included with the original release of Microsoft Windows 95 is numbered 7.0.
Accessing hardware under DOS
The operating system offered a hardware abstraction layer that although adequate for developing character-based applications was 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 were "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: NUL:
, COM1:
or AUX:
, COM2:
, COM3:
, COM4:
, CON:
, LPT1:
or PRN:
, LPT2:
, LPT3:
, and CLOCK$
.
More recent versions of both MS-DOS and IBM-DOS allow reserved device names without the trailing colon; e.g., PRN
refers to PRN:
.
The 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 command cat </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 permitted the use of both letters for one drive, and displayed prompts to swap disks. This allowed for copying from floppy to floppy (this wasn't a very fast method though as it generally ended 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 allowed 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 were allocated after the hard drive partitions. This was often done simply in the order the drivers were loaded, although many drivers could be specifically instructed to take a different letter. Network drives were usually given letters much further on in the alphabet by the network driver software so that they were generally out of the way of this system.
Because these letters were used directly by normal applications (unlike the /dev/* names in Unix-like operating systems), the addition of an additional hard drive could be disruptive to applications, which then required reconfiguration or even reinstallation. This was especially true if there were logical drives in an extended partition on the original hard drive and the new hard drive had 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.
DOS emulators
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 incompability 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 Windows XP.
See also: Wine (software).
See also
- disk operating system
- x86 DOS Comparison
- DOSBox
- List of DOS commands
- AUTOEXEC.BAT and CONFIG.SYS - DOS configuration files
External links
- 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
- Linux/dosemu
- 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)
- DR-DOS
- PC-DOS
- ExtDOS