Jump to content

MS-DOS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Icon: JPEG -> PNG
Correct "IBM compatible" machine vs program confusion
Line 27: Line 27:
[[IBM]] and [[Microsoft]] both released versions of [[DOS]]; the IBM version was supplied with the [[IBM PC]] and known as [[PC-DOS]]. Originally, IBM only validated and packaged Microsoft developments, and thus IBM's versions tended to be released shortly after Microsoft's. However, MS-DOS 4.0 was actually based on IBM PC-DOS 4.0, as Microsoft was by then concentrating on [[OS/2]] development. Microsoft released its versions under the name "MS-DOS", while IBM released its versions under the name "PC-DOS". Initially, when Microsoft would license their OEM version of MS-DOS, the computer manufacturer would customize its name (i.e. TandyDOS, Compaq DOS, etc). Most of these versions were identical to the official MS-DOS; however, Microsoft began to insist that OEMs start calling the product MS-DOS. Eventually, only IBM resisted this move.
[[IBM]] and [[Microsoft]] both released versions of [[DOS]]; the IBM version was supplied with the [[IBM PC]] and known as [[PC-DOS]]. Originally, IBM only validated and packaged Microsoft developments, and thus IBM's versions tended to be released shortly after Microsoft's. However, MS-DOS 4.0 was actually based on IBM PC-DOS 4.0, as Microsoft was by then concentrating on [[OS/2]] development. Microsoft released its versions under the name "MS-DOS", while IBM released its versions under the name "PC-DOS". Initially, when Microsoft would license their OEM version of MS-DOS, the computer manufacturer would customize its name (i.e. TandyDOS, Compaq DOS, etc). Most of these versions were identical to the official MS-DOS; however, Microsoft began to insist that OEMs start calling the product MS-DOS. Eventually, only IBM resisted this move.


Computer advertisements of this period often claimed that computers were "IBM-Compatible" and very rarely "MS-DOS compatible". The two terms were not synonyms. There were computers which used MS-DOS which could not run all the software that an IBM-Compatible machine could. An example is the '''Pivot''', which used MS-DOS but was not IBM-Compatible. Programs would indeed run faster if they were written to IBM standards, by bypassing the much slower MS-DOS functions for, for example, sending information to the screen. An IBM-Compatible machine would send video information directly to the area of memory assigned to it, which was not part of the MS-DOS specifications.
Computer advertisements of this period often claimed that computers were "IBM-Compatible" and very rarely "MS-DOS compatible". The two terms were not synonyms. There were computers which used MS-DOS which could not run all the software that an IBM-Compatible machine could. An example is the '''Pivot''', which used MS-DOS but was not IBM-Compatible.
Programs written specifically for IBM compatibles could run faster by bypassing slow MS-DOS functions for, for example, sending information to the screen. An IBM-Compatible program might send video information directly to the area of memory assigned to it, which was not part of the MS-DOS specification.


* PC DOS 1.0 - [[August]] [[1981]] - ''Initial release with the first IBM-PC''
* PC DOS 1.0 - [[August]] [[1981]] - ''Initial release with the first IBM-PC''

Revision as of 19:16, 5 December 2005

MS-DOS
An example of MS-DOS's command-line interface, this one showing that the current directory is the root of drive C.
DeveloperMicrosoft
OS familyDOS
Working stateDiscontinued
Source modelClosed source
Latest release8.0 / September 14 2000
Repository
Kernel typeN/A
Default
user interface
DOS CLI
LicenseProprietary
Official websiteN/A
File:MS-DOS icon.png

MS-DOS is a disk operating system made by Microsoft. It was the dominant operating system for the PC compatible platform during the 1980s. It has gradually been replaced on consumer desktop computers with various generations of the Windows operating system.

MS-DOS was originally released in 1981 and had eight major versions released before Microsoft stopped development in 2000. It was the key product in Microsoft's growth from a programming languages company to a diverse software development firm, providing the company with essential revenue and marketing resources.

History

MS-DOS was created by computer manufacturer Seattle Computer Products (SCP) in 1980 as QDOS (for Quick and Dirty Operating System), but was renamed 86-DOS because it was designed to run on the Intel 8086 processor. In a sequence of events that would later inspire much folklore, Microsoft licensed QDOS to IBM on behalf of SCP. Microsoft acquired the system for only $50,000 from SCP shortly before the PC's release.

Development

Original MS-DOS advertisement
Original MS-DOS advertisement

IBM and Microsoft both released versions of DOS; the IBM version was supplied with the IBM PC and known as PC-DOS. Originally, IBM only validated and packaged Microsoft developments, and thus IBM's versions tended to be released shortly after Microsoft's. However, MS-DOS 4.0 was actually based on IBM PC-DOS 4.0, as Microsoft was by then concentrating on OS/2 development. Microsoft released its versions under the name "MS-DOS", while IBM released its versions under the name "PC-DOS". Initially, when Microsoft would license their OEM version of MS-DOS, the computer manufacturer would customize its name (i.e. TandyDOS, Compaq DOS, etc). Most of these versions were identical to the official MS-DOS; however, Microsoft began to insist that OEMs start calling the product MS-DOS. Eventually, only IBM resisted this move.

Computer advertisements of this period often claimed that computers were "IBM-Compatible" and very rarely "MS-DOS compatible". The two terms were not synonyms. There were computers which used MS-DOS which could not run all the software that an IBM-Compatible machine could. An example is the Pivot, which used MS-DOS but was not IBM-Compatible.

Programs written specifically for IBM compatibles could run faster by bypassing slow MS-DOS functions for, for example, sending information to the screen. An IBM-Compatible program might send video information directly to the area of memory assigned to it, which was not part of the MS-DOS specification.

  • PC DOS 1.0 - August 1981 - Initial release with the first IBM-PC
  • PC DOS 1.1 - May 1982
  • MS-DOS 1.25 - May 1982 - First release for non-IBM hardware
  • MS-DOS 2.0 - March 1983 - Introduced features from Unix such as subdirectories, handle-based file operations, command input/output redirection, and pipes. Microsoft decided to use backslashes as pathname separators rather than slashes as on Unix apparently due to the latter character being used as the switch character in most DOS and CP/M programs. Adds support for hard drives and 360KB floppy disks
  • PC DOS 2.1 - October 1983
  • MS-DOS 2.11 - March 1984
  • MS-DOS 3.0 - August 1984 - Adds support for 1.2MB floppy disks and larger hard disks
  • MS-DOS 3.1 - November 1984
  • MS-DOS 3.2 - January 1986 - Supported 2 hard disk partitions of up to 32MB, one primary and one "logical drive" in an "extended partition"
  • PC DOS 3.3 - April 1987
  • MS-DOS 3.3 - August 1987 - Supported multiple logical drives
  • MS-DOS 4.0 - June 1988 - actually derived from IBM's codebase rather than the reverse
  • PC DOS 4.0 - July 1988 - added the DOS Shell, a graphical menu selector, & support for hard disks of >32MB using the format from Compaq DOS 3.31. Also added many bugs and offered less free conventional memory than before. Generally regarded as an unsuccessful release and to be avoided
  • MS-DOS 4.01 - November 1988 - bug-fix release
  • MS-DOS 5.0 - June 1991 - In response to DR-DOS 5.0, adds comparable features to that product: memory management, full-screen editor, QBasic programming language, online help, and DOS Shell gains task switcher. See DR-DOS article for more information
MS-DOS 6.22 box graphics
MS-DOS 6.22 box graphics
  • MS-DOS 6.0 - March 1993 - Response to DR-DOS 6.0. Added DoubleSpace disk compression (copied from Stacker) and other features
  • MS-DOS 6.2 - November 1993 - Bug fix release
  • MS-DOS 6.21 - February, 1994 - Following Stac lawsuit, removed DoubleSpace disk compression
  • PC DOS 6.3 - April 1994
  • MS-DOS 6.22 - June 1994 - Last official stand-alone version. DoubleSpace replaced with non-infringing but compatible DriveSpace tool
  • PC DOS 7.0 - April,1995 - Bundles Stacker in place of DriveSpace
  • MS-DOS 7.0 - August 1995 - Shipped embedded in Windows 95. Included large disk (LBA) and Long File Name (LFN) support
  • MS-DOS 7.1 - August 1996 - Shipped embedded in Windows 95B (OSR2) (and Windows 98 in June 1998). Added support for FAT32 file system
  • MS-DOS 8.0 - September 2000 - Shipped embedded in Windows ME. Last version of MS-DOS. Removes SYS command, ability to boot to command line and other features
  • PC DOS 2000 - Year 2000-compliant version with minor additional features. Final member of the MS-DOS family

Source: PC Museum

MS-DOS grew in spurts, with many significant features being taken from other products and operating systems, such as Microsoft's own Xenix - a variant on Unix - and Digital Research's DR-DOS, as well as tools and utilities including Norton Utilities, PC Tools (Microsoft Anti-Virus), QEMM expanded memory manager, Stacker disk compression, and so on.

With Intel's introduction of the 80286 microprocessor, IBM and Microsoft began work on a joint project called OS/2, originally a protected-mode version of MS-DOS. Later, Microsoft abandoned the project to devote full resources to Windows and Windows NT. Digital Research created the GEM graphical user interface (GUI), which had little popularity on PC compatibles. It was very successful on the Atari ST machines, but was ultimately eclipsed by Microsoft's Windows 3.0 release.

Although its role as a desktop computer operating system has greatly diminished, today it is still used in various embedded x86 systems due to its simplistic architecture, minimal memory requirements, and minimal processor speed requirements.

As a response to Digital Research's DR-DOS 6.0, which bundled SuperStor disk compression, Microsoft opened negotiations with Stac Electronics, vendor of the most popular DOS disk compression tool, Stacker. Stac was unwilling to meet Microsoft's terms for licensing Stacker and withdrew from the negotiations. In the due diligence process, Stac engineers had shown Microsoft some Stacker source code.

Soon, MS-DOS 6.0 was released, including the Microsoft DoubleSpace disk compression utility program. Stac successfully sued Microsoft for patent infringement regarding the compression algorithm used in DoubleSpace. This resulted in the release of MS-DOS 6.21, which had disk-compression removed. Shortly afterwards came version 6.22, with a new version of the disk compression system, DriveSpace, rewritten to avoid the infringing code.

These tactics were common for Microsoft; the company lost another lawsuit resulting from code in Windows 3.1 which caused spurious errors when Windows was launched on DR-DOS. See the DR-DOS article for more on this and Embrace, extend and extinguish for more on Microsoft's perceived anti-competitive maneuvers.

Prior to 1995, Microsoft licensed MS-DOS to computer manufacturers under three types of agreement: per-processor (a fee for each system the company sold), per-system (a fee for each system of a particular model), or per-copy (a fee for each copy of MS-DOS installed). The largest manufacturers used the per-processor arrangement, which had the lowest fee. This arrangement made it expensive for the large manufacturers to migrate to any other operating system, such as DR-DOS. In 1994 the US government charged Microsoft with violations of antitrust law, and a settlement agreement limited Microsoft to per-system licensing. Digital Research did not gain by this settlement, and years later its successor in interest Caldera sued Microsoft for damages. This lawsuit was settled with a monetary payment of 150 million dollars.

Multitasking

MS-DOS was not designed to be a multi-user or multitasking operating system, but many attempts were made to retrofit these capabilities. The Terminate and Stay Resident (TSR) system call (originally targeted at loadable device drivers) and other mostly-undocumented functions were used to create pop-up applications. Although it used them itself, Microsoft discouraged use and sometimes denied the existence of these undocumented functions, but as many classes of co-resident software required these features developers were forced to disassemble MS-DOS to create their products. Borland's SideKick personal productivity product was a notable specimen. Add-on environments like TopView and especially DESQview attempted to provide multitasking, and achieved some success when later combined with the virtual 8086 mode and virtual memory features of the Intel 80386 and later processors. Windows/386 2.1 and subsequent versions provided similar albeit poorer features when running in "386 enhanced" mode, but Microsoft never specifically marketed this possibility and was mostly interested in converting customers to using GUI-mode Windows applications.

User interface

MS-DOS employs a command line interface and a batch scripting facility via its command interpreter, command.com. MS-DOS was designed so users could easily substitute a different command line interpreter, for example 4DOS.

Beginning with version 4.0, MSDOS included a file manager program with a quasi-graphical user interface (the DOS Shell) that featured menus, split windows, and program shortcuts using character mode graphics that were a primitive imitation of the Mac OS and Windows.

MS-DOS compatibility with other Microsoft operating systems

After the release of the Apple Macintosh in 1984, IBM personal computer users also desired a graphical user interface. Many programs running under MS-DOS tried to fill the void by creating their own graphical interface, such as Microsoft Word for DOS, XTree, and the Norton Shell. However, this required duplication of effort and did not provide much consistency in interface design (even between product lines). Non-Microsoft efforts to provide a consistent interface, for example Digital Research’s GEM, also failed.

Early versions of Microsoft Windows were ordinary programs that ran on top of MS-DOS and its clones. Later versions were launched from 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 DOS could run in virtual machines under the new OS. In new computers, MS-DOS cannot run directly if the hard drive uses the NTFS file system, which is the recommended file system in Windows XP. Users who wish to access their NTFS-formatted hard drive must use a NTFS compatible version of DOS.

Several similar products were produced by other companies. In the case of PC-DOS and DR-DOS, it is common but incorrect to call these "clones". Given that Microsoft manufactured PC-DOS for IBM, PC-DOS and MS-DOS were (to continue the genetic analogy) "identical twins" that diverged only in adulthood and eventually became quite different products; DR-DOS was a clone of itself once removed.

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.

See also