Revision as of 08:08, 23 March 2008 edit85.250.54.226 (talk) →DOS emulators← Previous edit | Revision as of 19:38, 24 March 2008 edit undoPetchboo (talk | contribs)1,688 editsm moved DOS to Operating systems derived from MS-DOS: title describes contentNext edit → |
(No difference) |
Revision as of 19:38, 24 March 2008
This article may require cleanup to meet Misplaced Pages's quality standards. No cleanup reason has been specified. Please help improve this article if you can. (December 2007) (Learn how and when to remove this message) |
It has been suggested that this article be merged into MS-DOS. (Discuss) Proposed since March 2008. |
DOS (from Disk Operating System) commonly refers to the family of closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995 (or until about 2000, if one includes DOS-based Windows 95 and Windows 98 systems): DR-DOS, FreeDOS, MS-DOS, Novell DOS, OpenDOS, PC-DOS, PTS-DOS, ROM-DOS, JM-OS and several others. They are single-user, single-task operating systems. These operating systems ran on IBM PC compatible type hardware using the Intel x86 or compatible CPU.
DOS is a single-user, single-task operating system with basic kernel functions that are non-reentrant code; once a process is begun, it must be allowed to run until finished before the same process can be used again. The DOS kernel provides various functions for programs, like displaying characters on-screen, reading a character from the keyboard, and accessing disk files.
Other systems could be used with some allowances and customization for different hardware designs. Hence "Z-DOS" (Trademarked by "Heath-Zenith Computers") could run most MSDOS/PCDOS code, up to and except for video output—for the Z100 family of computers had a better, denser graphics capability and supported twice as many colors as the same eras common IBM/AT machines.
History
MS-DOS (and rebranded IBM PC-DOS which was licensed therefrom), and its predecessor, 86-DOS, were inspired by CP/M (Control Program / (for) Microcomputers) from Digital Research — which was the dominant disk operating system for 8-bit Intel 8080 and Zilog Z80 based microcomputers. Tim Paterson at Seattle Computer Products developed a variant of CP/M-80, intended as an internal product for testing the SCP's new 16-bit 8086 CPU card for the S-100 bus. It did not run on the 8080 CPU needed for CP/M-80. The system was named 86-DOS (it had initially been called QDOS, which stood for Quick and Dirty Operating System).
IBM was introducing their first microcomputer, built with the Intel 8088 microprocessor, and needed an operating system. IBM initially approached Microsoft CEO Bill Gates (possibly believing that Microsoft owned CP/M due to the Microsoft Softcard, which allowed CP/M to run on an Apple II ). IBM was sent to Digital Research, and a meeting was set up. However, the initial negotiations for the use of CP/M broke down—Digital Research wished to sell CP/M on a royalty basis, while IBM sought a single license, and to change the name to "PC-DOS". Killdall refused, and IBM withdrew. Meanwhile, IBM again approached Bill Gates, and Gates approached Seattle Computer and purchased 86-DOS, allegedly for $50,000. This became Microsoft Disk Operating System, MS-DOS.
Microsoft also licensed their system to multiple computer companies, who used their own names. Eventually, Microsoft would require the use of the MS -DOS name, with the exception of the IBM variant, which would continue to be developed concurrently and sold as PC-DOS (this was for IBM's new 'PC' using the 8088 CPU (internally the same as the 8086)). Digital Research became aware that an operating system similar to CP/M was being sold by IBM (under the same name that IBM insisted upon for CP/M), and threatened legal action. IBM responded by offering an agreement, to give PC consumers a choice of PC-DOS or CP/M-86, Kildall's 8086 version. CP/M cost almost $200 more than PC-DOS, however, and sales were low. CP/M faded, with MS-DOS and PC-DOS becoming the marketed operating system for PCs and PC compatibles.
Digital Research would attempt to regain the market lost from CP/M with DR-DOS, an MS-DOS compatible DOS and CP/M hybrid. Digital Research would later be bought out by Novell, and DR DOS became Novell DOS 7. DR DOS would later be part of Caldera (as OpenDOS and DR DOS 7), Lineo, and DeviceLogics.
The FreeDOS project began June 26, 1994, when Microsoft announced it would no longer sell nor support MS-DOS. Jim Hall then posted a manifesto proposing the development of an open-source replacement. Within a few weeks, other programmers including Pat Villani and Tim Norman joined the project. A kernel, the command.com command line interpreter (shell) and core utilities were created by pooling code they had written or found available. There were several official pre-release distributions of FreeDOS before the FreeDOS 1.0 distribution was released on September 3, 2006. FreeDOS does not require license fees or royalties. The only other MS-DOS compatible operating systems that are actively distributed now are Enhanced DR-DOS, PTS-DOS and ROM-DOS.
DOS and Microsoft Windows
Early versions of Microsoft Windows were a DOS application that ran on top of a separate version of DOS. With Windows for Workgroups 3.11, DOS was essentially reduced to the role of a boot loader for the Windows kernel.
Starting with Windows 95, MS-DOS is included as the boot loader rather than being sold separately. This version of MS-DOS can also be configured to run without starting Windows. This option is not available in Windows Me.
Windows NT runs entirely independent of DOS. However, most versions include a DOS subsystem that runs a modified version of MS-DOS 5.0 in a virtual machine for the purpose of running DOS software.
Versions
See Comparison of x86 DOS operating systems for a timeline and comparison of versions.
There are various MS-DOS-compatible operating systems. They include MS-DOS from Microsoft, PC-DOS from IBM, DR-DOS made by Digital Research (and later Novell and Caldera), and FreeDOS, which is open source. All of these systems have a similar user interface, kernel API, and operate in real mode.
FreeDOS32 is a project designed to make a 32 bit DPMI compatible protected mode operating system.
Accessing hardware under DOS
The operating system offers a hardware abstraction layer that allows development of character-based applications, but not for accessing most of the hardware, such as graphics cards, printers, or mice. This required programmers to access the hardware directly, resulting in each application having its own set of device drivers for each hardware peripheral. Hardware manufacturers would release specifications to ensure device drivers for popular applications were available.
DOS and other PC operating systems
Early versions of Microsoft Windows were shell programs that ran in DOS. Windows 3.11 extended the shell by going into protected mode and added 32-bit support. These were 16-bit/32-bit hybrids. Microsoft Windows 95 further reduced DOS to the role of the bootloader. Windows 98 and Windows Me were the last Microsoft Operating Systems to run on DOS. The DOS-based branch was eventually abandoned in favor of Windows NT, a 32-bit system that was the foundation for Windows 2000, Windows XP and Windows Vista.
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. It is best suited for being used in batch command files to discard 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-designed applications will generate an error stating that NUL is a DOS reserved filename; others generate the file but whatever the program saves is lost; finally, some applications may hang or leave the computer in an inconsistent state, requiring a reboot.
Drive naming scheme
Main article: Drive letter assignmentUnder 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 DOS will ask to swap disks. This permits copying from floppy to floppy or having a program run from one floppy while having its data on another. Hard drives were originally assigned the letters "C" and "D". DOS could only support one active partition per drive. As support for more hard drives became available, this developed into assigning the active primary partition on each drive letters first, then making a second pass over the drives to allocate letters to logical drives in the extended partition, then making a third, which gives the other non-active primary partitions their names. (Always assumed, they exist and contain a DOS-readable file system.) Lastly, DOS allocate letters for optical disc drives, RAM disks, and other hardware. Letter assignments usually occur in the order of the drivers loaded, but the drivers can instruct DOS to assign a different letter. An example is network drives, for which the driver will assign letters nearer the end of the alphabets.
Because DOS applications use these drive letters directly (unlike the /dev folder in Unix-like systems), they can be disrupted by adding new hardware that needs a drive letter. An example is the addition of a new hard drive with a primary partition to an original hard drive that contains logical drives in extended partitions. As primary partitions have higher priority than the logical drives, it will change drive letters in the configuration. Moreover, attempts to add a new hard drive with only logical drives in an extended partition would still disrupt the letters of RAM disks and optical drives. This problem persisted through the 9x versions of Windows until NT, which preserves the letters of existing drives until the user changes it.
The DOS boot sequence
The boot information for PC-compatible computers is located at track zero. In DOS, this code will read the DOS BIOS into memory and execute it. The BIOS is located in IBMBIO.COM on DR DOS and PC DOS, and IO.SYS on MS DOS. The BIOS will then load the DOS kernel, located in IBMDOS.COM (PC DOS or DR DOS) or MSDOS.SYS (MS DOS). In the Windows DOS versions (MS DOS 7 and 8), the BIOS and kernel are combined in IO.SYS, and MSDOS.SYS is a text configuration file.
The kernel then executes the CONFIG.SYS file. In CONFIG.SYS, the SHELL command specifies the location of the shell (typically COMMAND.COM). The shell will then launch, and open a startup batch file (typically AUTOEXEC.BAT)
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, such as DOSBox.
DOS emulators are gaining popularity among Windows XP users because this system is incompatible with pure DOS. They can be used to play 'abandoned games' made for DOS. One of the most famous emulators is DOSBox, designed for game-playing on modern operating systems. Another emulator Tao ExDOS is designed for business & printing solutions. VDMSound is also popular on Windows XP for its GUI and sound support.
It is possible to run DOS applications under a Virtual PC environment, allowing better compatibility than DOS emulators as a legitimate version of MS-DOS can be installed which should allow all but the most stubborn applications to run.
References
- ^ The rest of the story: How Bill Gates beat Gary Kildall in OS war, Part 1 | ScobleShow: Videoblog about geeks, technology, and developers
- The Unusual History of MS-DOS The Microsoft Operating System
- Hall, Jim (September 23, 2006). "History of FreeDOS". freedos.org. Retrieved 2007-05-28.
{{cite web}}
: CS1 maint: year (link) - Installing DOS under Virtual PC
See also
- COMMAND.COM, the command line interpreter for DOS and Windows 9x
External links
- MS-DOS Reference — Not just for MS-DOS but also for other DOSses on the PC platform.
- DOS and Windows timeline
- FreeDOS
- PC-DOS