Jump to content

MS-DOS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Replaced page with ' ru:MS-DOS simple:MS-DOS sk:MS-DOS sr:MS-DOS sv:MS-DOS tr:MS-DOS vi:MS-DOS yi:MS-DOS zh:MS-DOS <nowiki><nowiki>Insert non-forma...'
m Reverted 1 edit by 69.60.183.174 identified as vandalism to last revision by ClueBot. TW
Line 1: Line 1:
{{Infobox_OS
| name = MS-DOS
| logo = [[Image:MS-DOS icon.png]]
| screenshot = <!-- Do NOT change the screenshot unless there is BIG change in the UI. When taking screenshot, please resize your window (e.g. 640*480), disable your extensions and use the default theme. -->[[Image: StartingMsdos.png]]
| caption = An example of MS-DOS's command-line interface, this one showing that the current directory is the root of drive C.
| developer = [[Microsoft|Microsoft Corporation]]
| family = [[DOS]]
| source_model = [[Closed source]]
| kernel_type = [[Monolithic kernel]]
| supported_platforms = [[x86]]
| working_state = Discontinued
| latest_release_version = 8.0
| latest_release_date = [[September 14]] [[2000]]
| marketing_target = ?
| language = [[C (programming language)|C]], [[Pascal (programming language)|Pascal]], [[QBasic]], etc.
| ui = [[Command line interface]], [[Text user interface]]
| license = [[Proprietary software|Proprietary]]
| website =
}}
'''MS-DOS''' (short for '''M'''icro'''s'''oft '''D'''isk '''O'''perating '''S'''ystem) is an [[operating system]] commercialised by [[Microsoft]]. It was the most commonly used member of the [[DOS]] family of operating systems and was the dominant operating system for the [[PC compatible]] [[platform (computing)|platform]] during the 1980s. It has gradually been replaced on consumer desktop computers by various generations of the [[Microsoft Windows|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 language]]s company to a diverse software development firm, providing the company with essential revenue and marketing resources. It also provided the platform on which early versions of [[Windows]] ran.

==History==
MS-DOS began as [[86-DOS|QDOS]] (for Quick and Dirty Operating System), written by [[Tim Paterson]] for computer manufacturer [[Seattle Computer Products]] (SCP) in 1980. It was marketed by SCP as 86-DOS because it was designed to run on the [[Intel 8086]] processor. 86-DOS [[function call]]s were based on the dominant [[CP/M-80]] operating system, written by [[Digital Research]], but it used a different [[file system]]. Paterson allegedly wrote it because he liked CP/M, but a version of CP/M didn't yet exist for the 8086.[http://www.theregister.co.uk/2007/07/30/msdos_paternity_suit_resolved/] In a sequence of events that would later inspire much folklore, Microsoft negotiated a license for 86-DOS from SCP in December 1980 for $25,000, then re-licensed 86-DOS to IBM. Microsoft then acquired all rights to 86-DOS for only $50,000 from SCP in July, 1981, shortly before the PC's release.

[[Image:Msdosad.jpg|right|thumb|200px|The original MS-DOS advertisement in 1981.]]
[[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.{{Fact|date=February 2007}} 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 (e.g. [[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" or very rarely "[[DOS executable|MS-DOS compatible]]." The two terms were not synonyms. There were computers that used MS-DOS but could not run all the software that an IBM-Compatible machine could. An example is the [[Morrow Pivot]], which used MS-DOS but was not IBM-Compatible.

===Versions and release dates===
{{splitsection|Timeline of DOS}}

*MS-DOS 1.14 - July 1981 - ''Microsoft rebranded [[86-DOS]] as MS-DOS in July 1981, having bought the rights from SCP.''<ref>BYTE Magazine, [http://www.patersontech.com/Dos/Byte/History.html A Short History of MS-DOS], June, 1983.</ref>
*PC DOS 1.0 - August 1981 - ''initial release with the first IBM-PC, essentially MS-DOS 1.14 with a [[CP/M]] style prompt'' (<code>COMMAND.COM</code> is 4959 bytes)
*PC DOS 1.1 - May 1982 - ''support for 320 [[Kilobyte|kB]] double-sided floppy disk. Developed internally at Microsoft as MS-DOS 1.24''<ref>BYTE Magazine, [http://www.patersontech.com/Dos/Byte/History.html A Short History of MS-DOS], June, 1983.</ref>
*MS-DOS 1.25 - May 1982 - ''first release for [[IBM PC compatible]]s marketed under different brands'' (<code>COMMAND.COM</code> is 4986 bytes)
*MS-DOS 2.0 - March 1983 - ''support for [[PC XT]]: introduced subdirectories, handle-based file operations, command input/output redirection, and [[pipe (computing)|pipes]]. Microsoft decided to use [[backslash|backslashes]] as pathname separators rather than slashes as on Unix, apparently due to the latter character being used as the [[switch (command line)|switch]] character in most DOS and [[CP/M]] programs. Adds support for hard drives and 360KB floppy disks''
*PC DOS 2.1 - October 1983 - ''support for [[IBM PCjr]]''
*MS-DOS 2.11 - March 1984 - ''non-English language and date format support'' (<code>COMMAND.COM</code> is 16229 bytes)
*MS-DOS 2.25 - October 1985 - ''better support for Japanese [[Kanji]] and Korean character sets, shipped to western Pacific countries only''
*MS-DOS 3.0 - August 1984 - ''added support for [[PC AT]]: 1.2 [[Megabyte|MB]] floppy disks and hard disk partitions of up to 32MB, one primary and one "logical drive" in an "extended partition"''
*MS-DOS 3.1 - November 1984 - ''support for Microsoft networking''
*MS-DOS 3.2 - January 1986 - ''support for 3.5 inch, 720 kB floppy disk drives'' (v 3.21 <code>COMMAND.COM</code> is 23612 bytes)
*PC DOS 3.3 - April 1987 - ''support for [[IBM PS/2]]: 1.44 MB floppy disk drives, added codepage support (international character sets)'' (<code>COMMAND.COM</code> is 25307 bytes)
*MS-DOS 3.3 - August 1987 - ''supported multiple logical drives'' (<code>COMMAND.COM</code> is 25276 bytes)
*MS-DOS 4.0 - June 1988 - ''derived from IBM's codebase rather than Microsoft's''
*PC DOS 4.0 - July 1988 - ''added [[DOS Shell]] & support for hard disks of >32MB using the format from Compaq DOS 3.31. But it had many bugs and less free [[conventional memory]] than before. Generally regarded as an unpopular release''
*MS-DOS 4.01 - December 1988 - ''bug-fix release'' (<code>COMMAND.COM</code> is 37557 bytes)
*MS-DOS 5.0 - June 1991 - ''memory management, full-screen editor, [[QBasic]] programming language, online help, [[DOS Shell]] task switcher, and FastLynx file transfer utility licensed from Rupp Technology. Also used as the basis for [[Virtual DOS Machine]] for Windows NT4 through Vista.'' (<code>COMMAND.COM</code> is 47845 bytes)

[[Image:Msdos622.jpg|right|thumb|200px|The MS-DOS 6.22 boxart.]]

*MS-DOS 6.0 - March 1993 - ''added [[DoubleSpace]] disk compression, disk defragmentation, and other features'' (<code>COMMAND.COM</code> is 52925 bytes)
*MS-DOS 6.2 - November 1993 - ''bug fix release'' (<code>COMMAND.COM</code> is 54619 bytes)
*MS-DOS 6.21 - February, 1994 - ''following [[Stac Electronics]] lawsuit, removed DoubleSpace disk compression'' (<code>COMMAND.COM</code> is 54619 bytes)
*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'' (<code>COMMAND.COM</code> is 54645 bytes)
*PC DOS 7.0 - April, 1995 - ''bundles Stacker in place of DriveSpace''
*MS-DOS 7.0 - August 1995 - shipped embedded in [[Windows 95]]. ''Included [[Logical block addressing]] and Long File Name (LFN) support'' (<code>COMMAND.COM</code> is 92870 bytes)
*MS-DOS 7.1 - August 1996 - shipped embedded in Windows 95B (OSR2) (and [[Windows 98]] first and second editions in June 1998 and May 1999). ''Added support for [[File Allocation Table#FAT32|FAT32]] file system'' (<code>COMMAND.COM</code> is 93812, 93880 or 93890 bytes in 95B, 98 or 98SE respectively)
*MS-DOS 8.0 - September [[2000]] - shipped embedded in [[Windows Me]]. A subset is included with 32-bit versions of [[Windows XP]] and [[Windows Vista]]. ''Last version of MS-DOS. Removes SYS command, ability to boot to command line and other features'' (<code>COMMAND.COM</code> is 93040 bytes)
*PC DOS 2000 - ''[[Year 2000 problem|year 2000]]-compliant version with minor additional features. Final member of the MS-DOS family''

''Adapted from original source: [http://members.fortunecity.com/pcmuseum/dos.htm PC Museum]''

==Features==

===User interface===
[[Image: MS-DOS 6.22 dir screenshot.png|right|thumb|300px|The MS-DOS&nbsp;6.22 [[command line interface]].]]
[[Image:MS-DOS Shell.png|300px|right|thumb|The [[text user interface]] of [[DOS Shell]] for MS-DOS&nbsp;6.22.]]
MS-DOS employs a [[command line interface]] and a [[batch file|batch scripting]] facility via its command [[Interpreter (computing)|interpreter]], <code>[[COMMAND.COM]]</code>. MS-DOS was designed so users could easily substitute a different [[command line interpreter]], for example [[4DOS]].

Beginning with version 4.0, MS-DOS included [[DOS Shell]], a [[file manager]] program with a quasi-graphical [[text user interface]] (TUI) that featured menus, split windows, [[Theme (computing)|color themes]], mouse support and program shortcuts using character mode graphics.

===Multitasking===
MS-DOS was not designed to be a multi-user or [[computer multitasking|multitasking]] operating system, but many attempts were made to add these capabilities. ''[[Terminate and Stay Resident]]'' (TSR) system calls were originally designed for [[device driver]]s and extensible plugins that enhanced or added features. Companies such as Borland began to tap into the TSR design with products like [[SideKick]]. 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.

==Competition==
On the IBM PC (and clones) platform, the initial competition to the PC-DOS/MS-DOS line came from [[Digital Research]], whose [[CP/M]] operating system had inspired MS-DOS. Digital Research developed [[CP/M-86]] and offered it to computer manufacturers as an alternate to MS-DOS and Microsoft's licensing requirements.

In the business world, the PC platform that MS-DOS was tied to faced competition from the [[Unix]] operating system which ran on many different hardware architectures. Microsoft even sold a version of Unix called [[Xenix]].

In the emerging world of home users, a variety of other hardware platforms were in serious competition with the IBM PC: the [[Apple II]], early [[Apple Macintosh]], the [[Commodore 64]] and others. At first, the competition for these other platforms was with IBM PC computers running MS-DOS. With the advent of IBM PC clones all running on [[Intel]] processors, the name IBM became less important to home users. What was important was keeping up with Intel's steadily increasing clock speeds and the ability to run MS-DOS.

Microsoft and IBM together began what was intended as the follow-on to DOS, called [[OS/2]]. When OS/2 was released in 1987, Microsoft began an ad campaign announcing that "DOS is Dead", boldly proclaiming version 4 was the last full release.

MS-DOS had grown in spurts, with many significant features being taken (or duplicated) from other products and operating systems, as well as reverse-engineering tools and utilities including [[Norton Utilities]], [[PC Tools (Central Point Software)|PC Tools]] ([[Microsoft Anti-Virus]]), [[QEMM]] expanded memory manager, [[DOS/4GW]] (a [[32-bit]] [[DOS extender]]), [[Stacker]] disk compression, and so on. The advent of OS/2, which offered a number of advanced features which had been written together, was seen as the legitimate heir to the "kludgy" DOS platform.

Digital Research, recognizing the need to continue the lower-level platform represented by DOS, then developed DR DOS 5, which mirrored the OS/2 "platform integration" model by adding features which were available only as third-party add-ons for MS-DOS. Unwilling to lose any portion of the market, Microsoft responded by announcing the "pending" release of MS-DOS 5.0 in May of 1990. This effectively killed most DR DOS sales, until the actual release of MS-DOS 5.0 in June 1991. Digital Research brought out DR DOS 6, which sold well until the "pre-announcement" of MS-DOS 6.0 again stifled the sales of DR DOS.

<blockquote>Microsoft has been accused of carefully orchestrating leaks about future versions of MS-DOS in an attempt to create what in the industry is called FUD (fear, uncertainty, and doubt) regarding DR DOS. For example, in October 1990, shortly after the release of DR DOS 5.0, and long before the eventual June 1991 release of MS-DOS 5.0, stories on feature enhancements in MS-DOS started to appear in ''InfoWorld'' and ''PC Week''. Brad Silverberg, Vice President of Systems Software at Microsoft and General Manager of its Windows and MS-DOS Business Unit, wrote a forceful letter to ''PC Week'' (November 5, 1990), denying that Microsoft was engaged in FUD tactics ("to serve our customers better, we decided to be more forthcoming about version 5.0") and denying that Microsoft cops features from DR DOS: "The feature enhancements of MS-DOS version 5.0 were decided and development was begun long before we heard about DR DOS 5.0. There will be some similar features. With 50 million MS-DOS users, it shouldn't be surprising that DRI has heard some of the same requests from customers that we have." &mdash; (Schulman et al. [[1994]]).
<ref name="undocumenteddos">{{cite book | last=Schulman | first=Andrew | year=1994 | title=Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures | edition=2nd ed. | publisher=[[Addison-Wesley]] | id=ISBN 0-201-63287-X }}</ref></blockquote>

The pact between Microsoft and IBM to promote OS/2 began to fall apart in 1990 when [[Windows 3.0]] became a marketplace success. Much of Microsoft's further contributions to OS/2 also went in to creating a third GUI replacement for DOS, [[Windows NT]].

IBM, which had already been developing the next version of OS/2, carried on development of the platform without Microsoft and sold it as the alternative to DOS and Windows.

==End of MS-DOS==
[[Image:Vistados.jpg|right|thumb|200px|MS-DOS lingers in Windows Vista.]]
MS-DOS has effectively ceased to exist as a platform for desktop computing. Since the releases of [[Windows 9x]], it was integrated as a full product mostly used for [[bootstrapping (computing)|bootstrapping]], and no longer officially released as a standalone DOS. It was still available, but became increasingly irrelevant as development shifted to the [[Windows API]].

Windows XP contains a copy of the core MS-DOS 8 files from Windows Millennium, accessible only by formatting a floppy as an "MS-DOS startup disk". Attempting to run <code>COMMAND.COM</code> from such a disk under the NTVDM results in the message "Incorrect MS-DOS version".

With Windows Vista the files on the startup disk are dated 18th April 2005 but are otherwise unchanged, including the string "MS-DOS Version 8 (C) Copyright 1981-1999 Microsoft Corp" inside <code>COMMAND.COM</code>.

Today, DOS is still used in embedded x86 systems due to its simple architecture, and minimal memory and processor requirements. The [[command line interpreter]] of [[Windows NT]], [[cmd.exe]] maintains most of the same commands and some compatibility with DOS batch files.

==Legal issues==
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. In the [[due diligence]] process, Stac engineers had shown Microsoft some Stacker source code. Stac was unwilling to meet Microsoft's terms for licensing Stacker and withdrew from the negotiations. Microsoft chose to license Vertisoft's DoubleDisk, using it as the core for its DoubleSpace disk compression.<ref>BYTE Magazine, [http://www.byte.com/art/9402/sec6/art1.htm How Safe is Disk Compression?], February, 1994.</ref>

MS-DOS 6.0 and 6.20 were released in 1993, both 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 1994 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, which had a different compression algorithm to avoid the infringing code.

Prior to 1995, Microsoft licensed MS-DOS (and Windows) 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 [[1991]] the US government [[Federal Trade Commission]] began investigating Microsoft's licensing procedures resulting in a 1994 settlement agreement limiting Microsoft to per-copy licensing. Digital Research did not gain by this settlement, and years later its successor in interest [[SCO Group|Caldera]] sued Microsoft for damages. This lawsuit was settled with a monetary payment of 150 million dollars.

Microsoft also used a variety of tactics in MS-DOS and several of their applications and development tools that, while operating perfectly when running on genuine MS-DOS (and PC-DOS), would break when run on another vendor's implementation of DOS. Notable examples of this practice included:

* Microsoft QuickC v2.5, a.k.a. Programmer's Workbench and Microsoft C v6.0, modified the program's [[Program Segment Prefix]] using undocumented DOS functions, and then checked whether or not the associated value changed in a fixed position within the DOS data segment (also undocumented). <ref name="undocumenteddos" />
* The (once infamous) [[AARD code]], a block of code in the Windows 3.1 beta installer. It was XOR encrypted, self-modifying, and deliberately obfuscated, using various undocumented DOS structures and functions to determine whether or not Windows really was running on MS-DOS. <ref name="undocumenteddos" />
* Interrupt routines called by Windows to inform MS-DOS that Windows is starting/exiting, information that MS-DOS retained in an IN_WINDOWS flag, in spite of the fact that MS-DOS and Windows were supposed to be two separate products. <ref name="undocumenteddos" />

==Windows NT==
:''Main article: [[Windows NT]]''

Windows NT, although not based on DOS, provides a command-line interface similar to MS-DOS's character-mode interface. This command line is provided by a native executable, <code>cmd.exe</code>. Many command-line applications (known as console applications) for Windows are incorrectly referred to as DOS applications, when actually they are full Windows applications which use the console for their output rather than a graphical interface, and cannot be run under any version of MS-DOS.

Windows NT can run MS-DOS programs through the use of the [[NTVDM]] (NT Virtual DOS Machine), and the 16-bit <code>command.com</code> interpreter from MS-DOS 5.0 is still included to maintain application compatibility with programs that expect it (This is illustrated by the output produced by the command "<code>command.com /k ver</code>", which displays "<code>MS-DOS Version 5.00.500</code>" in the console window). The command "<code>ver</code>" returns the string "<code>Microsoft(R) Windows DOS</code>" when executed under <code>command.com</code>, but "<code>Microsoft Windows XP [Version 5.1.2600]</code>" (or similar depending on the version of NT) when run from <code>cmd.exe</code>.

Recent versions of NT for x64 architectures, including [[Windows XP Professional x64 Edition]], [[Windows Server 2003]] x64 and [[Windows Vista]] x64, no longer include the NTVDM and can therefore no longer natively run MS-DOS (or 16-bit Windows) applications. For MS-DOS and Windows 3.11 or earlier programs, however, there exist alternatives in the form of emulators such as Microsoft's own [[Virtual PC]], [[VMWare]], [[Bochs]], [[DOSBox]], etc.

==Legacy compatibility==
From 1983 onwards, various companies have worked on [[graphical user interface]]s (GUIs) capable of running on PC hardware. With DOS being the dominant operating system several companies released alternate shells, e.g. 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 products from the same company).

Later, in 1985, [[Microsoft Windows]] was released as Microsoft's first attempt at providing a consistent user interface (for applications). The early versions of Windows ran on top of MS-DOS and its clones. At first Windows met with little success, but this was also true for most other companies' efforts as well, for example [[Graphical Environment Manager|GEM]]. After version 3.0 (1990), Windows gained marked acceptance.

Later versions (Windows 95, Windows 98 and Windows Me) used the DOS boot process to launch itself into protected mode. Basic features related to the file system, such as long file names, were only available to DOS when running as a subsystem of Windows. [[Windows NT]] ran independently of DOS but included a DOS subsystem so applications could run in a [[virtual machine]] under the new OS. With the latest Windows releases, even dual-booting MS-DOS is problematic as DOS may not be able to read the basic file system.

==Related systems==
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.
*[[PC-DOS]]
*[[DR-DOS]], [[Novell DOS]], and [[OpenDOS]]
*[[FreeDOS]], [[FreeDOS 32]], and [[GNU/DOS]]
*[[PTS-DOS]]
*[[DOSBox]], a popular MS-DOS emulator

These products are collectively referred to as DOS. However, MS-DOS can be a generic reference to DOS on IBM-PC compatible computers.

==See also==
*[[List of Microsoft DOS versions]]
*[[List of IBM PC DOS versions]]
*[[List of Microsoft Windows versions]]
*[[List of DOS commands]]
*[[Microsoft Windows]]
*[[History of Microsoft Windows]]

*[[Bad command or file name]]
*[[X86 DOS Comparison|Comparison of MS-DOS and DOS-compatible operating systems]]
*[[DOSKey]], MS-DOS utility
*[[Win32 console]] - a text-rendering system akin to MS-DOS

==Quotes==

{{quotation|"IBM wanted [[CP/M]] prompts. It made me throw up." -- [[Tim Paterson]]
<ref name="The Roots of DOS">{{cite journal|
first=David|last=Hunter|
title=The Roots of DOS|
date=1983|
journal=[[Softalk]] for the IBM Personal Computer|
url=http://www.patersontech.com/Dos/Softalk/Softalk.html|
accessdate=2007-06-14}}</ref>}}

==References==
<references />

==External links==
*[http://www.patersontech.com/Dos/Articles.aspx Tim Patterson on DOS] - Patterson wrote the QDOS OS
*[http://www.linfo.org/ms-dos.html MS-DOS: A Brief Introduction]
*[http://www.chebucto.ns.ca/~ak621/DOS/DOS-Head.html Richard Bonner's DOS website]
*[http://purl.oclc.org/net/Batfiles/ Batfiles] - the DOS batch file programming handbook and tutorial
*[http://home.arachne.cz/ Arachne graphical browser for DOS]
*[http://www.nukesoft.co.uk/msdos/ ''MS-DOS Reference'']
*[http://members.fortunecity.com/pcmuseum/dos.htm# DOS version timeline]
*[http://www.dosemu.org/ Linux/dosemu]
*[http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html ''Ralf Brown's Interrupt List'']
*[http://www.computerhope.com/msdos.htm DOS command overview]
*[http://dosbox.sourceforge.net/news.php?show_news=1 DOSBox, a multiplatform DOS emulator]
*[http://garbo.uwasa.fi/ Garbo - An MS-DOS programs distribution library] at the University of Vaasa, Finland
*[http://www.microsoft.com/technet/archive/msdos/01_intro.mspx?mfr=true MS-DOS 6 Techical Reference at Microsoft TechNet]
*[http://www.youtube.com/watch?v=dmEvPZUdAVI Promotional video for MS-DOS 5]

[[Category:1981 introductions]]
[[Category:Discontinued Microsoft software]]
[[Category:DOS on IBM PC compatibles]]
[[Category:Microsoft operating systems]]
[[Category:Operating system families]]
[[Category:FloppyOS]]

[[ar:إم إس - دوس]]
[[az:MS-DOS]]
[[bg:MS-DOS]]
[[ca:MS-DOS]]
[[cs:MS DOS]]
[[da:MS-DOS]]
[[de:MS-DOS]]
[[el:MS-DOS]]
[[eo:MS-DOS]]
[[es:MS-DOS]]
[[et:MS-DOS]]
[[eu:MS-DOS]]
[[fi:MS-DOS]]
[[fr:MS-DOS]]
[[ga:MS-DOS]]
[[gl:MS-DOS]]
[[hr:MS-DOS]]
[[hu:MS-DOS]]
[[id:MS-DOS]]
[[it:MS-DOS]]
[[ja:MS-DOS]]
[[kk:MS-DOS]]
[[ko:MS-DOS]]
[[ku:MS-DOS]]
[[lt:MS-DOS]]
[[lv:MS-DOS]]
[[ms:MS-DOS]]
[[nds:MS-DOS]]
[[nl:MS-DOS]]
[[no:MS-DOS]]
[[pl:MS-DOS]]
[[pt:MS-DOS]]
[[ro:MS-DOS]]
[[ru:MS-DOS]]
[[ru:MS-DOS]]
[[simple:MS-DOS]]
[[simple:MS-DOS]]
Line 9: Line 239:
[[yi:MS-DOS]]
[[yi:MS-DOS]]
[[zh:MS-DOS]]
[[zh:MS-DOS]]
<nowiki><nowiki>Insert non-formatted text here</nowiki>--[[Special:Contributions/69.60.183.174|69.60.183.174]] ([[User talk:69.60.183.174|talk]]) 02:01, 7 December 2007 (UTC)<nowiki>#REDIRECT [[Insert non-formatted text here]]</nowiki></nowiki>

Revision as of 02:02, 7 December 2007

MS-DOS
File:MS-DOS icon.png
An example of MS-DOS's command-line interface, this one showing that the current directory is the root of drive C.
DeveloperMicrosoft Corporation
OS familyDOS
Working stateDiscontinued
Source modelClosed source
Latest release8.0 / September 14 2000
Repository
Marketing target?
Available inC, Pascal, QBasic, etc.
Platformsx86
Kernel typeMonolithic kernel
Default
user interface
Command line interface, Text user interface
LicenseProprietary
Official websitewww.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_dos_overview.mspx

MS-DOS (short for Microsoft Disk Operating System) is an operating system commercialised by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the dominant operating system for the PC compatible platform during the 1980s. It has gradually been replaced on consumer desktop computers by 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. It also provided the platform on which early versions of Windows ran.

History

MS-DOS began as QDOS (for Quick and Dirty Operating System), written by Tim Paterson for computer manufacturer Seattle Computer Products (SCP) in 1980. It was marketed by SCP as 86-DOS because it was designed to run on the Intel 8086 processor. 86-DOS function calls were based on the dominant CP/M-80 operating system, written by Digital Research, but it used a different file system. Paterson allegedly wrote it because he liked CP/M, but a version of CP/M didn't yet exist for the 8086.[1] In a sequence of events that would later inspire much folklore, Microsoft negotiated a license for 86-DOS from SCP in December 1980 for $25,000, then re-licensed 86-DOS to IBM. Microsoft then acquired all rights to 86-DOS for only $50,000 from SCP in July, 1981, shortly before the PC's release.

The original MS-DOS advertisement in 1981.

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.[citation needed] 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 (e.g. 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" or very rarely "MS-DOS compatible." The two terms were not synonyms. There were computers that used MS-DOS but could not run all the software that an IBM-Compatible machine could. An example is the Morrow Pivot, which used MS-DOS but was not IBM-Compatible.

Versions and release dates

  • MS-DOS 1.14 - July 1981 - Microsoft rebranded 86-DOS as MS-DOS in July 1981, having bought the rights from SCP.[1]
  • PC DOS 1.0 - August 1981 - initial release with the first IBM-PC, essentially MS-DOS 1.14 with a CP/M style prompt (COMMAND.COM is 4959 bytes)
  • PC DOS 1.1 - May 1982 - support for 320 kB double-sided floppy disk. Developed internally at Microsoft as MS-DOS 1.24[2]
  • MS-DOS 1.25 - May 1982 - first release for IBM PC compatibles marketed under different brands (COMMAND.COM is 4986 bytes)
  • MS-DOS 2.0 - March 1983 - support for PC XT: introduced 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 - support for IBM PCjr
  • MS-DOS 2.11 - March 1984 - non-English language and date format support (COMMAND.COM is 16229 bytes)
  • MS-DOS 2.25 - October 1985 - better support for Japanese Kanji and Korean character sets, shipped to western Pacific countries only
  • MS-DOS 3.0 - August 1984 - added support for PC AT: 1.2 MB floppy disks and hard disk partitions of up to 32MB, one primary and one "logical drive" in an "extended partition"
  • MS-DOS 3.1 - November 1984 - support for Microsoft networking
  • MS-DOS 3.2 - January 1986 - support for 3.5 inch, 720 kB floppy disk drives (v 3.21 COMMAND.COM is 23612 bytes)
  • PC DOS 3.3 - April 1987 - support for IBM PS/2: 1.44 MB floppy disk drives, added codepage support (international character sets) (COMMAND.COM is 25307 bytes)
  • MS-DOS 3.3 - August 1987 - supported multiple logical drives (COMMAND.COM is 25276 bytes)
  • MS-DOS 4.0 - June 1988 - derived from IBM's codebase rather than Microsoft's
  • PC DOS 4.0 - July 1988 - added DOS Shell & support for hard disks of >32MB using the format from Compaq DOS 3.31. But it had many bugs and less free conventional memory than before. Generally regarded as an unpopular release
  • MS-DOS 4.01 - December 1988 - bug-fix release (COMMAND.COM is 37557 bytes)
  • MS-DOS 5.0 - June 1991 - memory management, full-screen editor, QBasic programming language, online help, DOS Shell task switcher, and FastLynx file transfer utility licensed from Rupp Technology. Also used as the basis for Virtual DOS Machine for Windows NT4 through Vista. (COMMAND.COM is 47845 bytes)
File:Msdos622.jpg
The MS-DOS 6.22 boxart.
  • MS-DOS 6.0 - March 1993 - added DoubleSpace disk compression, disk defragmentation, and other features (COMMAND.COM is 52925 bytes)
  • MS-DOS 6.2 - November 1993 - bug fix release (COMMAND.COM is 54619 bytes)
  • MS-DOS 6.21 - February, 1994 - following Stac Electronics lawsuit, removed DoubleSpace disk compression (COMMAND.COM is 54619 bytes)
  • 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 (COMMAND.COM is 54645 bytes)
  • PC DOS 7.0 - April, 1995 - bundles Stacker in place of DriveSpace
  • MS-DOS 7.0 - August 1995 - shipped embedded in Windows 95. Included Logical block addressing and Long File Name (LFN) support (COMMAND.COM is 92870 bytes)
  • MS-DOS 7.1 - August 1996 - shipped embedded in Windows 95B (OSR2) (and Windows 98 first and second editions in June 1998 and May 1999). Added support for FAT32 file system (COMMAND.COM is 93812, 93880 or 93890 bytes in 95B, 98 or 98SE respectively)
  • MS-DOS 8.0 - September 2000 - shipped embedded in Windows Me. A subset is included with 32-bit versions of Windows XP and Windows Vista. Last version of MS-DOS. Removes SYS command, ability to boot to command line and other features (COMMAND.COM is 93040 bytes)
  • PC DOS 2000 - year 2000-compliant version with minor additional features. Final member of the MS-DOS family

Adapted from original source: PC Museum

Features

User interface

File:MS-DOS 6.22 dir screenshot.png
The MS-DOS 6.22 command line interface.
File:MS-DOS Shell.png
The text user interface of DOS Shell for MS-DOS 6.22.

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, MS-DOS included DOS Shell, a file manager program with a quasi-graphical text user interface (TUI) that featured menus, split windows, color themes, mouse support and program shortcuts using character mode graphics.

Multitasking

MS-DOS was not designed to be a multi-user or multitasking operating system, but many attempts were made to add these capabilities. Terminate and Stay Resident (TSR) system calls were originally designed for device drivers and extensible plugins that enhanced or added features. Companies such as Borland began to tap into the TSR design with products like SideKick. 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.

Competition

On the IBM PC (and clones) platform, the initial competition to the PC-DOS/MS-DOS line came from Digital Research, whose CP/M operating system had inspired MS-DOS. Digital Research developed CP/M-86 and offered it to computer manufacturers as an alternate to MS-DOS and Microsoft's licensing requirements.

In the business world, the PC platform that MS-DOS was tied to faced competition from the Unix operating system which ran on many different hardware architectures. Microsoft even sold a version of Unix called Xenix.

In the emerging world of home users, a variety of other hardware platforms were in serious competition with the IBM PC: the Apple II, early Apple Macintosh, the Commodore 64 and others. At first, the competition for these other platforms was with IBM PC computers running MS-DOS. With the advent of IBM PC clones all running on Intel processors, the name IBM became less important to home users. What was important was keeping up with Intel's steadily increasing clock speeds and the ability to run MS-DOS.

Microsoft and IBM together began what was intended as the follow-on to DOS, called OS/2. When OS/2 was released in 1987, Microsoft began an ad campaign announcing that "DOS is Dead", boldly proclaiming version 4 was the last full release.

MS-DOS had grown in spurts, with many significant features being taken (or duplicated) from other products and operating systems, as well as reverse-engineering tools and utilities including Norton Utilities, PC Tools (Microsoft Anti-Virus), QEMM expanded memory manager, DOS/4GW (a 32-bit DOS extender), Stacker disk compression, and so on. The advent of OS/2, which offered a number of advanced features which had been written together, was seen as the legitimate heir to the "kludgy" DOS platform.

Digital Research, recognizing the need to continue the lower-level platform represented by DOS, then developed DR DOS 5, which mirrored the OS/2 "platform integration" model by adding features which were available only as third-party add-ons for MS-DOS. Unwilling to lose any portion of the market, Microsoft responded by announcing the "pending" release of MS-DOS 5.0 in May of 1990. This effectively killed most DR DOS sales, until the actual release of MS-DOS 5.0 in June 1991. Digital Research brought out DR DOS 6, which sold well until the "pre-announcement" of MS-DOS 6.0 again stifled the sales of DR DOS.

Microsoft has been accused of carefully orchestrating leaks about future versions of MS-DOS in an attempt to create what in the industry is called FUD (fear, uncertainty, and doubt) regarding DR DOS. For example, in October 1990, shortly after the release of DR DOS 5.0, and long before the eventual June 1991 release of MS-DOS 5.0, stories on feature enhancements in MS-DOS started to appear in InfoWorld and PC Week. Brad Silverberg, Vice President of Systems Software at Microsoft and General Manager of its Windows and MS-DOS Business Unit, wrote a forceful letter to PC Week (November 5, 1990), denying that Microsoft was engaged in FUD tactics ("to serve our customers better, we decided to be more forthcoming about version 5.0") and denying that Microsoft cops features from DR DOS: "The feature enhancements of MS-DOS version 5.0 were decided and development was begun long before we heard about DR DOS 5.0. There will be some similar features. With 50 million MS-DOS users, it shouldn't be surprising that DRI has heard some of the same requests from customers that we have." — (Schulman et al. 1994). [3]

The pact between Microsoft and IBM to promote OS/2 began to fall apart in 1990 when Windows 3.0 became a marketplace success. Much of Microsoft's further contributions to OS/2 also went in to creating a third GUI replacement for DOS, Windows NT.

IBM, which had already been developing the next version of OS/2, carried on development of the platform without Microsoft and sold it as the alternative to DOS and Windows.

End of MS-DOS

File:Vistados.jpg
MS-DOS lingers in Windows Vista.

MS-DOS has effectively ceased to exist as a platform for desktop computing. Since the releases of Windows 9x, it was integrated as a full product mostly used for bootstrapping, and no longer officially released as a standalone DOS. It was still available, but became increasingly irrelevant as development shifted to the Windows API.

Windows XP contains a copy of the core MS-DOS 8 files from Windows Millennium, accessible only by formatting a floppy as an "MS-DOS startup disk". Attempting to run COMMAND.COM from such a disk under the NTVDM results in the message "Incorrect MS-DOS version".

With Windows Vista the files on the startup disk are dated 18th April 2005 but are otherwise unchanged, including the string "MS-DOS Version 8 (C) Copyright 1981-1999 Microsoft Corp" inside COMMAND.COM.

Today, DOS is still used in embedded x86 systems due to its simple architecture, and minimal memory and processor requirements. The command line interpreter of Windows NT, cmd.exe maintains most of the same commands and some compatibility with DOS batch files.

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. In the due diligence process, Stac engineers had shown Microsoft some Stacker source code. Stac was unwilling to meet Microsoft's terms for licensing Stacker and withdrew from the negotiations. Microsoft chose to license Vertisoft's DoubleDisk, using it as the core for its DoubleSpace disk compression.[4]

MS-DOS 6.0 and 6.20 were released in 1993, both 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 1994 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, which had a different compression algorithm to avoid the infringing code.

Prior to 1995, Microsoft licensed MS-DOS (and Windows) 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 1991 the US government Federal Trade Commission began investigating Microsoft's licensing procedures resulting in a 1994 settlement agreement limiting Microsoft to per-copy 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.

Microsoft also used a variety of tactics in MS-DOS and several of their applications and development tools that, while operating perfectly when running on genuine MS-DOS (and PC-DOS), would break when run on another vendor's implementation of DOS. Notable examples of this practice included:

  • Microsoft QuickC v2.5, a.k.a. Programmer's Workbench and Microsoft C v6.0, modified the program's Program Segment Prefix using undocumented DOS functions, and then checked whether or not the associated value changed in a fixed position within the DOS data segment (also undocumented). [3]
  • The (once infamous) AARD code, a block of code in the Windows 3.1 beta installer. It was XOR encrypted, self-modifying, and deliberately obfuscated, using various undocumented DOS structures and functions to determine whether or not Windows really was running on MS-DOS. [3]
  • Interrupt routines called by Windows to inform MS-DOS that Windows is starting/exiting, information that MS-DOS retained in an IN_WINDOWS flag, in spite of the fact that MS-DOS and Windows were supposed to be two separate products. [3]

Windows NT

Main article: Windows NT

Windows NT, although not based on DOS, provides a command-line interface similar to MS-DOS's character-mode interface. This command line is provided by a native executable, cmd.exe. Many command-line applications (known as console applications) for Windows are incorrectly referred to as DOS applications, when actually they are full Windows applications which use the console for their output rather than a graphical interface, and cannot be run under any version of MS-DOS.

Windows NT can run MS-DOS programs through the use of the NTVDM (NT Virtual DOS Machine), and the 16-bit command.com interpreter from MS-DOS 5.0 is still included to maintain application compatibility with programs that expect it (This is illustrated by the output produced by the command "command.com /k ver", which displays "MS-DOS Version 5.00.500" in the console window). The command "ver" returns the string "Microsoft(R) Windows DOS" when executed under command.com, but "Microsoft Windows XP [Version 5.1.2600]" (or similar depending on the version of NT) when run from cmd.exe.

Recent versions of NT for x64 architectures, including Windows XP Professional x64 Edition, Windows Server 2003 x64 and Windows Vista x64, no longer include the NTVDM and can therefore no longer natively run MS-DOS (or 16-bit Windows) applications. For MS-DOS and Windows 3.11 or earlier programs, however, there exist alternatives in the form of emulators such as Microsoft's own Virtual PC, VMWare, Bochs, DOSBox, etc.

Legacy compatibility

From 1983 onwards, various companies have worked on graphical user interfaces (GUIs) capable of running on PC hardware. With DOS being the dominant operating system several companies released alternate shells, e.g. 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 products from the same company).

Later, in 1985, Microsoft Windows was released as Microsoft's first attempt at providing a consistent user interface (for applications). The early versions of Windows ran on top of MS-DOS and its clones. At first Windows met with little success, but this was also true for most other companies' efforts as well, for example GEM. After version 3.0 (1990), Windows gained marked acceptance.

Later versions (Windows 95, Windows 98 and Windows Me) used the DOS boot process to launch itself into protected mode. Basic features related to the file system, such as long file names, were only available to DOS when running as a subsystem of Windows. Windows NT ran independently of DOS but included a DOS subsystem so applications could run in a virtual machine under the new OS. With the latest Windows releases, even dual-booting MS-DOS is problematic as DOS may not be able to read the basic file system.

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.

These products are collectively referred to as DOS. However, MS-DOS can be a generic reference to DOS on IBM-PC compatible computers.

See also

Quotes

"IBM wanted CP/M prompts. It made me throw up." -- Tim Paterson [5]

References

  1. ^ BYTE Magazine, A Short History of MS-DOS, June, 1983.
  2. ^ BYTE Magazine, A Short History of MS-DOS, June, 1983.
  3. ^ a b c d Schulman, Andrew (1994). Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures (2nd ed. ed.). Addison-Wesley. ISBN 0-201-63287-X. {{cite book}}: |edition= has extra text (help)
  4. ^ BYTE Magazine, How Safe is Disk Compression?, February, 1994.
  5. ^ Hunter, David (1983). "The Roots of DOS". Softalk for the IBM Personal Computer. Retrieved 2007-06-14.