MS-DOS, kurz für Microsoft Disk Operating System, ist Microsofts erstes Betriebssystem für x86-PCs und das Referenzsystem für PC-kompatibles DOS. Das von IBM für den IBM PC vertriebene PC DOS entspricht bis Version 6 MS-DOS der jeweils gleichen Version. Die erste Version von MS-DOS und PC DOS geht auf Tim Paterson zurück, der es ursprünglich unter dem Namen QDOS für den Intel-Prozessor 8086/8088 entwickelt hatte.

Der Erfolg von MS-DOS ist eng mit dem Erfolg der IBM-PC-Kompatiblen verknüpft. Aufgrund des „PC“-Marktes war es, gemeinsam mit dem nahezu identischen PC DOS auf „originalen“ IBM-PCs, in den späten 1980er und frühen 1990er Jahren das dominierende Betriebssystem für Einzelplatzrechner.

Oft steht MS-DOS als Plattform und Spieleplattform für Programme und Computerspiele der späten 1980er und 1990er Jahre, obwohl diese auch auf anderen kompatiblen DOS-Versionen laufen. Mit Emulatoren dieser Plattform wie beispielsweise DOSBox können DOS-Programme und sog. DOS-Spiele auch auf vielen modernen (mit MS-DOS grundsätzlich inkompatiblen) Systemen weiterhin verwendet werden. Außerdem existieren binärkompatible Betriebssysteme als Disk Operating System (z. B. FreeDOS), um MS-DOS-Programme auch ohne eine Lizenz für MS-DOS auszuführen.

Entwicklungsgeschichte

Tim Patersons S-100-Karte mit Intel-8086-CPU Die Geschichte, die letztendlich zur Entwicklung des späteren MS-DOS führte, begann bereits im Herbst 1978, als der Programmierer und Hardware-Entwickler Tim Paterson beim Unternehmen Seattle Computer Products (SCP) mit der Entwicklung einer CPU-Einsteckkarte für den damals verbreiteten S-100-Bus begann.

In der zweiten Hälfte der 1970er Jahre war der S-100-Bus eine Art Quasi-Standard zum Aufbau erweiterbarer Rechnersysteme, die damals zumeist unter dem Betriebssystem CP/M betrieben wurden. Statt der damals in S-100-Systemen verbreiteten 8-Bit-CPUs Zilog Z80, Intel 8085 oder Intel 8080 verwendete Paterson die neue 16-Bit-CPU Intel 8086, die erst 1978 von Intel vorgestellt wurde und die später auch die Geschichte der IBM-kompatiblen PCs prägen sollte.

Die Entwicklungsarbeiten an dieser CPU-Einsteckkarte begann Paterson im Herbst 1978, nachdem er im Juni zuvor ein Seminar über die gerade vorgestellte CPU bei Intel besucht hatte. Im Juni 1979 hatte Paterson schließlich einen lauffähigen Prototyp der CPU-Einsteckkarte sowie einen Assembler und einen Maschinensprachemonitor, den 8086-Monitor, entwickelt. Er trat an Microsoft heran, um deren erst kurz zuvor fertiggestellten 8086-BASIC-Interpreter auf seiner neuen Hardware lauffähig zu machen. Noch im Juni 1979 diente auf der National Computer Conference in New York ein S-100-System mit Patersons Einsteckkarte Microsoft als Demonstrationssystem für das neue BASIC-86.

Als Seattle Computer Products Ende 1979 schließlich mit der Auslieferung der 8086-Einsteckkarte begann, war neben ein paar Entwicklungswerkzeugen und dem 8086-Monitor gegen Aufpreis auch Microsofts BASIC-86 für die neue Einsteckkarte verfügbar. Doch ein Betriebssystem, wie es mit CP/M für die 8-Bit-CPU-Einsteckkarten für den S-100-Bus verfügbar war, gab es für die neue 16-Bit-CPU-Einsteckkarte noch nicht. Und obwohl – nach Patersons Aussagen – Digital Research im Sommer 1979 die 8086-Version von CP/M für Dezember 1979 in Aussicht gestellt haben soll, war CP/M-86 – wie das Betriebssystem schließlich später heißen sollte – zur angekündigten Zeit noch nicht in Sicht.

QDOS und 86-DOS

Als CP/M-86 im April 1980 immer noch nicht verfügbar war, begann Paterson schließlich mit der Entwicklung eines eigenen Betriebssystems, das später zu MS-DOS werden sollte. Unter dem Namen QDOS (Quick and Dirty Operating System, frei übersetzt: „schnell und unsauber programmiertes Betriebssystem“) wurde es im August 1980 in Version 0.1 veröffentlicht und zusammen mit der 8086-CPU-Einsteckkarte ausgeliefert. Die Systemaufrufe von QDOS orientierten sich sehr stark an denen von CP/M, was einerseits zwar die Portierung bestehender CP/M-Programme erleichterte, andererseits aber – viele Jahre später – zu gerichtlichen Auseinandersetzungen zwischen Digital Research und Microsoft führte. Seattle Computer Products bewarb QDOS mit dieser „CP/M-Kompatibilität“ und der ausgelieferten Software, die beispielsweise das Einlesen von Dateien im CP/M-Format oder weitgehend automatisierte Konvertierung von Z80- in 8086-Quelltext ermöglichen sollte.

Beim Versionsstand 0.3 wurde QDOS im Dezember 1980 in 86-DOS umbenannt.

PC DOS 1.0, MS-DOS 1.x mini|MS-DOS Version 1.12 von 1982 Zu dieser Zeit hatte Microsoft QDOS bereits lizenziert und arbeitete im Auftrag von IBM mit Hochdruck an der Portierung der Version 0.3 auf einen frühen Prototyp des IBM PC. Das Ergebnis wurde IBM als Microsoft Disk Operating System 1.0 (kurz MS-DOS) zur Evaluierung vorgelegt. Das Projekt soll zu dieser Zeit so geheim gewesen sein, dass selbst Paterson, der Microsoft als Lizenznehmer immerhin bei der Portierung behilflich war, den Prototyp nicht zu Gesicht bekam. Die Version 1.0 von MS-DOS wurde nie veröffentlicht.

Im April 1981 hatte 86-DOS den Versionsstand 1.0 erreicht. Ab Mai 1981 arbeitete Tim Paterson für Microsoft. Am 27. Juli 1981 kaufte Microsoft schließlich alle Rechte an 86-DOS und entwickelte es fortan unter dem Namen MS-DOS weiter. Was später als PC DOS 1.0 mit dem ersten IBM PC ausgeliefert wurde, war eine durch IBM fehlerbereinigte Version von MS-DOS 1.14.

Obwohl auch das bei 8-Bit-Rechnern der späten 1970er Jahre sehr beliebte Betriebssystem CP/M in einer weiterentwickelten Version als CP/M-86 für den IBM PC verfügbar war, setzte sich IBMs PC DOS als Standardbetriebssystem durch. Als einer der Hauptgründe dafür wird der deutlich geringere Preis von PC DOS vermutet.

Ein weiterer großer Vorteil für die Akzeptanz soll der geringe Portierungsaufwand bestehender CP/M-2.2-Software auf MS-DOS gewesen sein. Während sich Tim Paterson bei der Entwicklung von QDOS vorwiegend an den Systemaufrufen von CP/M 2.2 orientierte und somit sehr kompatibel blieb, stellte CP/M-86 dagegen eine Weiterentwicklung von CP/M dar, die mit einigen tiefergehenden Veränderungen im Bereich der Anwendungsschnittstelle einherging. Viele Programme, die bereits unter CP/M liefen, waren deshalb sehr schnell auch unter MS-DOS verfügbar. Gleiches galt für Neuentwicklungen, so auch im Jahr 1982 mit Microsoft Multiplan, das in den ersten beiden Versionen bereits für CP/M wie auch für MS-DOS verfügbar war. Zahlreiche weitere Plattformen sollten folgen.

Darüber hinaus sehr förderlich war das Vorhandensein eines in wichtigen Teilen deutlich leistungsfähigeren Dateisystems namens FAT in MS-DOS. Dieses Dateisystem war ursprünglich in einer 8-Bit-Variante bereits 1977 von Microsoft als Dateisystem für das Paket Standalone Disk BASIC-80 für einen NCR-Rechner entwickelt worden. 1979 wurde es auch ein Bestandteil von Standalone Disk BASIC-86, als dieses auf die 8086-CPU-Einsteckkarte von Seattle Computer Products angepasst worden war, nicht zuletzt, weil die fraglichen S-100-Systeme in der Regel bereits mit Diskettenlaufwerken ausgeliefert wurden.

Basierend auf dieser konzeptionellen Grundlage passte Tim Paterson das FAT-Dateisystem im Juli 1980 für seine Bedürfnisse an, indem er die Anzahl der FATs von drei auf zwei reduzierte, die Breite der Einträge von 8 auf 12 Bit erweiterte, die Verzeichnistabelle zwischen der FAT und dem Datenbereich anordnete, die Bedeutung einiger reservierter Cluster-Werte umwidmete und das vormalige 6.3-Namensschema zwecks CP/M-API-Kompatibilität auf 8.3 Zeichen erweiterte. Im Februar 1981 wurden mit 86-DOS 0.42 auch die Verzeichniseinträge von 16 Bytes auf 32 Bytes vergrößert, und die Frühform des FAT12-Dateisystems war geboren, aufgrund abweichender logischer Geometrien jedoch immer noch in einem Format, das von späteren MS-DOS- und PC DOS-Versionen nicht gelesen werden kann.

MS-DOS 2.x und höher mini|MS-DOS-Disketten, Version 6.2 Um Probleme mit den neu aufkommenden Festplatten zu umgehen, integrierte Microsoft in der Version 2 Konzepte aus Xenix, einem Unix-Abkömmling von Microsoft. Die übernommenen Konzepte ermöglichten hauptsächlich ein hierarchisches Dateisystem – mit anderen Worten, die heute selbstverständlichen Unterverzeichnisse und damit eine Verzeichnisstruktur – und ein Treiberkonzept für block- und zeichenorientierte Geräte.

MS-DOS 2.0 erhielt Unterstützung für Stapelverarbeitungsdateien („Batch-Dateien“, Dateiendung .BAT): die Kontrollstrukturen konnten ursprünglich nur anhand von GOTO-Sprunganweisungen ausgeführt werden; IF und FOR kamen erst mit Version 3.3 dazu.

Die Version 3 enthält Erweiterungen, um über ein Netzwerk Daten von entfernten Rechnern nutzen zu können (LAN-Manager). Mit der Version 3.2 werden erstmals 3,5-Zoll-Diskettenlaufwerke und entsprechende 720-kB-Disketten unterstützt, 1,44-MB-Disketten ab der Version 3.3.

Bei der Version 4 wurde im Wesentlichen die Begrenzung der Festplatten-Kapazität von rund 32 MB pro logischem Laufwerk angehoben. Zur Arbeitserleichterung wurde die DOS Shell (auch MS-DOS-Shell; wegen des Dateinamens DOSSHELL.EXE oft als „DOSShell“ bezeichnet) als Oberfläche eingeführt.

Version 5 ist die letzte Version, die von Microsoft und IBM gemeinsam weiterentwickelt wurde, sodass bis MS-DOS 5.0 und IBM DOS 5.0 beide DOS-Varianten nahezu identisch sind. Da sich Microsoft auf die Entwicklung von Windows 3.0 konzentriert hatte und mit IBM die Entwicklung von OS/2 vorantrieb, war Version 5 möglicherweise eine Reaktion auf das zuvor veröffentlichte DR DOS 5.0 von Digital Research, das in vielen Punkten MS-DOS 4.01 überlegen war. Und so bringt MS-DOS 5.0 ebenfalls ein verbessertes Speichermanagement, mit dem es möglich ist, Teile des Betriebssystems und speicherresidente TSR-Programme in den oberen, in Form von Speicherblocks (UMBs, , zwischen 640 kB und 1 MB), und den hohen Speicherbereich (HMA, ) zu verlagern. Dadurch kann Anwendungen mehr Hauptspeicher, der architekturbedingt auf 640 kB konventionellen Speicher begrenzt ist, zur Verfügung gestellt werden. Voraussetzung dafür ist ein Rechner mit einem 286er-Prozessor oder besser. Auch die maximale Größe von logischen Laufwerken wurde auf 2 GB erhöht. Ansonsten enthält die Version hauptsächlich Erleichterungen bei der Benutzerführung. Dazu gehörten etwa eine erweiterte DOS Shell, ein neuer Editor (als modernen Ersatz für EDLIN), QBasic (als Ersatz für GW-BASIC) und eine Online-Hilfe.

In der Version 6 wurden neben diversen Detailverbesserungen der bestehenden Konzepte und dem Hinzufügen verschiedener Fremdprodukte keine wesentlichen Veränderungen mehr vorgenommen. Erwähnenswert ist DoubleSpace (später DriveSpace), mit dem es möglich wurde, Daten ohne zusätzliche Maßnahmen komprimiert auf der Festplatte zu speichern und damit auf Kosten der Geschwindigkeit und Datensicherheit bis zu 50 Prozent Festplattenspeicher zu sparen. Zudem wurde in der CONFIG.SYS ein Menü eingeführt, was verschiedene Konfigurationen, die vom Benutzer beim Bootvorgang ausgewählt werden können, ermöglicht. MSCDEX wird bereits mitgeliefert, womit das Betriebssystem für die CD-ROM-Unterstützung vorbereitet ist, wenn ein passender Treiber für das jeweilige Laufwerk geladen wird.

Die Veröffentlichung von weiteren Versionen (MS-DOS 7.00/7.10 und 8.00) erfolgte nur noch in Kombination (Bundle) mit dem grafischen Protected-Mode-Betriebssystem Windows 9x. Eine substantielle Verbesserung des Systems selbst fand nicht mehr statt bzw. wurde weitgehend durch Verbesserungen im überlagerten Windows-System abgedeckt. Die wahrscheinlich wichtigste Verbesserung war die Einführung von FAT32 mit MS-DOS 7.10 (ab Windows 95 OSR2). MS-DOS wurde in seiner Bedeutung vor allem auf ein Hilfsmittel beim Boot-Vorgang, als Wartungsplattform und als Skript-Interpreter reduziert.