MS-DOS

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
MS-DOS
MS-DOS Logo
Bildschirmkopie
Startbildschirm von MS-DOS 6.22
Entwickler Microsoft(ursprünglichSCP/Tim Paterson)
Lizenz(en) EULA(proprietär) und
teilweiseMIT-Lizenz(frei)[1][2][3]
Erstveröff. Akt.Version 8.01vom14. September 2000
Kernel monolithisch(Assembler)
Abstammung QDOS/86-DOS
↳ PC DOS(lizenziert für IBM)
↳ MS-DOS
Architektur(en) IBM PC(x86ab8086/8088)
Chronik QDOS/86-DOS bis 1.14
PC DOS1.0
PC-DOS 1.1/MS-DOS 1.25
MS-DOS bis 6.22
MS-DOS 7.0 bis 8.0 (mitWindows)
Sprache(n) hauptsächlichEnglischund u. a. (teilweise)Deutsch
microsoft

MS-DOS,kurz fürMicrosoftDiskOperatingSystem,ist Microsofts erstesBetriebssystemfürx86-PCsund das Referenzsystem fürPC-kompatibles DOS.Das vonIBMfür denIBM PCvertriebenePC DOSentspricht bis Version 6 MS-DOS der jeweils gleichen Version. Die erste Version von MS-DOS und PC DOS geht aufTim Patersonzurück, der es ursprünglich unter dem NamenQDOSentwickelt hatte.[4]

Es wurde ursprünglich für denIntel-Prozessor8086/8088entwickelt und war in den späten 1980er und frühen 1990er Jahren das dominierende Betriebssystem für Einzelplatzrechner.

Oft steht MS-DOS alsPlattformundSpieleplattformfürProgrammeundComputerspieleder späten 1980er und 1990er Jahre, obwohl diese auch auf anderenkompatiblen DOS-Versionenlaufen. Mit Emulatoren dieser Plattform wie beispielsweiseDOSBoxkönnen DOS-Programme und sog.DOS-Spieleauch auf vielen modernen (mit MS-DOS grundsätzlich inkompatiblen) Systemen weiterhin verwendet werden. Außerdem existierenbinärkompatibleBetriebssysteme alsDisk Operating System(z. B.FreeDOS), um MS-DOS-Programme auch ohne eine Lizenz für MS-DOS auszuführen.

Eine angepasste Version von MS-DOS 6.22 wurde von Microsoft alsMS-DOS Embeddedbis Ende 2015 vertrieben[5]und u. a. für zeitkritische Anwendungen,Startmedien(Bootdisketten) oder für Anwendungen, die direkten Zugriff auf die Hardware erfordern, vor allem inEmbedded Systemseingesetzt, wobei das Basissystem meist von den Herstellern z. B. umgrafische Benutzeroberflächenerweitert wurde.

Die früherenWindows-Versionen 1.0 bis 3.11 (Windows 3.x) wurden von DOS aus gestartet und waren somit kein eigenständiges Betriebssystem.Windows-9x-Versionen, das sindWindows 95(4.0),98(4.1) undME(4.9), bringen ein eigenes MS-DOS als Basis mit, sind jedoch in gleicher Weise darauf angewiesen. ErstWindows NTund die darauf basierenden Microsoft-Betriebssysteme bauen nicht mehr auf MS-DOS auf, können dadurch allerdings DOS-Software für denIBM-PC-kompatiblen Computernur mit Einschränkungen ausführen.

DieEingabeaufforderungbei MS-DOS ähnelt der desKommandozeileninterpreterscmd.exederNT-basierenden Windowssysteme.Bis zur ergänzenden Einführung derDOS Shellin MS-DOS 4.0 war diese Eingabeaufforderung die alleinige, zentrale Benutzeroberfläche des Betriebssystems, von der aus Dateien und Geräte verwaltet sowie Dienstprogramme und Anwendungsprogramme gestartet wurden.

Entwicklungsgeschichte

[Bearbeiten|Quelltext bearbeiten]

Tim Patersons S-100-Karte mit Intel-8086-CPU

[Bearbeiten|Quelltext bearbeiten]

Die Geschichte, die letztendlich zur Entwicklung des späteren MS-DOS führte, begann bereits im Herbst 1978, als der Programmierer undHardware-EntwicklerTim Patersonbeim UnternehmenSeattle Computer Products(SCP) mit der Entwicklung einerCPU-Einsteckkartefür den damals verbreitetenS-100-Busbegann.

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 BetriebssystemCP/Mbetrieben wurden. Statt der damals in S-100-Systemen verbreiteten 8-Bit-CPUsZilog Z80,Intel 8085oderIntel 8080verwendete Paterson die neue 16-Bit-CPUIntel 8086,die erst 1978 vonIntelvorgestellt 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 einenAssemblerund einenMaschinensprachemonitor,den 8086-Monitor, entwickelt. Er trat anMicrosoftheran, um deren erst kurz zuvor fertiggestellten 8086-BASIC-Interpreterauf seiner neuen Hardware lauffähig zu machen. Noch im Juni 1979 diente auf derNational Computer ConferenceinNew Yorkein S-100-System mit Patersons Einsteckkarte Microsoft als Demonstrationssystem für das neue BASIC-86.

AlsSeattle Computer ProductsEnde 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 Researchim Sommer 1979 die 8086-Version von CP/M für Dezember 1979 in Aussicht gestellt haben soll, warCP/M-86– wie das Betriebssystem schließlich später heißen sollte – zur angekündigten Zeit noch nicht in Sicht.

AlsCP/M-86im April 1980 immer noch nicht verfügbar war, begann Paterson schließlich mit der Entwicklung eines eigenen Betriebssystems, das später zuMS-DOSwerden sollte. Unter dem NamenQDOS(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 vonCP/M,was einerseits zwar die Portierung bestehender CP/M-Programme erleichterte, andererseits aber – viele Jahre später – zu gerichtlichen Auseinandersetzungen zwischenDigital ResearchundMicrosoftführte.Seattle Computer Productsbewarb 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-Quelltextermöglichen sollte.

Beim Versionsstand 0.3 wurde QDOS im Dezember 1980 in86-DOSumbenannt.

PC DOS 1.0, MS-DOS 1.x

[Bearbeiten|Quelltext bearbeiten]
MS-DOS Version 1.12 von 1982

Zu dieser Zeit hatte Microsoft QDOS bereits lizenziert und arbeitete im Auftrag vonIBMmit Hochdruck an der Portierung der Version 0.3 auf einen frühen Prototyp desIBM PC.Das Ergebnis wurde IBM alsMicrosoft 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.[6]Was später alsPC DOS1.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 BetriebssystemCP/Min einer weiterentwickelten Version alsCP/M-86fü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 mitMicrosoft 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ähigerenDateisystemsnamensFATin MS-DOS. Dieses Dateisystem war ursprünglich in einer 8-bittigen Variante bereits 1977 von Microsoft als Dateisystem für das PaketStandalone Disk BASIC-80für einenNCR-Rechner entwickelt worden. 1979 wurde es auch ein Bestandteil vonStandalone Disk BASIC-86,als dieses auf die 8086-CPU-Einsteckkarte vonSeattle Computer Productsangepasst 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

[Bearbeiten|Quelltext bearbeiten]
MS-DOS-Disketten, Version 6.2

Um Probleme mit den neu aufkommendenFestplattenzu umgehen, integrierte Microsoft in der Version 2 Konzepte ausXenix,einemUnix-Abkömmling von Microsoft. Die übernommenen Konzepte ermöglichten hauptsächlich einhierarchisches Dateisystem– mit anderen Worten, die heute selbstverständlichenUnterverzeichnisseund damit eineVerzeichnisstruktur– und einTreiberkonzeptfür block- und zeichenorientierteGeräte.

MS-DOS 2.0 erhielt Unterstützung fürStapelverarbeitungsdatein(„Batch-Dateien “,Dateiendung.BAT): die Kontrollstrukturen konnten ursprünglich nur anhand vonGOTO-Sprunganweisungenausgeführt werden;IFundFORkamen erst mit Version 3.3 dazu.

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

Bei der Version 4 wurde im Wesentlichen die Begrenzung derFestplatten-Kapazität von rund 32 MB prologischem Laufwerkangehoben. Zur Arbeitserleichterung wurde dieDOS Shell(auch MS-DOS-Shell;wegen des DateinamensDOSSHELL.EXEoft als „DOSShell “bezeichnet) alsOberflächeeingefü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. Die Version bringt ein verbessertes Speichermanagement, mit dem es möglich ist, Teile des Betriebssystems undspeicherresidenteTSR-Programmein denUpper-Memory-Bereich,dem Speicherblock zwischen 640 kB und 1 MB, zu verlagern. Dadurch kann Anwendungen mehr Hauptspeicher, der architekturbedingt auf 640 kBkonventionellen Speicherbegrenzt ist, zur Verfügung gestellt werden. Voraussetzung dafür ist ein Rechner mit einem286er-Prozessor.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 neuerEditor(als modernen Ersatz fürEDLIN),QBasic(als Ersatz fürGW-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 istDoubleSpace(späterDriveSpace), 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 derCONFIG.SYSein Menü eingeführt, was verschiedene Konfigurationen, die vom Benutzer beim Bootvorgang ausgewählt werden können, ermöglicht.MSCDEXwird 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 grafischenProtected-Mode-BetriebssystemWindows 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 vonFAT32mit MS-DOS 7.10 (abWindows 95OSR2). MS-DOS wurde in seiner Bedeutung vor allem auf ein Hilfsmittel beim Boot-Vorgang, als Wartungsplattform und alsSkript-Interpreterreduziert.

Im Jahr 2014 wurden dieQuelltexteder Versionen 1.25 und 2.0 demComputer History Museumals Spende übergeben,[7]weiterhin 2018 unter dieMIT-Lizenzgestellt und aufGitHubveröffentlicht,[8]was sie zufreierOpen-Source-Software macht. Auch das Computer History Museum veröffentlichte diese „zum Verständnis, wie sich Software von primitiven Wurzeln zu einem entscheidenden Teil unserer Zivilisation entwickelt hat “.[9][10]

Am 25. April 2024 gab Microsoft auch den Quellcodes von MS-DOS 4.0[11]frei und stellte diese ebenfalls unter die MIT-Lizenz.[12]Diese Veröffentlichung enthält auch denMicrosoft-C-Compiler in der Version 5.10 mitsamt dessenLinkerLINK.EXE(Version 3.65) undNMAKE.EXE(Version 1.00.05), sowie der dazugehörigenC-Bibliothekund dem Microsoft-AssemblerMASM(Version 5.10) alsBinärcode.[13]

Versionsgeschichte

[Bearbeiten|Quelltext bearbeiten]

Die Entwicklung begann zwar bei Seattle Computer, wurde aber bereits mit der Umbenennung in 86-DOS durch Microsoft beeinflusst: Die Ergebnisse wurden IBM als Prototypen von PC DOS vorgestellt.

Version Veröffentlichung Anmerkungen
Ältere Version; nicht mehr unterstützt:QDOS 0.1 August 1980 erste Version für eineS-100-Bus-CPU-Einsteckkarte mit 8086-Prozessor vonSeattle Computer Products;kennt bereitsFAT
Ältere Version; nicht mehr unterstützt:QDOS 0.2 August 1980 weitgehend identisch mit Version 0.1, ergänzt um den „provisorischen “ZeileneditorEDLIN,der eigentlich nur als Übergangslösung gedacht war
Ältere Version; nicht mehr unterstützt:86-DOS 0.3 Dezember 1980 Umbenennung in 86-DOS; mit dieser Version begann Microsoft die Portierung auf den IBM PC; das Ergebnis wurde IBM als MS-DOS 1.0 zur Evaluierung angeboten; eine offizielle Version 1.0 von MS-DOS hat es nie gegeben
Ältere Version; nicht mehr unterstützt:86-DOS 1.0 April 1981 PC DOS 1.0 bereits sehr ähnlich
Ältere Version; nicht mehr unterstützt:86-DOS 1.14 Juli 1981 Microsoft kauft für 50.000 US$ alle Rechte an 86-DOS (und erhält 80.000 US$ von IBM für MS-DOS und MS-BASIC); von nun an findet die Weiterentwicklung (zunächst nur Microsoft-intern) unter dem Namen „MS-DOS “statt; die erste von Microsoft veröffentlichte Version wird erst MS-DOS 1.25 sein
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Da Microsoft das Betriebssystem an IBM lizenzierte, war das anfängliche Ziel der Entwicklung PC DOS in Version 1.0. Für die vollständige Auflistung von PC DOS siehedessen Versionsgeschichte.

Version Veröffentlichung Anmerkungen
Ältere Version; nicht mehr unterstützt:PC DOS 1.0 12. August 1981 initiale Version für den erstenIBM PC;einseitige 160-KB-Disketten; nie offiziell unter dem Namen „MS-DOS “erschienen
Ältere Version; nicht mehr unterstützt:PC DOS 1.1 Mai 1982 doppelseitige Disketten mit 320 KB; kleine Fehlerbereinigungen; entspricht MS-DOS 1.25
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Ab MS-DOS 1.25 hat Microsoft das Betriebssystem auch unter dem eigenen Namen verkauft. Das lizenzierte PC DOS entspricht ab Version 2.0 und bis Version 6 im Wesentlichen derselben Version von MS-DOS.

Version Veröffentlichung Anmerkungen
Ältere Version; nicht mehr unterstützt:MS-DOS 1.25 August 1982 erste MS-DOS-Version, die auch unter dem Namen „MS-DOS “an weitere Hersteller neben IBM verkauft wurde; entspricht PC DOS 1.1
Ältere Version; nicht mehr unterstützt:MS-DOS 2.0 März 1983 Version für denIBM PC XTmit 10-MB-Festplatte und 360-KB-Diskettenlaufwerk(e); in weiten Teilen neu geschrieben; Unterverzeichnisse; ladbare Gerätetreiber
Ältere Version; nicht mehr unterstützt:MS-DOS 2.01 Oktober 1983 OEM-VersionfürWang;erstmals werden internationale Zeichensätze unterstützt
Ältere Version; nicht mehr unterstützt:MS-DOS 2.05 OEM-Version für denDECRainbow 100;keine Unterstützung für internationale Zeichensätze
Ältere Version; nicht mehr unterstützt:MS-DOS 2.1 Oktober 1983 Version fürIBM PCjrund denIBM PC-Portable;keine Unterstützung für internationale Zeichensätze
Ältere Version; nicht mehr unterstützt:MS-DOS 2.11 Oktober 1983 Zusammenführung aller modellspezifischen 2.x-Versionen, Unterstützung internationaler Zeichensätze (entgegen der nicht erteilten Zustimmung durch IBM); hauptsächlich auf Wunsch der OEM-Partner entwickelt, wurde damit zur „MS-DOS-Schlüsselversion “; später kam ein Toshiba DOS 2.11 (1987) auf den Markt, welches 720 kB-Diskettenlaufwerke unterstützt und in manchen Laptops fest imROMeingebaut ist
Ältere Version; nicht mehr unterstützt:MS-DOS 3.0 August 1984 Version fürIBM PC/AT;HD-Disketten mit 1,2 MB; Festplatten mit bis zu 32 MB pro Partition bei maximal vier Partitionen pro Festplatte.
Ältere Version; nicht mehr unterstützt:MS-DOS 3.1 März 1985 erstmals mit Netzwerkunterstützung; Speichernutzung oberhalb 640 kB
Ältere Version; nicht mehr unterstützt:MS-DOS 3.2 Dezember 1985 Unterstützung für 3,5-Zoll-Disketten mit 720 KB
Ältere Version; nicht mehr unterstützt:MS-DOS 3.21 OEM-Version für Grid
Ältere Version; nicht mehr unterstützt:MS-DOS 4.0 1986

M/T MS-DOS 4.0 – eine spezielle Variante, die für einige OEMs entwickelt wurde. Unterstützte Multitasking. Auch als „EuropeanMS-DOS 4.0 “bezeichnet.[14]

Ältere Version; nicht mehr unterstützt:MS-DOS 3.3 April 1987 Unterstützung für IBMs neuePS/2-Baureiheund erstmals 3,5-Zoll-Disketten mit 1,44 MB
Ältere Version; nicht mehr unterstützt:MS-DOS 3.30 OEM-Version für dasCommodoreAmigaA1060 Sidecar,auch bekannt als „Bridgeboard “; 2 Disketten enthalten MS-DOS, die dritte Diskette enthält die speziellen Programme für die Bridgeboards.
Ältere Version; nicht mehr unterstützt:MS-DOS 3.31 1988 OEM-Version fürCompaq;unterstützt bereits Festplattenpartitionen mit mehr als 32 MB
Ältere Version; nicht mehr unterstützt:MS-DOS 4.0 Juli 1988 ersteMS-DOS-Shell;EMS-Speicher-Unterstützung ohne spezielle EMS-Steckkarte für i386 und höher; Festplattenpartitionen mit mehr als 32 MB; wurde wegen schwerwiegender Fehler bald wieder vom Markt genommen und durch Version 4.01 ersetzt
Ältere Version; nicht mehr unterstützt:MS-DOS 4.01 November 1988 fehlerbereinigte Version von MS-DOS 4.0
Ältere Version; nicht mehr unterstützt:MS-DOS 5.00 Juni 1991 verbessertes Speichermanagement (XMS-DOS-Extender); integrierte Befehlszeilenhilfe mit demParameter/?bei den meisten Programmen, Online-Hilfe; verbesserterDOS-EditormitQBasic-Interpreter; verbesserte MS-DOS-Shell; Undelete-Funktion; Der LinkerLINK.EXEist kein Bestandteil mehr von MS-DOS.[15][16]
Ältere Version; nicht mehr unterstützt:MS-DOS 5.00a November 1991 fehlerbereinigte Version von MS-DOS 5.00
Ältere Version; nicht mehr unterstützt:MS-DOS 6.00 März 1993 Virenschutz;Festplatten-Defragmentierung;automatisierte Speicheroptimierung; Backup; Online-Datenkomprimierung; Datenübertragung über serielle und parallele Schnittstelle; Boot-Menü für unterschiedliche Systemkonfigurationen; erstmals Unterstützung für CD-ROM-Laufwerke im Lieferumfang (generischer TreiberMSCDEX,benötigt aber zusätzlich einen Gerätetreiber); MitDELTREEgab es erstmals die Möglichkeit ein Verzeichnis mit seinen Unterverzeichnissen und Dateien zu löschen.
Ältere Version; nicht mehr unterstützt:MS-DOS 6.20 November 1993 Verbesserte Online-Datenträgerkomprimierung; automatische Korrektur von Datenträgerfehlern, dieDOS Shellund einige andere Zusätze wurden aus der Hauptinstallation entfernt und nur noch auf einer vierten Diskette mitgeliefert, die von Hand nachträglich installiert werden musste. MitSCANDISKgab es ein besseres Programm alsCHKDSKzur Reparatur von Partitionen und dem Scannen von Festplatten auf Fehlern.
Ältere Version; nicht mehr unterstützt:MS-DOS 6.21 März 1994 Online-Datenträgerkomprimierung wegen Patentverletzung auf Anweisung eines Gerichts entfernt.
Ältere Version; nicht mehr unterstützt:MS-DOS 6.22 April 1994 letzte eigenständige MS-DOS-Version; neu entwickelte Online-Datenträgerkompression.
Ältere Version; nicht mehr unterstützt:MS-DOS 7.00 September 1995 MS-DOS ist nun ein Teil des Lieferumfangs vonWindows 95und kein separat erwerbbares Betriebssystem mehr. Windows 95 verwendet DOS zwar als Unterbau, DOS ist aber nach wie vor auch ohne Windows lauffähig. Erstmalig unterstützt der DOS-Festplattentreiberlange Dateinamen (englischLong File NameoderLFN), nutzbar ist die Funktion aber nicht unter DOS, sondern nur während der Windows-Sitzung. Außerdem ist die Substitution von Variablen durch deren Inhalt nun auch innerhalb der Kommandozeile möglich.
Ältere Version; nicht mehr unterstützt:MS-DOS 7.10 August 1996 In Windows 95B bisWindows 98 „Zweite Ausgabe “(98SE, fürSecond Edition)zusätzlich mit neuem DateisystemFAT32für Partitionen über 2 GB; leistungsfähigstes MS-DOS.
Ältere Version; nicht mehr unterstützt:MS-DOS 8.00 September 2000 MS-DOS ist – laut Microsoft – integraler Bestandteil vonWindows Meund nicht mehr eigenständig lauffähig. Obwohl Windows Me keine Möglichkeit mehr bietet, nur MS-DOS zu starten, lassen sich dennoch alle erforderlichen Komponenten für ein eigenständiges DOS-Betriebssystem extrahieren.
MS-DOS 8.00 weist keinerlei nennenswerte Verbesserungen, dafür aber einige Rückentwicklungen im Vergleich zu MS-DOS 7.10 auf.
Es kommt ansonsten bei allen von Windows abXPbis inklusive10erzeugten Startdisketten zum Einsatz, welche mittels „Formatieren “– „MS-DOS-Startdiskette “erstellt werden. Dabei handelt es sich offensichtlich um einAbbild,da jeweils eine englische Version derselben Startdiskette, mit Seriennummer (englischVolume ID)2A87-6CE1,erzeugt wird.
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Probleme von MS-DOS

[Bearbeiten|Quelltext bearbeiten]

Bei der Einführung neuer Intel-Prozessoren wurde von Intel immer darauf geachtet, dass die Prozessoren beim Start in einem Modus laufen, der sich kompatibel zu einem 8088-/8086-Prozessor verhält. Dieser Modus wirdReal Modegenannt und ist bei allenx86-Prozessoreninklusive64-Bit-x86-Prozessoren enthalten (Abwärtskompatibilität).

Im Real Mode kann maximal 1MiBAdressraumverwendet werden. Durch die Aufteilung des Adressraums in normalen Speicher für das Betriebssystem inklusive der darauf laufenden Anwenderprogramme und reservierten Adressraum fürMemory Mapped I/Osowie dasBIOSsteht MS-DOS und den unter MS-DOS laufenden Applikationen ein maximaler Hauptspeicher von 640 KiB zur Verfügung. Diese Beschränkung des Arbeitsspeichers wurde im Laufe der Zeit immer mehr zu einer problematischen Hürde, die mittels einer aufwendigen Speicherverwaltung, beginnend in MS-DOS Version 4, nur teilweise aufgehoben wurde. Mittels eines Tricks, der eine undokumentierte Eigenschaft der Prozessoren ausnutzte, konnte das Betriebssystem selbst jedoch größtenteils aus dem 1-MiB-Adressraum ausgelagert werden. Auch Anwendungen konnten über spezielleAPIsSpeicher außerhalb dieses Bereichs anfordern. Diese Vorgehensweise war aber mit erheblichem Programmieraufwand verbunden und war mit manchem älteren Programm nicht kompatibel, so dass der Benutzer oft gezwungen war die Speicherkonfiguration je nach gerade verwendeter Software jeweils per Hand anders einzustellen. Dies war für Nichtexperten sehr schwer verständlich und bedeutete eine zusätzliche Fehlerquelle, besonders wennGerätetreiberundTSR-Programmezusätzlich ins Spiel kamen.

Auch die Verwaltung von immer größer werdendenFestplattenlaufwerkenführte MS-DOS immer wieder an die Grenze seiner Leistungsfähigkeit. Die maximal unterstützte Kapazität vonFestplattenpartitionenmusste mehrfach in neuen Versionen des Betriebssystems erhöht werden. Problematisch war auch das ursprünglich nur fürDiskettenentwickelteFAT-Dateisystem(FAT12). Dieses war für Disketten mit einer anfänglichen Kapazität von bis zu 360kBentwickelt worden und war für die Verwaltung großer Medien ungeeignet. Später wurde mehrfach die maximale Kapazität der Partitionen erhöht (FAT16 ab DOS 2.0, FAT16B ab DOS 3.31), und abWindows 95(MS-DOS 7.00 integriert) wurden über eigentlich ungültige Verzeichniseinträge längere Dateinamen für Windows unterstützt – diese Möglichkeit bot auch das bereits kurz zuvor auf den Markt gebrachte, nicht auf MS-DOS basierendeWindows NT3.51. Mit Windows 95B undWindows 98(MS-DOS 7.10 integriert) kam die Einführung des neuen Dateisystems FAT32, das auch Partitionen mit mehr als 2 GiB adressieren kann.

Aufgrund von Fehlern in den Programmen dieser MS-DOS-Versionen war die nutzbare Festplattengröße aber häufig auf 127,5 GiB beschränkt (viele PC-BIOSe der damaligen Zeit enthielten zudem noch niedrigere Beschränkungen), obwohl das Dateisystem bis zu 2048 GiB unterstützt.

Ein weiteres Problem stellt die Einführung neuer Funktionen dar.

DOS greift über dasInterrupt-Interface (per INT 13h[17]) auf Datenträger zu. Diese Schnittstelle wird in der Regel vom ROM-BIOS IBM-kompatibler Rechner oder von speziellen Ergänzungs-BIOSen von Zusatzkarten (d. h.SteckkartenmitBIOS-kompatible Firmware) zur Verfügung gestellt. Auf diese Weise sind die Unterschiede im Hardwarezugriff zwischenMFM-,RLL-, ESDI-,SCSI- und IDE-Festplatten/Controllern für DOS weitestgehend transparent. Heute üblicheSerial-ATA-Controller arbeiten jedoch oft standardmäßig in denAHCI- oder RAID-Modi. Da der Zugriff darauf nicht mehr über die klassische Registerschnittstelle für Festplatten-Controller im I/O-Bereich erfolgt, die standardmäßig von allen BIOSen unterstützt wird, finden manche ROM-BIOSe ohne spezielle Unterstützung für diese Modi diese nicht mehr und stellen solche Laufwerke in der Folge auch nicht mehr auf INT-13h-Ebene bereit, wodurch sie für DOS „unsichtbar “bleiben, solange keine DOS-Preboot-Treiber zur Verfügung stehen, die entweder die normale INT-13h-Schnittstelle emulieren oder die solche Laufwerke auf DOS-Blockgerätetreiberebene (via CONFIG.SYS) ins System einbinden. Oft kann man jedoch in der Konfiguration des ROM-BIOS, demBIOS-Setup,einen „IDE Legacy Mode “aktivieren, in dem solche Festplatten auf Hardware-Ebene wie klassischeIDE-Festplatten erscheinen und somit vom ROM-BIOS und DOS erkannt und dann auch problemlos benutzt werden können.

Die Grenzen des Betriebssystems wurden bis zum Ende der MS-DOS-Ära mit MS-DOS 8.00 (inWindows Meintegriert) stetig erweitert. Allerdings wurden die grundlegenden strukturellen Einschränkungen nie beseitigt, sondern aufgeschoben. Das führte beispielsweise dazu, dass unter MS-DOS große Datenträger auch heute wieder ausschließlich in Abschnitte partitioniert verwendet werden können.

Für viele heute übliche Schnittstellen wie USB und S-ATA gibt es keine direkte DOS-Unterstützung mehr. Eine Ausnahme stellen USB-Tastaturen und die meisten einfachen USB-Datenträger (externe Festplatten, externe Diskettenlaufwerke, Sticks u. Ä.) dar: Für diese ist in den meisten BIOSen nach wie vor eine Emulationsebene eingebaut, so dass sie auf einem solchen Rechner auch unter DOS verwendet werden können. Mit speziellen Treibern (welche in config.sys und autoexec.bat gestartet werden müssen) ist es jedoch auch außerhalb der Emulationsebene möglich, USB-Laufwerke anzusprechen. Beide Ausnahmen unterstützen keinHot Swapping.

Die Funktionsweise vieler Kommandos kann mitParametern(auchSchaltergenannt) beeinflusst werden, die meist mit einemSchrägstrich(„slash “) eingeleitet werden. Die Aufrufsyntax der meisten Befehle wird ab MS-DOS 5.0 ausgegeben, wenn als Parameter/?übergeben wird.

MS-DOS lässt sich in diversen Emulationsumgebungen nutzen. Anwendungsprogramme haben dabei eine recht hohe Wahrscheinlichkeit, sich bestimmungsgemäß zu verhalten. Programme, die direkte Hardware-Zugriffe benötigen, können jedoch unter echten Multitaskingsystemen wie OS/2, Windows NT oderUnixsystembedingt, je nach Umfang der Emulation, gegebenenfalls nicht oder nur sehr eingeschränkt laufen. Das ist vor allem bei Spielen der Fall.

Das BetriebssystemOS/2,das von IBM und Microsoft ursprünglich als gemeinsamer Nachfolger von DOS konzipiert worden war, verfügt über ein integriertes DOS-Modul, das der MS-DOS-Version 5 entspricht. Dieses Modul kann darin gestarteten Original-DOS-Programmen deutlich mehr Speicher zuteilen als ein eigenständiges DOS, weil das Wirtssystem OS/2 die DOS-Betriebssystemschnittstelle nachahmt (emuliert), indem es sie auf die eigenen Serviceroutinen umleitet und dabei nicht mehr an den eingeschränktenReal-Mode-Speicherbereich des Original-DOS gebunden ist. Die Grundlage des OS/2-DOS-Moduls ist der virtuelle 8086-Modus des i386-Prozessors und seiner Nachfolger. Dabei handelt es sich um einen Hardware-Service, der „nur noch “vom Betriebssystem entsprechend genutzt werden muss, um DOS-Anwendungen als Ausführungsumgebung zu dienen. Da jedes DOS-Programm auf einem eigenen virtuellen 8086-Prozessor läuft, profitieren die DOS-Programme von der Multitaskingfähigkeit, dem Speicherschutz und der erhöhten Stabilität von OS/2.

Im Gegensatz zu OS/2 sindWindows 3.xoder verwandte Systeme keine vollständigen Betriebssysteme, sondern nur ein Aufsatz für ein Original-DOS. Obwohl auch diese älteren 16-Bit-Windows-Versionen die damals neueren Prozessoren (ab dem 80286) besser ausnutzen können als das Original-DOS, emulieren sie die DOS-Schnittstelle nicht, sondern leiten die Betriebssystem-Aufrufe des DOS-Programms an das weiterhin laufende Original-DOS weiter, mit den dann unvermeidbaren Nachteilen für Speicherbedarf und Stabilität.

Windows NTund seine Nachfolger sind vollständige Betriebssysteme, die DOS-Programmen keine originale DOS-Umgebung mehr bieten. Stattdessen verfügen diese 32-Bit-Windows-Versionen über dieNTVDM(fürNT Virtual DOS Machine), eine Emulatorlösung, die vergleichbar zur Umsetzung unter OS/2 ist, da die bei dessen (anfänglich) gemeinsamer Entwicklung durch IBM und Microsoft gewonnenen Erkenntnisse beiden Unternehmen für ihre weiteren Entwicklungen zur Verfügung standen.

Die 64-Bit-Versionen vonWindows XPund dessen Nachfolger können 16-Bit-Code, und somit auch DOS-Programme, generell nicht mehr selbst ausführen. Ersatzweise kann man PC-Emulatoren wieVirtual PC,VirtualBoxoderVMwarenutzen, die keine DOS-Schnittstelle mehr emulieren, sondern einen gesamten PC mit Prozessor und Peripherie.

UnterLinuxgibt es das ProgrammDOSEMU,das DOS-Anwendungen als virtuellen 8086-Task in sehr ähnlicher Art und Weise wie unter Windows und OS/2 ausführen kann, indem es ebenfalls auf dem virtuellen 8086-Modus des i386-Prozessors basiert. Auch ganze Dateisysteme können virtualisiert werden. Bei Bedarf ist es jedoch auch möglich, der virtuell laufenden DOS-Anwendung das originale Dateisystem des Linux-Wirtssystems teilweise oder ganz zu öffnen. Ebenso können einzelne Geräte und Schnittstellen an das virtualisierte System zur Nutzung weitergereicht werden. DOSEMU emuliert nicht DOS selbst, sondern nur die Hardware-Umgebung, die ein DOS benötigt, um ablaufen zu können; daher wird noch eine Kopie von MS-DOS oder einem dazu kompatiblen DOS benötigt. Aktuelle Versionen von DOSEMU werden mit einer integrierten Version vonFreeDOSausgeliefert, so dass man auf eine MS-DOS-Lizenz oft verzichten kann.[18]

MitDOSBoxist es möglich, eine vollständige CPU vom Typ 80286 oder i386 imReal Modewie auch imProtected Modesowie den zugehörigen PC mitsamt einem teilweise zu MS-DOS kompatiblen emulierten DOS nachzubilden. Allerdings ist DOSBox und insbesondere das eingebettete DOS für die Nutzung von auf MS-DOS laufenden Spielen gedacht; es fehlen dafür nicht benötigte Features wie etwa eine Druckerunterstützung und viele seltener benutzte Kommandozeilenbefehle. Es besteht auch die Möglichkeit (wie in DOSEMU erforderlich), ein anderes DOS innerhalb von DOSBox zu starten, dann gehen aber manche Eigenschaften, wie der direkte Zugriff auf freigegebene Teile des Wirts-Dateisystems, verloren. Die Ausführungsgeschwindigkeit ist bei DOSBox im Vergleich zu einem auf der gleichen Hardware laufenden Original-Betriebssystem mehr oder weniger deutlich reduziert. Vor allem grafisch aufwendige Anwendungen werden dadurch verlangsamt, dass die nötigen Berechnungen nicht auf der Grafikkarte des Wirtssystems, sondern in seinem Hauptprozessor berechnet werden. Außerdem wird keinex86-Virtualisierung(in Hardware, z. B.AMD-V,IntelVT-xoderVIA VT) unterstützt. DOSBox ist neben Windows,macOSund Linux unter anderem auch aufBeOS,MorphOS,eComStation(OS/2) und auf der SegaDreamcastverfügbar. Da auch der Prozessor vollständig emuliert werden kann, können MS-DOS-Anwendungen innerhalb von DOSBox auch auf anderen Prozessortypen als den x86-kompatiblen ausgeführt werden, aber meist mit noch stärkerem Geschwindigkeitsverlust.

Grafische Benutzeroberflächen

[Bearbeiten|Quelltext bearbeiten]

Grafische Benutzeroberflächenfür MS-DOS sind unter anderem ältereWindows-Systeme,PC/GEOS,DOS Shell,SEALoderGEM.

Commons:MS-DOS– Sammlung von Bildern, Videos und Audiodateien
  • int 21.In:ctyme.(englisch, DOS-Programmierreferenz (INT 21h ABI)).
  • Benjamin Kunz:Special Edition Using MS-DOS 6.22 Back to the Disk.(PDF, 1 MB) In:exp-soft.de.Explora.Pc's Software;(Tutorial: Installation, Arbeiten, Fdisk und kleine Befehlsreferenz).
  • über MS/PC-DOS.In:computermuseum-muenchen.de.Wolfgang Kainz-Huber, archiviert vomOriginalam14. August 2019;.
  • MS-DOS.Die Geschichte von MS/PC DOS bei. In:winhistory.de.
  • MS-DOS 6.22 Befehlsreferenz.In:i8086.de.(Befehlsreferenz der DOS-Befehle).
  1. Tilman Wittenhorst:Aus der Betriebssystem-Gruft: Microsoft stellt DOS-Quellcode auf GitHub bereit.In:heise.de.Heise online,29. September 2018,abgerufen am 18. Oktober 2020.
  2. microsoft / MS-DOS.In:github.GitHub,abgerufen am 18. Oktober 2020(englisch, siehe unter…/Microsoft/MS-DOS).
  3. MS-DOS v1.25 and v2.0 Source Code MIT License.Copyright (c) Microsoft Corporation. All rights reserved. In:github.GitHub,abgerufen am 18. Oktober 2020(englisch, zur Lizenz ebenda).
  4. From the Archives: Bill Gates.In:PC Magazine.25. März 1997,abgerufen am 15. Mai 2024(englisch): „… to get the work that Tim Patterson had done, which at the time was called QDOS, and we hired Tim Patterson. So Tim is the creator of MS-DOS; working with some people at Microsoft he created MS-DOS version 1. “
  5. Ken Marlin:Where to buy MS-DOS 6.22 License sticker / Do We still need one for commercial use.(Internetforum) In:social.microsoft.Microsoft, 4. Februar 2016,abgerufen am 3. Mai 2022(englisch): „DOS 6.22 was only available via the Microsoft Embedded channel and it most certainly requires a license and a COA sticker. You are correct in that it went EOL on 12/31/15 and is no longer available. In fact you are prohibited from shipping any new systems with DOS 6.22 on them because the Embedded agreement that you would have signed in order to buy the product does not allow you to ship a new device with the product after the EOL date. There is no replacement. Your best option is to move to something like FreeDOS. “
  6. Detlef Borchers:30 Jahre MS-DOS.In:heise.de.heise online,27. Juli 2011,abgerufen am 29. Juli 2011.
  7. Hajo Schulz:Quelltexte von MS-DOS und Word for Windows veröffentlicht.In:heise.de.Heise online,25. März 2014,abgerufen am 25. März 2014.
  8. Rich T:Re-Open-Sourcing MS-DOS 1.25 and 2.0.In:microsoft.Microsoft Developer, 28. September 2018,abgerufen am 13. Oktober 2018(englisch).
  9. Computer History Museum Makes Historic MS-DOS and Word for Windows Source Code Available to the Public.In:computerhistory.org.Computer History Museum, 25. März 2014,abgerufen am 18. Oktober 2020(englisch, Ankündigung zur Veröffentlichung des Quelltextes).
  10. MICROSOFT RESEARCH LICENSE AGREEMENT | Microsoft DOS V1.1 and V2.0.In:computerhistory.org.Computer History Museum,abgerufen am 18. Oktober 2020(englisch, Download des Quelltextes als ZIP-Archiv).
  11. https://cloudblogs.microsoft /opensource/2024/04/25/open-sourcing-ms-dos-4-0/Open sourcing MS-DOS 4.0
  12. https://github /microsoft/MS-DOS/tree/main/v4.0/Quellcodeveröffentlichung von MS-DOS 4.0
  13. https://github /microsoft/MS-DOS/tree/main/v4.0/src/TOOLSMicrosoft C Compiler mit MASM und weiterer Tools aber ohne IDE aus der Quellcodeveröffentlichung von MS-DOS 4.0
  14. Int 21/AH=80h.European MS-DOS 4.0 - AEXEC - EXECUTE PROGRAM IN BACKGROUND. In:ctyme.Abgerufen am 18. Oktober 2020(englisch).
  15. Silly MS-DOS 5 Promo Video.The Microsoft DOS 5 Upgrade Commercial Rap (Gimme 5) – Werbeclip. In:youtube.25. Juni 2007,abgerufen am 18. Oktober 2020(englisch).
  16. "Microsoft zieht nach: MS-DOS 5.0" DOS International 10/1990 S. 12
  17. INT 13 - Diskette BIOS Services.In:stanislavs.org.Abgerufen am 28. Oktober 2015(englisch).
  18. Mike Deisher:The dosemu HOWTO.Do I need MS-DOS to use dosemu? In:sourceforge.net.Abgerufen am 18. Oktober 2020(englisch).