MS- DOS, short for Microsoft Disk Operating System, is Microsoft's first operating system for x86 PCs.

It was originally developed for the Intel processor 8086/8088 and was in the late 1980s and early 1990s, the dominant operating system for stand-alone computers.

Today, MS- DOS, which was extended repeatedly used ( including through graphical user interfaces ) for time-critical applications, boot media ( boot floppy ) or for applications that require direct access to the hardware, especially in embedded systems.

The previous Windows versions 1.0 to 3.11, 95 (4.0 ) 98 ( 4.1) and ME ( 4.9) were dependent on DOS. Windows NT and based thereon Microsoft operating systems no longer rely on MS -DOS and can not run or only limited DOS software. Here since emulators are increasingly being used.

The prompt in MS -DOS is similar to that of the command line interpreter Cmd.exe the NT - based Windows systems, but is independent of it.

History of development

Tim Paterson S- 100 card with an Intel 8086 CPU

The story, which ultimately led to the development of the later MS- DOS, began already in autumn 1978, when the programmers and hardware developers Tim Paterson at the company Seattle Computer Products to develop a CPU board for the then widespread S-100 bus started.

In the second half of the 1970s, the S -100 bus was a kind of de facto standard for building extensible computer systems, which were then mostly operated under the operating system CP / M. Instead of the then widespread in S-100 systems 8 -bit CPUs Zilog Z80, Intel 8085 or Intel 8080 Paterson used the new 16 -bit CPU Intel 8086, which was introduced in 1978 by Intel, and later also the history of IBM should characterize compatible PCs.

Development work on this CPU plug- Paterson began in the fall of 1978, after attending a seminar on the recently unveiled Intel CPU in June before. In June 1979, Paterson had finally developed a working prototype of the CPU plug as well as an assembler and a machine language monitor, the 8086 monitor. He approached Microsoft to make its only recently completed 8086 BASIC interpreter on its new hardware to run. Served In June 1979, a S- 100 system with Patersons plug Microsoft as a demonstration system for the new BASIC -86 at the National Computer Conference in New York.

As Seattle Computer Products finally began in late 1979 with the delivery of the 8086 plug-in, was also Microsoft's BASIC -86 available for the new plug-in addition to a few development tools and the 8086 monitor surcharge. However, an operating system, such as it was available for the S -100 bus for the 8 - bit CPU plug with CP / M, it was not for the new 16- bit CPU plug. And although - according to Paterson's statements - should have made ​​Digital Research in the summer of 1979, the 8086 version of CP / M for December 1979 in view, CP/M-86 was - as the operating system will eventually be called later - at the time announced not yet in view.

QDOS and 86 -DOS

As CP/M-86 in April 1980 was still not available, Paterson finally began with the development of its own operating system, which should become MS- DOS later. Under the name QDOS ( Quick and Dirty Operating System, freely translated: " quick and dirty programmed operating system " ) was published in August 1980 in version 0.1 and delivered together with the 8086 CPU plug. The system calls of QDOS were based heavily on those of CP / M, which while porting existing CP / M programs facilitated, on the other hand - many years later - to legal wrangling between Microsoft and Digital Research led. Seattle Computer Products QDOS applied with this " CP / M compatibility " and the delivered software, for example, should allow reading of files in CP / M format or largely automated conversion of Z80 in 8086 source code.

In the version level 0.3 QDOS was renamed in December 1980 in 86 -DOS.

PC-DOS 1.0, MS- DOS 1.x

At the time, Microsoft had already licensed QDOS and worked on behalf of IBM with high pressure at the port of version 0.3 on an early prototype of the IBM PC. The result was 1.0 (short MS -DOS) submitted to IBM and Microsoft Disk Operating System for evaluation. The project was said to be so secret at this time that even Paterson, Microsoft helped at least in the porting as a licensee, the prototype did not get to face. The version 1.0 of MS- DOS was never released.

In April 1981, 86- DOS had reached the version of 1.0. From May 1981 Tim Paterson worked for Microsoft. On 27 July 1981 Microsoft eventually bought all rights to 86- DOS and developed it from now on under the name MS- DOS on. What was delivered later than PC-DOS 1.0 with the first IBM PC was a bug fixed by IBM version of MS- DOS 1.14.

Although the very popular 8- bit computers of the late 1970s operating system CP / M was available as CP/M-86 for the IBM - PC in a further developed version, sat down IBM's PC -DOS by default operating system. As one of the main reasons for the much lower price of PC-DOS is suspected.

Another great advantage for the acceptance to have been the low porting effort of existing CP/M-2.2-Software on MS -DOS. While Tim Paterson remained in the development of QDOS mainly to the system calls of CP / M 2.2 oriented and therefore very compatible, CP/M-86 presented, however, a further development of CP / M is, accompanied with some deeper changes in the application interface. Many programs already running under CP / M, so were very quick also available under MS -DOS. The same was true for new developments. So also in 1982 with Microsoft Multiplan, which was available for CP / M as well as MS- DOS in the first two versions already. Numerous other platforms to follow.

In addition, very conducive was the presence of important parts much more powerful file system in MS- DOS called FAT, which still had no subdirectories in version 1.x of IBM and MS -DOS. The file system was originally developed in 1977 by Microsoft as the file system for the packet Disk BASIC interpreter for an NCR computer. It was later also a component of BASIC -86, as this had been adjusted to the 8086 CPU plug-in from Seattle Computer Products, not least because the relevant S-100 systems have been delivered normally with floppy disk drives. Tim Paterson had to do was take care of the QDOS thus already existing FAT file system.

MS- DOS 2.x and higher

To avoid problems with the emerging hard drives, Microsoft integrated in Version 2 concepts from Xenix, a Unix derivative of Microsoft. The acquired concepts made ​​possible mainly a hierarchical file system and a driver concept for block and character devices. MS- DOS 2.0 is currently the only DOS version whose source code has been made available to the public by Microsoft.

The version 3 included extensions to use across a network of remote hosts (Lan Manager).

With version 3.2 the first 3.5 -inch floppy disk drives and corresponding 720- kilobyte floppy disks were supported, 1.44 - MB floppy disks from version 3.3. With version 4 is substantially limiting the hard disk capacity has been increased to around 32 MB per logical drive. To facilitate its work, the MS - ​​DOS shell ( colloquially because the file name DOSSHELL.EXE called " Dosshell " ) was introduced as a surface.

With version 5 you tried the scarce memory, the architecture was conditionally limited to 640 kB to expand somewhat by the introduction of HMA ( " High Memory Area" ) and UMA ( " Upper Memory Area "). From this version, EMS and XMS memory for processors from the i386 was directly supported. Also, the maximum size of logical drives has been increased to 2 GB. Otherwise, the version contained mainly facilitation of the user interface. These included an extended MS -DOS Shell, a new editor and a online help.

In version 6, in addition to various improvements of existing concepts and adding various foreign products were amended significantly more. It is worth mentioning at most Doublespace (later Drive Space), with which it was possible to transfer data without additional measures compressed to save on the hard disk, thus saving the expense of speed and data security up to 50 percent of disk space.

The publication of other versions (7, 8 ) was carried out only in combination (bundle ) with the graphical protected-mode operating system Microsoft Windows. A substantial improvement of the system itself did not take place or was largely covered by improvements in the superimposed 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 mainly to an aid during the boot process, as a maintenance platform and as a script interpreter.

Revision history

Problems of MS- DOS

With the introduction of new Intel processors from Intel has always made sure that the processors run at startup in a mode that is compatible is to a 8088-/8086-Prozessor. This mode is called real mode and is still in processors such as the Core i7l/i5/i3 and the AMD FX / Phenom II / Athlon II included ( backward compatibility ).

In real mode, maximum 1 MiB address space can be used. By dividing the address space in normal memory for the operating system / user programs and reserved address space for memory mapped I / O as well as the BIOS is MS- DOS and running under MS- DOS applications, a maximum main memory of 640 KiB available. This limitation of the working memory was the passage of time more and more a problematic hurdle, which was only partially offset by a complex memory management, starting in MS- DOS version 4: by means of a trick, took advantage of an undocumented feature of processors, could the operating system themselves largely outsourced from the 1- MiB address space; applications could also be requested via special APIs memory outside this range; however, this was associated with significant programming effort, was not compatible with many older program ( so that the user was often forced to adjust the storage configuration depending on the software currently used in each case by hand otherwise), was very hard to understand for non- experts and meant an additional source of error, especially if device drivers and TSR programs also came into play.

Also the management of ever-increasing hard disk drives led MS- DOS again and again 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 developed only for floppy FAT file system ( FAT12 ). This had been developed for disks with an initial capacity of up to 360 kB and was unsuitable for managing large media. Later, it was several times the maximum capacity of partitions increases (FAT16 from DOS 2.0, FAT16B from DOS 3.31), and Windows 95 (MS- DOS 7:00 integrated) were actually invalid directory entries supports longer file names for Windows - this option also offered the already short previously placed on the market, not on MS -DOS -based Windows NT 3.51. With Windows 95B and Windows 98 ( MS- DOS integrates 7:10 ) came the introduction of the new FAT32 file system, which can also address partitions larger than 2 GiB.

Because of errors in the programs of these MS -DOS versions of the usable disk size was often restricted to 127.5 GiB, even though the file system supports up to 2048 MiB.

Another problem represents the introduction of new technologies

DOS attacks via the INT 13 interface to Disk. This interface is usually provided by the ROM BIOS IBM - compatible computer or special supplementary BIOSes of additional cards. In this way, the differences in the hardware access between MFM, RLL, ESDI, SCSI and IDE-Festplatten/Controllern for DOS are largely transparent. Today, however, conventional Serial ATA controller work often default to AHCI or RAID modes. Because access is no longer carried out on classical register interface for hard disk controller in the I / O area that is supported by default by all BIOSes, find some ROM BIOSes without special support for these modes it is no longer and make such drives in the consequence, no longer on INT 13 level, giving them remain "invisible " for DOS, as long as no DOS preboot drivers are available that either emulate the normal INT 13 interface or such drives on DOS block device driver level (via CONFIG.SYS ) integrate into the system. Often, however, one can activate in the configuration of the ROM BIOSes an "IDE legacy mode " as classic IDE hard drives appear in such disks on a hardware level and thus recognized by the ROM BIOS and DOS, and then can also be easily used.

The limits of the operating system have been expanded steadily until the end of the MS- DOS era with MS -DOS 8.00 ( Windows Me integrated). However, the basic structural constraints were never eliminated but postponed. This led for example to the fact that under MS- DOS large volumes also can be used exclusively partitioned into sections again today.

For many now common interfaces such as USB and S- ATA, there are DOS support no more. Such devices can not be used under DOS. An exception to USB keyboards and most simple USB disk is ( external hard drives, external floppy drives, sticks and the like. ): For this is in most BIOSes still an emulation layer built in, so that they also on machines can be used in DOS. With special drivers (which must be started in config.sys and autoexec.bat ) but it is also outside the emulation level possible to access USB drives. Both exceptions do not support hot swapping.

Instruction set

The functioning of many commands can with parameters ( also called switches ) are affected, which are usually initiated with a slash ( "slash" ). The calling syntax of most commands is output from MS- DOS 5.0, when as a parameter /? is passed.

DOS emulators

MS- DOS can also be used in various emulation environments. Application programs here have a fairly high probability to behave as intended. Programs that require direct hardware access, however logistic system under real multitasking systems such as OS / 2, Windows NT or Linux, depending on the scope of the emulation may not run or only very limited. This is the case especially in games.

The operating system OS / 2, which was designed by IBM and Microsoft as a successor to DOS, emulates a DOS interface, which corresponds to the MS -DOS version 5. In this case, more memory can be allocated to running programs clearly than under a stand-alone DOS because the host system OS / takes 2 essential operating system functions and thus certain system code and data can detach from the storage area of ​​the DOS environment. Furthermore, the fact running programs from the multitasking ability, memory protection and the increased stability of OS / 2 benefit The entire system is supported by the virtual 8086 mode of i386 processor, and is thus a feature of Intel, which is used only by the operating system software, accordingly, filled with contents and is presented to the suitable applications as execution environment. ( Thus partly massive stability problems can be provoked and ) Compared to a Windows 3.x or related systems where the DOS used for booting is used as a template for the virtual 8086 mode, it is here to untethered, grafted approach for the execution of programs in a DOS system.

On Windows NT and successors, there is also no native DOS environment. It exists in the 32 -bit versions of the NTVDM (NT Virtual DOS Machine), a solution that is similar to the implementation in OS / 2. The latter system grew out of a collaboration between IBM and Microsoft, the lessons learned were two companies for their further developments. The 64- bit versions of Windows XP and successors permit with on-board means no use of 16 -bit code and therefore no use of DOS programs more.

Under Linux, there is the program DOSEMU, which DOS applications as virtual 8086 task on Linux can run in a very similar way. Also, all file systems can be virtualized. If required, however, it is also possible to divide or gateways to establish the whole native file system of the host. As well as individual units and interfaces can be passed on to the embedded system to use. DOSEMU does not emulate DOS itself, but only the hardware environment that requires a DOS to run to; therefore, a copy of MS -DOS or a DOS compatible therewith is still needed, which then runs within this virtual environment. Current versions of DOSEMU are delivered with an integrated version of FreeDOS, so that you can do without an MS- DOS license often.

With DOSBox, it is possible a complete CPU type 80286 or i386 in real mode as well as in protected mode as well as the associated PC replicate together with a partial to MS-DOS compatible emulated DOS. However, DOSBox and in particular the embedded DOS for the use of running on MS- DOS games is intended; it lacks non-relevant features such as a printer support and many rarely used command line commands. But there is also the possibility (as in DOSEMU required) to start another DOS inside DOSBox, then go some properties, such as direct access to the shared parts of the host filesystem lost. The execution speed is reduced more or less clearly on DOSBox compared to a running on the same hardware native program. Especially graphically complex applications are slowed down that the necessary calculations are not calculated on the graphics card of the host, but in its main processor. In addition, neither Pacifica still Vanderpool are supported. DOSBox is available, among others, for Windows, BeOS, Linux, Mac OS X, MorphOS, eComStation (OS / 2) and on the Sega Dreamcast. Since the processor can also be fully emulated MS -DOS applications can run within DOSBox also on other types of processors as the x86-compatible, but usually with an even greater loss of speed.

Graphical User Interfaces

Graphical User Interfaces for MS- DOS include older Microsoft Windows systems, PC / GEOS, DOS Shell, SEAL or GEM.