MS-DOS

From Wikipedia, the free encyclopedia

Jump to: navigation, search
MS-DOS
Image:MS-DOS icon.png
Image:StartingMsdos.png
An example of MS-DOS's command-line interface, this one showing that the current directory is the root of drive C.
Company / developer Microsoft Corporation
OS family DOS
Working state Discontinued/Historic
Source model Closed source
Latest stable release 8.0 / September 14, 2000
Available programming languages(s) C, Pascal, QBasic, Batch, Perl etc.
Supported platforms x86
Kernel type Monolithic kernel
Default user interface Command line interface, Text user interface
License Proprietary

MS-DOS (short for Microsoft Disk Operating System) is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s. It was preceded by M-DOS(also call MIDAS), designed and copyrighted by Microsoft in 1979. MSDOS was based on the Intel 8086 family of microprocessors, particularly the IBM PC and compatibles. It was gradually replaced on consumer desktop computers by operating systems offering a graphical user interface (GUI), in particular by various generations of the Microsoft Windows operating system and Linux. MS-DOS was known before as QDOS (Quick and Dirty Operating System) and 86-DOS.[1]

MS-DOS development originally started in 1981,[2] and was first released in 1982 as MS-DOS 1.0.[2] Several versions were released under different names for different hardware.[3]

MS-DOS 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 was also the underlying basic operating system on which early versions of Windows ran as a GUI.

History

MS-DOS was a renamed form of 86-DOS (informally known as the Quick-and-Dirty Operating System or Q-DOS)[2] owned by Seattle Computer Products, written by Tim Paterson.[2] Microsoft needed an operating system for the then-new Intel 8086 but it had none available, so it licensed 86-DOS and released a version of it as MS-DOS 1.0.[2] Development started in 1981, and MS-DOS 1.0 was released with the IBM PC in 1982.[2] Tim Paterson is considered the original author of DOS and he is called "The Father of DOS".[2][n 1]

Worried by possible legal problems, in June 1981 Microsoft made an offer to Rod Brock, the owner of Seattle Computer, to buy the rights for 86-DOS. An agreement to release all rights to the software was signed in June 1981. The total cost was $75,000.[3][n 2]

Originally MS-DOS was designed to be an operating system that could run on any 8086-family computer. Each computer would have its own distinct hardware and its own version of MS-DOS. The greater speed attainable by direct control of hardware was of particular importance when running computer games. IBM-compatible architecture then became the goal. Soon all 8086-family computers closely emulated IBM's hardware, and a single version of MS-DOS was all that was needed for the market.

While MS-DOS appeared on PC clones, true IBM computers used PC DOS, a rebranded form of MS-DOS.

Incidentally, the dependence on IBM-compatible hardware caused major problems for the computer industry when the original design had to be changed. For example, the original design could support no more than 640 kilobytes of memory. Manufacturers had to develop complicated schemes to access additional memory. This would not have been a limitation if the original idea of interfacing with hardware through MS-DOS had endured.

Versions

Microsoft licensed or released versions of MS-DOS under different names like SB-DOS or Z-DOS.[3] Competitors released unlicensed clones such as DR-DOS and PTS-DOS.

Competition

The original MS-DOS advertisement in 1981.

On microcomputers based on the Intel 8086 and 8088 processors, including the IBM PC and clones, 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 released CP/M-86 a few months after MS-DOS, and it was offered as an alternative to MS-DOS and Microsoft's licensing requirements, but at a higher price. Executable programs for CP/M-86 and MS-DOS were not interchangeable with each other; much applications software was sold in both MS-DOS and CP/M-86 versions until MS-DOS became preponderant (later Digital Research operating systems could run both MS-DOS and CP/M-86 software). MS-DOS supported the simple .COM and the more advanced relocatable .EXE executable file formats; CP/M-86 a relocatable format using the file extension .CMD.

In the later days of MS-DOS, once the IBM-compatible platform was chosen, one could buy any PC clone, and install any copy of MS-DOS (or IBM-branded MS-DOS, i.e., PC DOS). Many people do not realize that in the early days one chose an IBM PC, a Sirius, a Kaypro, or an Apricot, or other make; these machines all had different architecture and did not even accept the same expansion cards; many of them were not limited to a maximum of 640 kilobytes of system memory, unlike the PC and clones. Then the decision whether to use MS-DOS or CP/M-86 had to be taken, and the appropriate one had to be acquired from the computer manufacturer; it was not possible to use versions of MS-DOS, or PC DOS, interchangeably. One was then tied to using software for the operating system chosen (or, funds permitting, having floppy disks for both, and booting the appropriate one).

In the business world the 808x-based machines that MS-DOS was tied to faced competition from the Unix operating system which ran on many different hardware architectures. Microsoft itself sold a version of Unix for the PC called Xenix.

In the emerging world of home users, a variety of other computers based on various other processors were in serious competition with the IBM PC: the Apple II, early Apple Macintosh, the Commodore 64 and others did not use the 808x processor; many 808x machines of different architectures used custom versions of MS-DOS. At first all these machines were in competition. In time the IBM PC hardware configuration became dominant in the 808x market as software written to communicate directly with the PC hardware without using standard operating system calls ran much faster, but on true PC-compatibles only. Non-PC-compatible 808x machines were too small a market to have fast software written for them alone, and the market remained open only for IBM PCs and machines that closely imitated their architecture, all running either a single version of MS-DOS compatible only with PCs, or the equivalent IBM PC DOS. Most clones cost much less than IBM-branded machines of similar performance, and became widely used by home users, while IBM PCs had a large share of the business computer market.

Microsoft and IBM together began what was intended as the follow-on to MS/PC DOS, called OS/2. When OS/2 was released in 1987, Microsoft began an advertising campaign announcing that "DOS is Dead" and stating that 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 incorporating the functionality of tools and utilities developed by independent companies to improve the functionality of MS-DOS, including Norton Utilities, PC Tools (Microsoft Anti-Virus), QEMM expanded memory manager, DOS/4GW (a 32-bit DOS extender), Stacker disk compression, and others. OS/2 was designed for efficient multitasking—an IBM speciality derived from deep experience with mainframe operating systems—and offered a number of advanced features that had been designed together with similar look and feel; it was seen as the legitimate heir to the "kludgy" DOS platform.

During the period when Digital Research was competing in the operating system market some computers, like Amstrad PC-1512, were sold with floppy disks for two operating systems (only one of which could be used at a time), MS-DOS and CP-M86 or a derivative of it. Digital Research produced DOS Plus, which was compatible with MS-DOS 2.11, supported CP/M-86 programs, had additional features including multi-tasking, and could read and write disks in CP/M and MS-DOS format.

While OS/2 was under protracted development, Digital Research released the MS-DOS compatible DR-DOS 5, which included features only available as third-party add-ons for MS-DOS (and still maintained considerable internal CP/M-86 compatibility). Unwilling to lose any portion of the market, Microsoft responded by announcing the "pending" release of MS-DOS 5.0 in May 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 copied 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). [4]

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

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, although at first DOS 7 (which was the DOS part included in Windows 95) had been developed as a standalone OS[citation needed]. 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".[citation needed] (Note that the DOS boot disk created by Windows XP is even more stripped-down than that created in Windows 98, as it does not include CD-ROM support.)

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.

However the only versions of DOS currently recognized as stand-alone OSs, and supported as such by the Microsoft Corporation are DOS 6.0 and 6.22, both of which remain available for download via their MSDN, volume license, and OEM license partner websites, for customers with valid login credentials.

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 NT-based versions of Windows, 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 part of the 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.[5]

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 U.S. 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.

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). [4]
  • 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. [4]
  • 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. [4]

The Windows command-line interface

All versions of Microsoft Windows have had an MS-DOS like command-line interface (CLI). Versions of Windows (up to 3.11) ran as a Graphical User Interface(GUI) running under MS-DOS. Windows 95 and 98 had an MS-DOS prompt which behaved very much like MS-DOS, with added facilities for such features as long file names.

The true 32-bit versions of Windows, from Windows NT, are not based on DOS but provide a command-line interface similar to MS-DOS's character-mode interface known as the console. This is provided by a native executable, cmd.exe. Many Windows console applications are incorrectly referred to as DOS applications. However, in reality they are Windows applications, using Windows system calls, using the text console for input and output rather than a graphical interface. Both true MS-DOS programs and Windows console programs can be run from the command line in the same console window.

32-bit Windows can run MS-DOS programs through the use of the NTVDM (NT Virtual DOS Machine), and the 16-bit command.com interpreter which is still included to maintain application compatibility with programs that require it.

Recent versions of Windows 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, 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 market 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

Single-user

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. Although DR-DOS is regarded as a clone of MS-DOS, the DR-DOS versions appeared months and years before Microsoft's products. (For example, MS-DOS 4, released in July 1988, was followed by DR-DOS 5 in May 1990. MS-DOS 5 came in April 1991, with DR-DOS 6 being released the following June. MS-DOS 6 did not arrive until April 1993, with Novell DOS 7, DR-DOS' successor, following the next month.[6]) What made the difference in the end was Microsoft's desire to make DOS a better platform for running Windows. Both IBM (DOS 5.02) and DRI (DOS 6 update) had to release interim releases for new undocumented Windows functionality.

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

Multiuser

Several multiuser operating systems capable of running MS-DOS software, and also purpose-written software with multiuser enhancements such as record locking for multiuser databases, have been produced.

See also

Quotes

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

Remarks

  1. ^ Notice that he is called the author of Dos and not the author of MS-DOS
  2. ^ 25,000$ for the original licensing fee + 50,000$ for the June 1981 agreement

Notes

  1. ^ A Short History of MS-DOS
  2. ^ a b c d e f g Doug Conner. "Father of DOS Still Having Fun at Microsoft". Micronews. http://www.patersontech.com/Dos/Micronews/paterson04_10_98.htm. 
  3. ^ a b c Roy A. Allan (2001). "Microsoft in the 1980's, part III 1980's -- The IBM/Macintosh era". A history of the personal computer: the people and the technology. London, Ont.: Allan Pub.. p. 14. ISBN 0-9689108-0-7. http://www.retrocomputing.net/info/allan/. 
  4. ^ a b c d Schulman, Andrew (1994). Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures (2nd ed.). Addison-Wesley. ISBN 0-201-63287-X. 
  5. ^ BYTE Magazine, How Safe is Disk Compression?, February, 1994.
  6. ^ Timeline 1980-1993
  7. ^ Hunter, David (1983). "The Roots of DOS". Softalk for the IBM Personal Computer. http://www.patersontech.com/Dos/Softalk/Softalk.html. Retrieved on 2007-06-14. 

References

Microsoft. MS-DOS 6 Technical Reference

External links

Personal tools