MS-DOS

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
MS-DOS
MS-DOS Logo
Bildschirmfoto
Bildschirmkopie
Startbildschirm von MS-DOS 6.22
Basisdaten
Entwickler Microsoft (ursprünglich SCP/Tim Paterson)
Aktuelle Version 6.22
(1994)
Abstammung QDOS/86-DOS
↳ PC-DOS (lizenziert für IBM)
↳ MS-DOS
Kernel monolithisch (Assembler)
Chronik QDOS/86-DOS bis 1.14
PC-DOS 1.0
PC-DOS 1.1/MS-DOS 1.25
MS-DOS bis 6.22
MS-DOS 7.0 bis 8.0 (mit Windows)
Architekturen IBM PC (x86 ab 8086/8088)
Lizenz proprietär
Website nicht mehr verfügbar (www.microsoft.com)

MS-DOS, kurz für Microsoft Disk Operating System, ist Microsofts erstes Betriebssystem für x86-PCs.

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

Heute wird MS-DOS, das immer wieder erweitert wurde (u. a. durch grafische Benutzeroberflächen), für zeitkritische Anwendungen, Startmedien (Boot-Disketten) oder für Anwendungen, die direkten Zugriff auf die Hardware erfordern, vor allem in Embedded Systems eingesetzt.

Die früheren Windows-Versionen 1.0 bis 3.11, 95 (4.0), 98 (4.1) und ME (4.9) waren von DOS abhängig. Windows NT und die darauf basierenden Microsoft-Betriebssysteme bauen nicht mehr auf MS-DOS auf und können DOS-Software nicht mehr oder nur noch eingeschränkt ausführen. Hier kommen seitdem verstärkt Emulatoren zum Einsatz.

Die Eingabeaufforderung bei MS-DOS ähnelt der des Kommandozeileninterpreters Cmd.exe der NT-basierenden Windowssysteme, ist aber davon völlig unabhängig.

Entwicklungsgeschichte[Bearbeiten]

Tim Patersons S-100-Karte mit Intel-8086-CPU[Bearbeiten]

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 bei der Firma Seattle Computer Products 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 Prototypen 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 ein S-100-System mit Patersons Einsteckkarte Microsoft als Demonstrationssystem für das neue BASIC-86 auf der National Computer Conference in New York.

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[Bearbeiten]

Hauptartikel: 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-Quellcode ermöglichen sollte.

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

PC-DOS 1.0, MS-DOS 1.x[Bearbeiten]

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 Prototypen 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.[1] 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 in MS-DOS namens FAT, das in der Version 1.x von IBM- und MS-DOS noch keine Unterverzeichnisse kannte. Das FAT-Dateisystem war ursprünglich in einer 8-bittigen 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 Bit 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]

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 und ein Treiberkonzept für block- und zeichenorientierte Geräte. MS-DOS 2.0 ist die bisher einzige DOS-Version, deren Quellcode durch Microsoft der Öffentlichkeit zur Verfügung gestellt worden ist.[2]

Die Version 3 enthielt Erweiterungen, um über ein Netzwerk Daten von entfernten Rechnern nutzen zu können (Lan-Manager).

Mit der Version 3.2 wurden 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 auf rund 32 MB pro logischem Laufwerk angehoben. Zur Arbeitserleichterung wurde die MS-DOS-Shell (umgangssprachlich wegen des Dateinamens DOSSHELL.EXE als „Dosshell“ bezeichnet) als Oberfläche eingeführt.

Mit der Version 5 versuchte man den knappen Hauptspeicher, der architekturbedingt auf 640 kB begrenzt war, durch die Einführung von HMA („High Memory Area“) und UMA („Upper Memory Area“) etwas zu erweitern. Ab dieser Version wurde EMS und XMS-Speicher für Prozessoren ab dem i386 direkt unterstützt. Auch die maximale Größe von logischen Laufwerken wurde auf 2 GB erhöht. Ansonsten enthielt die Version hauptsächlich Erleichterungen bei der Benutzerführung. Dazu gehörten etwa eine erweiterte MS-DOS-Shell, ein neuer Editor 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 höchstens noch 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.

Die Veröffentlichung von weiteren Versionen (7, 8) erfolgte nur noch in Kombination (Bundle) mit dem grafischen Protected-Mode-Betriebssystem Microsoft Windows. 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.

Versionsgeschichte[Bearbeiten]

Version Datum Beschreibung / Änderungen
QDOS 0.1 August 1980 erste Version für eine S-100-Bus-CPU-Einsteckkarte mit 8086-Prozessor von Seattle Computer Products; kennt bereits FAT
QDOS 0.2 August 1980 weitgehend identisch mit Version 0.1, ergänzt um den „provisorischen“ Zeileneditor EDLIN, der eigentlich nur als Übergangslösung gedacht war
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
86-DOS 1.0 April 1981 PC-DOS 1.0 bereits sehr ähnlich
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
PC-DOS 1.0 12. August 1981 initiale Version für den ersten IBM PC; einseitige 160-KB-Disketten; nie offiziell unter dem Namen „MS-DOS“ erschienen
PC-DOS 1.1 Mai 1982 doppelseitige Disketten mit 360 KB; kleine Fehlerbereinigungen; entspricht MS-DOS 1.25
MS-DOS 1.25 August 1982 erste MS-DOS-Version, die auch unter dem Namen „MS-DOS“ verkauft wurde; entspricht PC-DOS 1.1
MS-DOS 2.0 März 1983 Version für den IBM PC XT mit 10-MB-Festplatte; in weiten Teilen neu geschrieben; Unterverzeichnisse; ladbare Gerätetreiber
MS-DOS 2.01 Oktober 1983 OEM-Version für Wang; erstmals werden internationale Zeichensätze unterstützt
MS-DOS 2.05 OEM-Version für den DEC Rainbow 100; keine Unterstützung für internationale Zeichensätze
MS-DOS 2.1 Oktober 1983 Version für IBM PC Junior und den IBM PC Portable; keine Unterstützung für internationale Zeichensätze
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 im ROM eingebaut ist
MS-DOS 3.0 August 1984 Version für IBM PC AT; HD-Disketten mit 1,2 MB; Festplatten mit bis zu 32 MB pro Partition bei maximal vier Partitionen pro Festplatte.
MS-DOS 3.1 März 1985 erstmals mit Netzwerkunterstützung; Speichernutzung oberhalb 640 KB
MS-DOS 3.2 Dezember 1985  3,5-Zoll-Disketten mit 720 KB
MS-DOS 3.21 OEM-Version für Grid
European MS-DOS 4.0 Eine spezielle Variante, die für Siemens entwickelt wurde. Unterstützte Pseudo-Multitasking.[3]
MS-DOS 3.3 April 1987 Unterstützung für IBMs neue PS/2-Baureihe; 3,5-Zoll-Disketten mit 1,44 MB
MS-DOS 3.30 OEM-Version für Amiga Commodore Bridgeboards, 2 Disketten enthalten MS-DOS, die dritte Diskette enthält die speziellen Programme für die Bridgeboards
MS-DOS 3.31 1988 OEM-Version für Compaq; unterstützt bereits Festplattenpartitionen mit mehr als 32 MB
MS-DOS 4.0 Juli 1988 erste MS-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
MS-DOS 4.01 November 1988 fehlerbereinigte Version von MS-DOS 4.0
MS-DOS 5.00 Juni 1991 verbessertes Speichermanagement (XMS-DOS-Extender); Online-Hilfe; verbesserter DOS-Editor mit QBasic-Interpreter; verbesserte MS-DOS-Shell; Undelete-Funktion[4]
MS-DOS 5.00a 1991 fehlerbereinigte Version von MS-DOS 5.00
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 Treiber MSCDEX, benötigt aber zusätzlich einen Gerätetreiber)
MS-DOS 6.20 November 1993 Verbesserte Online-Datenträgerkomprimierung; automatische Korrektur von Datenträgerfehlern, die DOS Shell und einige andere Zusätze wurden aus der Hauptinstallation entfernt und nur noch auf der einer vierten Diskette mitgeliefert, die von Hand nachträglich installiert werden musste
MS-DOS 6.21 März 1994 Online-Datenträgerkomprimierung wegen Patentverletzung auf Anweisung eines Gerichts entfernt
MS-DOS 6.22 April 1994 letzte eigenständige MS-DOS-Version; Festplattenoptimierung; neu entwickelte Online-Datenträgerkompression
MS-DOS 7.00 September 1995 MS-DOS ist nun ein Teil des Lieferumfangs von Windows 95 und kein separat erwerbbares Betriebssystem mehr. Windows 95 verwendet DOS zwar als Unterbau, DOS ist aber nach wie vor auch ohne Windows lauffähig. Neu ist auch die Unterstützung langer Dateinamen (englisch Long File Name oder LFN), die aber von Microsoft nur bereitgestellt wurde, während Windows läuft.
MS-DOS 7.10 1996 In Windows 95B bis Windows 98 SE zusätzlich mit neuem Dateisystem FAT32 für Partitionen über 2 GB; leistungsfähigstes MS-DOS.
MS-DOS 8.00 Ende 1999 - Anfang 2000 MS-DOS ist – laut Microsoft – integraler Bestandteil von Windows Me und 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 ab XP bis inklusive 8 erzeugten Startdisketten zum Einsatz, welche mittels „Formatieren“ – „MS-DOS-Startdiskette“ erstellt werden. Dabei handelt es sich offensichtlich um ein Abbild, da jeweils eine englische Version derselben Startdiskette, mit Seriennummer (englisch Volume ID) 2A87-6CE1, erzeugt wird.

Probleme von MS-DOS[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 wird Real Mode genannt und ist auch noch bei Prozessoren wie zum Beispiel dem Core i7/i5/i3 und dem AMD FX/Phenom II/Athlon II enthalten (Abwärtskompatibilität).

Im Real Mode kann maximal 1 MiB Adressraum verwendet werden. Durch die Aufteilung des Adressraums in normalen Speicher für das Betriebssystem / die Anwenderprogramme und reservierten Adressraum für Memory Mapped I/O sowie das BIOS steht 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 größtenteils aus dem 1-MiB-Adressraum ausgelagert werden; auch Anwendungen konnten über spezielle APIs Speicher außerhalb dieses Bereichs anfordern; dies war aber mit erheblichem Programmieraufwand verbunden, war nicht kompatibel mit manchem älteren Programm (so dass der Benutzer oft gezwungen war, die Speicherkonfiguration je nach gerade verwendeter Software jeweils per Hand anders einzustellen), war für nicht-Experten sehr schwer verständlich und bedeutete eine zusätzliche Fehlerquelle, besonders wenn Gerätetreiber und TSR-Programme zusätzlich ins Spiel kamen.

Auch die Verwaltung von immer größer werdenden Festplattenlaufwerken führte MS-DOS immer wieder an die Grenze seiner Leistungsfähigkeit. Die maximal unterstützte Kapazität von Festplattenpartitionen musste mehrfach in neuen Versionen des Betriebssystems erhöht werden. Problematisch war auch das ursprünglich nur für Disketten entwickelte FAT-Dateisystem (FAT12). Dieses war für Disketten mit einer anfänglichen Kapazität von bis zu 360 kB entwickelt 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 ab Windows 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 basierende Windows NT 3.51. Mit Windows 95B und Windows 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, obwohl das Dateisystem bis zu 2048 GiB unterstützt.

Der folgende Absatz ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.
Kein INT-13-Interface bei AHCI-Controllern? --92.224.136.84 15:19, 13. Jul. 2010 (CEST)

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

DOS greift über das INT 13[5]-Interface auf Datenträger zu. Diese Schnittstelle wird in der Regel vom ROM-BIOS IBM-kompatibler Rechner oder von speziellen Ergänzungs-BIOSen von Zusatzkarten zur Verfügung gestellt. Auf diese Weise sind die Unterschiede im Hardwarezugriff zwischen MFM-, RLL-, ESDI-, SCSI- und IDE-Festplatten/Controllern für DOS weitestgehend transparent. Heute übliche Serial-ATA-Controller arbeiten jedoch oft standardmäßig in den AHCI- 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 13-Ebene bereit, wodurch sie für DOS „unsichtbar“ bleiben, solange keine DOS-Preboot-Treiber zur Verfügung stehen, die entweder die normale INT 13-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-BIOSes einen „IDE Legacy Mode“ aktivieren, in dem solche Festplatten auf Hardware-Ebene wie klassische IDE-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 (in Windows Me integriert) 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 gar keine DOS-Unterstützung mehr. Solche Geräte können unter DOS nicht verwendet werden. 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 kein Hot Swapping.

Befehlssatz[Bearbeiten]

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

DOS-Emulatoren[Bearbeiten]

MS-DOS lässt sich auch 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 oder Linux systembedingt, je nach Umfang der Emulation, gegebenenfalls nicht oder nur sehr eingeschränkt laufen. Das ist vor allem bei Spielen der Fall.

Das Betriebssystem OS/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änkten Real-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 sind Windows 3.x oder 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 NT und seine Nachfolger sind vollständige Betriebssysteme, die DOS-Programmen keine originale DOS-Umgebung mehr bieten. Stattdessen verfügen diese 32-Bit-Windows-Versionen über die NTVDM (NT 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 Firmen für ihre weiteren Entwicklungen zur Verfügung standen.

Die 64-Bit-Versionen von Windows XP und dessen Nachfolger können 16-Bit-Code, und somit auch DOS-Programme, generell nicht mehr selbst ausführen. Ersatzweise kann man Hardware-Emulatoren wie VMWare nutzen, die keine DOS-Schnittstelle mehr emulieren, sondern einen gesamten PC mit Prozessor und Peripherie.

Unter Linux gibt es das Programm DOSEMU, 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 von FreeDOS ausgeliefert, so dass man auf eine MS-DOS-Lizenz oft verzichten kann.[6]

Mit DOSBox ist es möglich, eine vollständige CPU vom Typ 80286 oder i386 im Real Mode wie auch im Protected Mode sowie 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 werden weder Pacifica noch Vanderpool unterstützt. DOSBox ist unter anderem für Windows, BeOS, Linux, Mac OS X, MorphOS, eComStation (OS/2) und auf der Sega Dreamcast verfü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]

Grafische Benutzeroberflächen für MS-DOS sind unter anderem ältere Microsoft-Windows-Systeme, PC/GEOS, DOS Shell, SEAL oder GEM.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. vbr: 30 Jahre MS-DOS. In: heise online. Heise Medien Gruppe, 27. Juli 2011, abgerufen am 29. Juli 2011.
  2. Heise online: Quelltexte von MS-DOS und Word for Windows veröffentlicht, 25. März 2014. Abgerufen am 25. März 2014
  3. interrupt list: „European MS-DOS 4.0 int 21h ah=80h“
  4. http://www.youtube.com/watch?v=JwrlNwOQ9wA The Microsoft DOS 5 Upgrade Commercial Rap (Gimme 5) – Werbeclip
  5. INT 13 in der englischsprachigen Wikipedia
  6. http://dosemu.sourceforge.net/docs/HOWTO/t1.html#AEN42