MS-DOS 6.22 start screen
|developer||Microsoft (originally SCP / Tim Paterson )|
EULA ( proprietary ) and
partially MIT license ( free )
|First publ.||August 12, 1981|
8.01 of September 14, 2000
(19 years and 347 days ago)
|Kernel||monolithic ( assembler )|
|ancestry||QDOS / 86-DOS
↳ PC DOS (licensed for IBM)
|Architecture (s)||IBM PC ( x86 from 8086 / 8088 )|
|timeline||QDOS / 86-DOS up to 1.14
PC DOS 1.0
PC-DOS 1.1 / MS-DOS 1.25
MS-DOS up to 6.22
MS-DOS 7.0 up to 8.0 (with Windows )
|Languages)||mainly English and u. a. (partly) German|
MS-DOS , short for Microsoft Disk Operating System , is Microsoft's first operating system for x86 - PCs and the reference system for PC compatible DOS operating systems . The IBM for the IBM-PC marketed PC DOS corresponds to MS-DOS Version 6 the respective same version.
Today, MS-DOS, which has been expanded again and again (e.g. by means of graphical user interfaces ), is used primarily in embedded systems for time-critical applications, start media (boot disks) or for applications that require direct access to the hardware .
The earlier Windows versions 1.0 to 3.11 ( Windows 3.x ) were started from DOS and were therefore not an independent operating system. Windows 9x - 95 (4.0), 98 (4.1) and ME (4.9) - have their own MS-DOS as a basis, but are equally dependent on it. Only Windows NT and the Microsoft operating systems based on it are no longer based on MS-DOS, but can only run DOS software for the IBM PC-compatible computer with restrictions.
The command prompt in MS-DOS is similar to that of the command line interpreter cmd.exe of the NT-based Windows systems . Until the additional introduction of the DOS Shell in MS-DOS 4.0, this prompt was the sole, central user interface of the operating system, from which files and devices were managed and utilities and application programs were started.
Tim Paterson's S-100 card with an Intel 8086 CPU
The story that ultimately led to the development of the later MS-DOS began as early as the fall of 1978 when the programmer and hardware developer Tim Paterson at Seattle Computer Products was developing a CPU plug-in card for the S-100 bus, which was popular at the time started.
In the second half of the 1970s, the S-100 bus was a kind of quasi-standard for setting up expandable computer systems, which at that time were mostly operated under the CP / M operating system. Instead of the 8-bit CPUs Zilog Z80 , Intel 8085 or Intel 8080 , which were then common in S-100 systems , Paterson used the new 16-bit CPU Intel 8086 , which was only introduced by Intel in 1978 and which later became part of the history of IBM -compatible PCs should shape.
Paterson began development work on this plug-in CPU card in the autumn of 1978, after having attended a seminar on the CPU that had just been introduced at Intel in June. In June 1979 Paterson finally developed an executable prototype of the CPU plug-in card as well as an assembler and a machine language monitor, the 8086 monitor. He went to Microsoft approach to the only recently completed 8086 BASIC - interpreter to make run on his new hardware. In June 1979, at the National Computer Conference in New York, an S-100 system with Paterson's Microsoft plug-in card served as a demonstration system for the new BASIC-86.
When Seattle Computer Products finally started shipping the 8086 plug-in card at the end of 1979, in addition to a few development tools and the 8086 monitor, Microsoft's BASIC-86 was also available for the new plug-in card for an additional charge. But an operating system like the one available with CP / M for the 8-bit CPU plug-in cards for the S-100 bus did not yet exist for the new 16-bit CPU plug-in card. And although - according to Paterson's statements - Digital Research announced the 8086 version of CP / M for December 1979 in the summer of 1979, CP / M-86 - as the operating system was to be called later - was not yet in at the announced time View.
QDOS and 86-DOS
When the CP / M-86 was still unavailable in April 1980, Paterson finally began developing his own operating system that would later become MS-DOS . Under the name QDOS ( Quick and Dirty Operating System , freely translated: "fast and uncleanly programmed operating system") it was published in version 0.1 in August 1980 and delivered together with the 8086 CPU plug-in card. The QDOS system calls were very much based on those of CP / M , which on the one hand made it easier to port existing CP / M programs, but on the other - many years later - led to legal disputes between Digital Research and Microsoft . Seattle Computer Products advertised QDOS with this "CP / M compatibility" and the supplied software, which should, for example, enable files to be read in CP / M format or largely automated conversion of Z80 to 8086 source code .
With version 0.3, QDOS was renamed to 86-DOS in December 1980 .
PC-DOS 1.0, MS-DOS 1.x
At that time, Microsoft had already licensed QDOS and was working flat out on porting version 0.3 to an early prototype of the IBM PC on behalf of IBM . The result was submitted to IBM for evaluation as Microsoft Disk Operating System 1.0 (MS-DOS for short). The project is said to have been so secret at the time that even Paterson, who at least helped Microsoft as a licensee with the porting, did not see the prototype. Version 1.0 of MS-DOS was never released.
In April 1981, 86-DOS had reached version 1.0. From May 1981 Tim Paterson worked for Microsoft. On July 27, 1981, Microsoft finally bought all rights to 86-DOS and developed it from then on under the name MS-DOS. What was later shipped with the first IBM PC as PC DOS 1.0 was a bug-fixed version of MS-DOS 1.14.
Although the CP / M operating system, which was very popular with 8-bit computers of the late 1970s, was also available in a further developed version as CP / M-86 for the IBM PC, IBM's PC-DOS became the standard operating system . One of the main reasons for this is assumed to be the significantly lower price of PC-DOS.
Another big advantage for acceptance is said to have been the low porting effort of existing CP / M-2.2 software to MS-DOS. While Tim Paterson's development of QDOS was mainly based on the system calls of CP / M 2.2 and thus remained very compatible, CP / M-86, on the other hand, was a further development of CP / M, which was accompanied by some more in-depth changes in the area of the application interface . Many programs that were already running under CP / M were therefore very quickly available under MS-DOS. The same applied to new developments, for example in 1982 with Microsoft Multiplan , the first two versions of which were already available for CP / M as well as for MS-DOS. Numerous other platforms should follow.
In addition, the presence of a file system called FAT in MS-DOS was very beneficial . This file system was originally developed in an 8-bit version by Microsoft in 1977 as a file system for the Standalone Disk BASIC-80 package for an NCR computer. In 1979 it also became part of Standalone Disk BASIC-86 when it was adapted to the 8086 CPU plug-in card from Seattle Computer Products , not least because the S-100 systems in question were usually already shipped with floppy disk drives.
Based on this conceptual basis, Tim Paterson adapted the FAT file system to his needs in July 1980 by reducing the number of FATs from three to two, expanding the width of the entries from 8 to 12 bits, and the directory table between the FAT and the Arranged data area, reallocated the meaning of some reserved cluster values and extended the previous 6.3 naming scheme to 8.3 characters for the purpose of CP / M-API compatibility. In February 1981, with 86-DOS 0.42, the directory entries were also increased from 16 bytes to 32 bytes, and the early form of the FAT12 file system was born, but due to differing logical geometries, it was still in a format that was later used by MS-DOS and PC DOS versions cannot be read.
MS-DOS 2.x and higher
In order to avoid problems with the newly emerging hard disks, Microsoft integrated in version 2 concepts from Xenix , a Unix descendant of Microsoft. The adopted concepts mainly enabled a hierarchical file system - in other words, the subdirectories that are taken for granted today - and a driver concept for block and character-oriented devices.
Version 3 contained extensions to be able to use data from remote computers over a network ( LAN manager). Version 3.2 supported 3.5-inch floppy drives and the corresponding 720 kB floppy disks for the first time, and 1.44 MB floppy disks from version 3.3 onwards.
In version 4, the hard disk capacity limit was essentially increased to around 32 MB per logical drive. To make work easier, the MS-DOS Shell (colloquially known as “Dosshell” because of the file name DOSSHELL.EXE ) was introduced as the user interface.
With version 5 a memory management was supplied with which it was possible to relocate parts of the operating system and memory-resident programs to the upper memory area , the memory block between 640 KB and 1 MB. This enabled applications to have more main memory, which is limited to 640 kB due to the architecture. A computer with a 286 processor is required for this. The maximum size of logical drives has also been increased to 2 GB. Otherwise the version mainly contained ease of use. This included an expanded MS-DOS shell, a new editor and online help.
In version 6, besides various detailed improvements to the existing concepts and the addition of various third-party products, no more significant changes were made. It is worth mentioning DoubleSpace (later DriveSpace ), with which it became possible to save data in compressed form on the hard drive without additional measures and thus save up to 50 percent hard drive space at the expense of speed and data security.
Further versions (7, 8) were only released in combination (bundle) with the graphical protected mode operating system Windows . A substantial improvement of the system itself did not take place or was largely covered by improvements in the overlaying Windows system. Probably the most important improvement was the introduction of FAT32 with MS-DOS 7.10 (from Windows 95 OSR2). MS-DOS was reduced in its importance to an aid during the boot process, as a maintenance platform and as a script interpreter.
In 2014, the source texts for versions 1.25 and 2.0 were donated to the Computer History Museum , and in 2018 they were placed under the MIT license and published on GitHub , which makes them open source software.
Development began at Seattle Computer, but was already influenced by Microsoft's renaming to 86-DOS: the results were presented to IBM as prototypes of PC DOS.
|Older version; no longer supported: QDOS 0.1||August 1980||first version for an S-100 bus CPU plug-in card with 8086 processor from Seattle Computer Products ; already knows FAT|
|Older version; no longer supported: QDOS 0.2||August 1980||largely identical to version 0.1, supplemented by the “provisional” line editor EDLIN , which was actually only intended as a temporary solution|
|Older version; no longer supported: 86-DOS 0.3||December 1980||Renamed to 86-DOS; with this version Microsoft began porting to the IBM PC; the result was offered to IBM for evaluation as MS-DOS 1.0; an official version 1.0 of MS-DOS never existed|
|Older version; no longer supported: 86-DOS 1.0||April 1981||PC-DOS 1.0 is already very similar|
|Older version; no longer supported: 86-DOS 1.14||July 1981||Microsoft buys all rights to 86-DOS for US $ 50,000 (and receives US $ 80,000 from IBM for MS-DOS and MS-BASIC); from now on the further development (initially only within Microsoft) takes place under the name "MS-DOS"; the first version released by Microsoft will be MS-DOS 1.25|
Since Microsoft licensed the operating system to IBM, the initial goal of development was PC DOS version 1.0. For a complete listing of PC DOS, see its version history .
|Older version; no longer supported: PC-DOS 1.0||August 12, 1981||initial version for the first IBM PC ; 160 KB single sided disks; never officially published under the name "MS-DOS"|
|Older version; no longer supported: PC-DOS 1.1||May 1982||360 KB double-sided floppy disks; small bug fixes; corresponds to MS-DOS 1.25|
As of MS-DOS 1.25, Microsoft also sold the operating system under its own name. From version 2.0 and up to version 6, the licensed PC DOS is essentially the same version of MS-DOS.
|Older version; no longer supported: MS-DOS 1.25||August 1982||first MS-DOS version, which was also sold under the name "MS-DOS"; corresponds to PC-DOS 1.1|
|Older version; no longer supported: MS-DOS 2.0||March 1983||Version for the IBM PC XT with 10 MB hard disk; largely rewritten; Subdirectories; loadable device drivers|
|Older version; no longer supported: MS-DOS 2.01||October 1983||OEM version for Wang ; international character sets are supported for the first time|
|Older version; no longer supported: MS-DOS 2.05||OEM version for the DEC Rainbow 100 ; no support for international character sets|
|Older version; no longer supported: MS-DOS 2.1||October 1983||Version for IBM PC Junior and the IBM PC Portable ; no support for international character sets|
|Older version; no longer supported: MS-DOS 2.11||October 1983||Merging of all model-specific 2.x versions, support of international character sets (contrary to the not granted consent by IBM); Developed mainly at the request of the OEM partner, it became the "MS-DOS key version"; later a Toshiba DOS 2.11 (1987) on the market that supports 720 KB floppy disk drives and in some laptops firmly in the ROM is installed|
|Older version; no longer supported: MS-DOS 3.0||August 1984||Version for IBM PC AT ; 1.2MB HD floppy disks; Hard disks with up to 32 MB per partition with a maximum of four partitions per hard disk.|
|Older version; no longer supported: MS-DOS 3.1||March 1985||for the first time with network support; Memory usage above 640 KB|
|Older version; no longer supported: MS-DOS 3.2||December 1985||3.5 inch 720 KB floppy disks|
|Older version; no longer supported: MS-DOS 3.21||OEM version for grid|
|Older version; no longer supported: MS-DOS 4.0||
A special variant that was developed for some OEMs. Supported multitasking. Also known as " European MS-DOS 4.0".
|Older version; no longer supported: MS-DOS 3.3||April 1987||Support for IBM's new PS / 2 series and, for the first time, 3.5-inch floppy disks with 1.44 MB|
|Older version; no longer supported: MS-DOS 3.30||OEM version for Amiga Commodore bridgeboards , 2 disks contain MS-DOS, the third disk contains the special programs for the bridge boards.|
|Older version; no longer supported: MS-DOS 3.31||1988||OEM version for Compaq ; already supports hard drive partitions larger than 32 MB|
|Older version; no longer supported: MS-DOS 4.0||July 1988||first MS-DOS shell; EMS storage support without special EMS plug-in card for i386 and higher; Hard disk partitions larger than 32 MB; was soon withdrawn from the market due to serious errors and replaced by version 4.01|
|Older version; no longer supported: MS-DOS 4.01||November 1988||corrected version of MS-DOS 4.0|
|Older version; no longer supported: MS-DOS 5.00||June 1991||improved memory management ( XMS -DOS-Extender); Online help; improved DOS editor with QBasic interpreter; improved MS-DOS Shell; Undelete function|
|Older version; no longer supported: MS-DOS 5.00a||1991||corrected version of MS-DOS 5.00|
|Older version; no longer supported: MS-DOS 6.00||March 1993||Virus protection; Disk defragmentation ; automated storage optimization; Backup; Online data compression; Data transfer via serial and parallel interface; Boot menu for different system configurations; Support for CD-ROM drives included for the first time (generic driver MSCDEX , but also requires a device driver)|
|Older version; no longer supported: MS-DOS 6.20||November 1993||Improved online disk compression; automatic correction of disk errors, the DOS shell and some other additions were removed from the main installation and only supplied on a fourth floppy disk that had to be installed by hand afterwards.|
|Older version; no longer supported: MS-DOS 6.21||March 1994||Online disk compression removed for patent infringement by order of court.|
|Older version; no longer supported: MS-DOS 6.22||April 1994||last stand-alone MS-DOS version; Hard drive optimization; newly developed online data carrier compression.|
|Older version; no longer supported: MS-DOS 7.00||September 1995||MS-DOS is now part of the scope of delivery of Windows 95 and is no longer a separately available operating system. Windows 95 uses DOS as a substructure, but DOS can still run without Windows. Also new is the support of long file names (English Long File Name or LFN ), which was only provided by Microsoft while Windows was running.|
|Older version; no longer supported: MS-DOS 7.10||1996||In Windows 95B to Windows 98 SE, there is also a new FAT32 file system for partitions over 2 GB; most powerful MS-DOS.|
|Older version; no longer supported: MS-DOS 8.00||Late 1999 - early 2000||According to Microsoft, MS-DOS is an integral part of Windows Me and can no longer run independently. Although Windows Me no longer offers the option of starting just MS-DOS, all the necessary components for a stand-alone DOS operating system can still be extracted.
MS-DOS 8.00 shows no noticeable improvements, but there are some backward developments compared to MS-DOS 7.10.
Otherwise, it is used for all start disks generated by Windows from XP up to and including 10, which are created using “Format” - “MS-DOS start disk”. This is obviously an image , since an English version of the same start disk with a serial number ( English Volume ID ) is
When introducing new Intel processors, Intel always made sure that the processors run in a mode that is compatible with an 8088/8086 processor. This mode is called Real Mode and is also included in processors such as the Core i7 / i5 / i3 and the AMD FX / Phenom II / Athlon II ( downward compatibility ).
A maximum of 1 MiB address space can be used in real mode . By dividing the address space into normal memory for the operating system / user programs and reserved address space for memory mapped I / O and the BIOS , MS-DOS and applications running under MS-DOS have a maximum main memory of 640 KiB available. This limitation of the main memory became more and more a problematic hurdle in the course of time, which was only partially removed by means of a complex memory management, starting in MS-DOS version 4. However, by means of a trick that exploited an undocumented property of the processors, the operating system itself could largely be outsourced from the 1 MiB address space. Applications could also request storage outside of this range via special APIs . However, this procedure involved considerable programming effort and was not compatible with some older programs, so that the user was often forced to set the memory configuration differently by hand depending on the software in use. This was very difficult to understand for non-experts and was an additional source of error, especially when device drivers and TSR programs also came into play.
The management of ever larger hard disk drives also repeatedly pushed MS-DOS to the limit of its capabilities. The maximum supported capacity of hard disk partitions had to be increased several times in new versions of the operating system. The problem was originally only for floppy developed FAT - file system (FAT12). This was developed for floppy disks with an initial capacity of up to 360 kB and was unsuitable for managing large media. Later, the maximum capacity of the partitions was increased several times (FAT16 from DOS 2.0, FAT16B from DOS 3.31), and from Windows 95 (MS-DOS 7.00 integrated) longer file names were supported for Windows via actually invalid directory entries - this option was already offered for a short time previously released non-MS-DOS Windows NT 3.51. With Windows 95B and Windows 98 (MS-DOS 7.10 integrated) came the introduction of the new FAT32 file system, which can also address partitions with more than 2 GiB.
Due to errors in the programs of these MS-DOS versions, the usable hard disk size was often limited to 127.5 GiB, although the file system supports up to 2048 GiB.
Another problem is the introduction of new functions.
DOS accesses the data carrier via the interrupt interface (via INT 13h). This interface is usually made available by the ROM-BIOS of IBM-compatible computers or by special supplementary BIOSes of additional cards. In this way, the differences in hardware access between MFM , RLL , ESDI, SCSI and IDE hard disks / controllers are largely transparent for DOS. Serial ATA controllers that are common today often work in the AHCI or RAID modes as standard . Since it is no longer accessed via the classic register interface for hard disk controllers in the I / O area, which is supported by all BIOSes as standard, some ROM-BIOSes without special support for these modes can no longer find them and place such drives in the Also no longer ready at INT-13h level, which means that they remain “invisible” to DOS as long as no DOS preboot drivers are available that either emulate the normal INT-13h interface or those drives at DOS block device driver level Integrate into the system (via CONFIG.SYS). Often, however, you can activate an “IDE Legacy Mode” in the configuration of the ROM- BIOS , in which such hard disks appear like classic IDE hard disks on the hardware level and can thus be recognized by the ROM-BIOS and DOS and then used without any problems.
The limits of the operating system were steadily expanded until the end of the MS-DOS era with MS-DOS 8.00 (integrated in Windows Me ). However, the fundamental structural constraints were never removed, but postponed. This led, for example, to the fact that, under MS-DOS, large data carriers can again be used exclusively partitioned into sections.
For many of the interfaces that are common today, such as USB and S-ATA, there is no longer any DOS support. Such devices cannot be used under DOS. USB keyboards and most simple USB data carriers (external hard disks, external floppy disk drives, sticks, etc.) are an exception: Most BIOSes still have an emulation level built into them so that they can be used on such a computer can be used under DOS. With special drivers (which must be started in config.sys and autoexec.bat) it is also possible to address USB drives outside the emulation level. Both exceptions do not support hot swapping .
The functionality of many commands can be influenced with parameters (also called switches ), which are usually introduced with a slash . As of MS-DOS 5.0, the call syntax of most commands is output if passed as a parameter
MS-DOS can be used in various emulation environments. Application programs have a very high probability of behaving as intended. Programs that require direct hardware access can, however, run under real multitasking systems such as OS / 2, Windows NT or Unix , depending on the system, or only to a very limited extent, depending on the scope of the emulation. This is especially the case with games.
The operating system OS / 2 , which was originally designed by IBM and Microsoft as a joint successor to DOS, has an integrated DOS module that corresponds to MS-DOS version 5. This module can allocate significantly more memory to original DOS programs started in it than an independent DOS, because the host system OS / 2 mimics (emulates) the DOS operating system interface by redirecting it to its own service routines and no longer to the restricted real -Mode memory area of the original DOS 'is bound. The basis of the OS / 2 DOS module is the virtual 8086 mode of the i386 processor and its successors. This is a hardware service that "only" has to be used by the operating system in order to serve DOS applications as the execution environment. Since each DOS program runs on its own virtual 8086 processor, the DOS programs benefit from the multitasking capability, memory protection and the increased stability of OS / 2.
In contrast to OS / 2, Windows 3.x or related systems are not complete operating systems, but only an attachment for an original DOS. Although these older 16-bit Windows versions can make better use of the then newer processors (from the 80286 onwards) than the original DOS, they do not emulate the DOS interface, but continue to direct the operating system calls of the DOS program to it running original DOS continues, with the then inevitable disadvantages for memory requirements and stability.
Windows NT and its successors are complete operating systems which no longer offer DOS programs an original DOS environment. Instead, these 32-bit Windows versions have NTVDM (for NT Virtual DOS Machine ), an emulator solution that is comparable to the implementation under OS / 2, as the knowledge gained during its (initially) joint development by IBM and Microsoft Companies for their further developments were available.
The 64-bit versions of Windows XP and its successors can generally no longer execute 16-bit code, and thus DOS programs, themselves. As an alternative, you can use PC emulators such as Virtual PC , VirtualBox or VMware , which no longer emulate a DOS interface, but an entire PC with processor and peripherals.
Under Linux there is the DOSEMU program , which can run DOS applications as a virtual 8086 task in a very similar way to Windows and OS / 2, in that it is also based on the virtual 8086 mode of the i386 processor. Entire file systems can also be virtualized. If necessary, however, it is also possible for the virtually running DOS application to partially or fully open the original file system of the Linux host system. Individual devices and interfaces can also be passed on to the virtualized system for use. DOSEMU does not emulate DOS itself, but only the hardware environment that a DOS needs to be able to run; therefore a copy of MS-DOS or a DOS compatible with it is still required. Current versions of DOSEMU are supplied with an integrated version of FreeDOS , so that you can often do without an MS-DOS license.
With DOSBox it is possible to simulate a complete CPU of the type 80286 or i386 in real mode as well as in protected mode as well as the associated PC together with an emulated DOS that is partially compatible with MS-DOS. However, DOSBox and especially the embedded DOS is intended for the use of games running on MS-DOS; it lacks features that are not required for this, such as printer support and many less frequently used command line commands. There is also the possibility (as required in DOSEMU) to start another DOS within DOSBox, but then some properties, such as direct access to shared parts of the host file system, are lost. The execution speed with DOSBox is more or less significantly reduced compared to an original operating system running on the same hardware. In particular, graphically complex applications are slowed down because the necessary calculations are not calculated on the host system's graphics card, but in its main processor. In addition, neither Pacifica nor Vanderpool are supported. In addition to Windows, macOS and Linux, DOSBox is also available on BeOS , MorphOS , eComStation (OS / 2) and on the Sega Dreamcast . Since the processor can also be fully emulated, MS-DOS applications within DOSBox can also be run on other processor types than the x86-compatible ones, but usually with an even greater loss of speed.
Graphical user interfaces
- History of MS-DOS in the Computer Museum Munich (very detailed, with many screenshots)
- Announcement for the publication of the source code
- MS-DOS Back to the Disk (Tutorial: Installation, Working, Fdisk and Small Command Reference) (PDF, 1 MB)
- DOS programming reference (INT 21h ABI)
- The history of MS / PC DOS at winhistory.de
- From the operating system crypt: Microsoft provides DOS source code on GitHub - Heise , on September 29, 2018; see also under ... / Microsoft / MS-DOS (English), at GitHub , as well as for the license there under ... / blob / master / LICENSE.md (English)
- vbr: 30 years of MS-DOS. heise online , July 27, 2011, accessed on July 29, 2011 .
- Source texts for MS-DOS and Word for Windows published , Heise online, March 25, 2014. Retrieved March 25, 2014.
- Re-Open-Sourcing MS-DOS 1.25 and 2.0 , Microsoft Developer, September 28, 2018. Accessed October 13, 2018.
- interrupt list: "European MS-DOS 4.0 int 21h ah = 80h"
- The Microsoft DOS 5 Upgrade Commercial Rap (Gimme 5) - Commercial clip
- INT 13 - Diskette BIOS Services (English), accessed October 28, 2015.