- MSDOS
-
MS-DOS Entwickler Microsoft (ursprünglich SCP/Tim Paterson) Version 6.22
(1994)Abstammung \ QDOS
\ PC-DOS (lizenziert für IBM)
\ MS-DOSKernel 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.
Inhaltsverzeichnis
Entwicklungsgeschichte
Tim Patersons S-100-Karte mit Intel-8086-CPU
Die Geschichte, die letztendlich zur Entwicklung des späteren MS-DOS führte, beginnt 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
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 nicht ganz sauber 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
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. Im 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 in MS-DOS namens FAT, das in der Version 1.x von IBM- und MS-DOS noch keine Unterverzeichnisse kannte. Das Dateisystem war ursprünglich bereits 1977 von Microsoft als Dateisystem für das Paket Disk-BASIC-Interpreter für einen NCR-Rechner entwickelt worden. Es war später auch ein Bestandteil von 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. Tim Paterson musste das damit bereits vorhandene FAT-Dateisystem lediglich für QDOS übernehmen.
MS-DOS 2.x und höher
In der Version 2 integrierte Microsoft Konzepte aus Xenix, um Probleme mit den neu aufkommenden Festplatten zu umgehen. Xenix ist ein 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.
Die Version 3 enthielt Erweiterungen, um über ein Netzwerk Daten von entfernten Rechnern nutzen zu können (Lan-Manager).
Bei der Version 4 wurde im wesentlichen die Begrenzung der Festplatten-Kapazität auf rund 32 MB pro logischem Laufwerk angehoben. Daneben wurden hier erstmals 3,5-Zoll-Diskettenlaufwerke vollständig unterstützt. 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. wurden 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
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 OEM-Version für Wang MS-DOS 2.05 OEM-Version für den DEC Rainbow 100 MS-DOS 2.1 Oktober 1983 Version für IBM PC Junior und den IBM PC Portable; landesspezifischer Zeichensätze MS-DOS 2.11 1983 Internationalisierung durch Einführung landesspezifischer Zeichensätze; weitgehend identisch zu MS-DOS 2.1, aber ohne den Segen von IBM 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. [1] 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 spezielle 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; Texteditor; QBasic-Interpreter; verbesserte MS-DOS-Shell MS-DOS 6.00 März 1993 Virenschutz; Rücklöschungen; 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 CDEX, 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 wurde entfernt 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 MS-DOS ist – laut Microsoft – integraler Bestandteil von Windows Me und nicht mehr eigenständig lauffähig. Obwohl Windows Me also normalerweise keine Möglichkeit mehr bietet, nur MS-DOS zu starten, lassen sich trotzdem 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 auch heute noch auf den einzigen DOS-Startdisketten zum Einsatz, die von Windows XP ohne Hilfsmittel erstellt werden können. Probleme von MS-DOS
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 aktuellen Prozessoren wie zum Beispiel dem Intel Core 2 Duo und dem AMD Athlon 64 X2 enthalten (Abwärtskompatibilität).
Im Realmode kann maximal 1 MB des Arbeitsspeichers verwendet werden. Durch die Aufteilung des Arbeitsspeichers in Speicher für das Betriebssystem und Speicher für Hardwarekomponenten sowie das BIOS steht MS-DOS und den unter MS-DOS laufenden Applikationen ein maximaler Hauptspeicher von 640 KB 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.
Auch die Verwaltung von immer größer werdenden Festplatten führte MS-DOS immer wieder an die Grenze seiner Leistungsfähigkeit. Die maximal unterstützte Kapazität von Festplattenpartitionen musste bei jeder neuen Version des Betriebssystems erhöht werden. Problematisch war auch das für Disketten entwickelte FAT-Dateisystem (FAT12). Dieses war für Disketten mit einer anfänglichen Kapazität von 360 kB entwickelt worden und war für die Verwaltung von Festplatten ungeeignet. Später wurde immer wieder die maximale Kapazität der Partitionen erhöht (FAT16), 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 GB adressieren kann. Aufgrund von Fehlern in den Programmen dieser MS-DOS-Versionen war die nutzbare Festplattengröße aber häufig auf etwa 127 GB beschränkt, obwohl das Dateisystem etwa 2048 GB unterstützt.
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 Abschnitten partitioniert verwendet werden können.
Häufige und wichtige Befehle
Interne Kommandos
Der Kommandozeileninterpreter „command.com“ versteht folgende wichtige Befehle (auch als interne Kommandos bezeichnet) – einige davon sind nicht in jeder Version von MS-DOS verfügbar:
break {on/off}
Ermöglicht eine Unterbrechung von Zugriffen auf Laufwerke mit Strg+C oder Strg+PAUSE. Wird kein Parameter angegeben, so wird die aktuelle Einstellung angezeigt. cd {verzeichnis}
bzw.
chdir {verzeichnis}
Wechselt in das angeführte Verzeichnis (engl. change directory). cd
ohne Verzeichnis zeigt das aktuelle Verzeichnis an.cd ..
Wechselt in das nächsthöhere Verzeichnis. cd \
Wechselt in das Stammverzeichnis des ausgewählten Laufwerks. chcp [Tabelle]
Lädt eine Zeichensatztabelle. Wenn Sie nur den Befehl eingeben, wird die aktuelle Tabellennummer angezeigt (z. B.: 850). cls
Leert den Bildschirm (engl. clear screen). copy {von} [nach]
Kopiert Dateien. Wird kein Ziel angegeben, so ist das aktuelle Verzeichnis das Ziel. copy con [dateiname]
Kleiner Dateieneditor, der über die Kommandozeile funktioniert. Erlaubt das Erstellen von kleineren Dateien. Tatsächlich wird die Ausgabe des Gerätes CON (Konsole), also die Eingabe über die Tastatur, auf die angegebene Datei kopiert. Damit die eingebenen Daten auch wirklich in die angegebene Datei gespeichert werden, ist die Eingabe mit ^Z (Strg+Z) abzuschließen. ctty {Gerät}
Ändert die Ein- bzw. Ausgabe auf ein anderes Gerät. CON ist die Tastatur und der Monitor als Standardgerät. date {Datum}
Ändert oder zeigt das aktuelle Datum, das vom BIOS vorgegeben wird. echo [parameter]
Befehl, der Text ausgibt, z. B. echo Text
. Der spezielle Befehlecho off
kommt oft in Batch-Dateien vor und blendet die Anzeige der verwendeten Befehle aus.del {datei}
bzw.
erase {datei}
Löscht Dateien (engl. delete). Mit DEL gelöschte Dateien können mit UNDELETE wieder hergestellt werden, sofern sie auf dem Datenträger noch nicht überschrieben wurden.
dir [/p][/w][/s][/a][/o][/b][/l][/v]
Zeigt Dateien im gegenwärtigen oder einem angegebenen Verzeichnis. Mit /p
wird nach Füllen des Bildschirmes eine Pause der Auflistung der Dateien gemacht, bis eine beliebige Taste gedrückt wird. Die Option/w
erlaubt eine Auflistung des Verzeichnisinhaltes in Spaltenform ohne Dateigröße und Datum, der Parameter/s
listet auch Dateien in Unterverzeichnissen auf. Der Parameter/a
zeigt Dateien nach Attributen an, ohne angegebene Attribute werden alle (also auch versteckte und System-)Dateien angezeigt;/o
sortiert die Dateiliste nach verschiedenen Kriterien. Mit/b
werden nur die Dateinamen einspaltig aufgelistet und mit/l
das Inhaltsverzeichnis in Kleinbuchstaben ausgegeben./v
zeigt alle möglichen Informationen an, auch Attribute und letzter Zugriff.exit
Schließt den aktuellen Befehlsinterpreter (Eingabeaufforderung) und kehrt ins aktuell laufende Programm zurück (funktioniert nur, wenn es sich nicht um den beim Start geladenen Interpreter handelt). In Windows entspricht das dem Schließen des DOS-Fensters. loadhigh
Lädt ein Programm in den hohen Speicherbereich (UMB), kann mit lh
abgekürzt werden.md {verzeichnis}
bzw.
mkdir {verzeichnis}
Erstellt ein Verzeichnis (engl. make directory). path [[=]wert]
Gibt den Wert der Umgebungsvariablen PATH
aus beziehungsweise weist ihn neu zu. DiePATH
-Variable enthält eine Liste von Verzeichnissen, in denen nach eingegebenen Befehlen (bzw. Programmen) gesucht wird, wenn diesen kein Pfad explizit vorangestellt wurde. Z. B. erlaubtPath=C:\DOS
, von jedem Verzeichnis aus Programme im Verzeichnis C:\DOS ohne vollständiger Pfadangabe aufzurufen.prompt [[=]parameter]
Befehl, um die Anzeige der Kommandozeile zu verändern. Bei frühen DOS-Versionen lautete die Standardeinstellung $n$g
(zeige nur aktuelles Laufwerk) und musste nach jedem Start des Computers mitprompt $p$g
konfiguriert werden, um die ständige Anzeige des aktuellen Unterverzeichnisses einzuschalten.rem {Kommentar}
Ermöglicht Kommentare (engl. remark) in Batch-Dateien, der Rest der Zeile wird ignoriert. rd {verzeichnis}
bzw.
rmdir {verzeichnis}
Löscht ein leeres Verzeichnis (engl. remove directory). ren {name}
bzw.
{neuer name}
rename
Umbenennung einer Datei. set [variable=wert]
Gibt die Umgebungsvariablen aus oder weist der angegebenen einen neuen Wert zu. time [Zeit]
Gibt die Systemzeit aus bzw. ändert diese. truename
Zeigt den expandierten Pfad an, also auch den ursprünglichen Pfad bei umgeleiteten Pfaden (z. B. durch Subst oder Netzlaufwerke). Truename löst auch ..
- und.
-Einträge aus dem eingegebenen Pfad auf.type {dateiname}
Gibt den Inhalt einer Datei aus. Verkettet man den Befehl mit dem Programm more
(das seine Eingabe seitenweise ausgibt), pausiert die Anzeige, wenn der Bildschirm voll ist. Der entsprechende Befehl lautettype <Dateiname> ¦ more
.ver
Ausgabe der verwendeten MS-DOS-Version. verify {on/off}
Schaltet das Überprüfen von geschriebenen Daten an (engl. on) oder aus (engl. off). Standardeinstellung ist off. Ohne Parameter wird die aktuelle Einstellung angezeigt. vol [Laufwerk]
Zeigt den Namen des angegebenen oder des aktuellen Datenträgers an. Externe Kommandos
Wird ein nicht-internes Kommando eingegeben, so durchsucht der Interpreter das aktuelle Verzeichnis und danach die in der Umgebungsvariablen PATH angegebenen Verzeichnisse nach einem Programm und führt es aus. Verhält sich dieses Programm wie ein Kommando, das heißt, macht es Ausgaben auf dem Bildschirm und beendet es sich anschließend, so bezeichnet man es auch als externes Kommando. Zu diesen externen Kommandos gehören zum Beispiel:
attrib
Setzt oder entfernt Dateiattribute (Schreibgeschützt, Versteckt, System und Archiv). Ab MS-DOS 3.3 können alle Dateien in einem Verzeichnis und dessen Unterverzeichnissen auf einmal verarbeitet werden, was das systematische Erstellen von Backups wesentlich erleichtert. Es ist das einzige mit Windows mitgelieferte Programm, das Systemattribute ändern kann. chkdsk
Prüft ein Laufwerk und zeigt eine Übersicht über dessen Belegung an. debug
Systemprogramm zur Fehlersuche deltree {verzeichnis}
Löscht ein Verzeichnis und dessen kompletten Inhalt (engl. delete directory tree). diskcopy {Quelle} [Ziel]
Kopiert eine ganze Diskette Sektor für Sektor. doskey
Hilfsprogramm, das alle während der Sitzung eingegebenen Befehle speichert. Die früheren Befehle können mit den Cursortasten angesehen, editiert und nochmals verwendet werden (sehr praktisch vor allem bei langen Befehlen). edit [dateiname]
Menügesteuerter Texteditor (ab MS-DOS 5 enthalten). fc
Dateivergleich (engl. file compare). Zeigt Unterschiede zwischen Dateien an. find
Durchsucht Texte (z. B. Textdateien oder Eingaben) nach einer Zeichenfolge. fdisk
Zur Partitionierung von Festplatten (ursprünglich abgeleitet von engl. fixed disk). Mit dem undokumentierten Schalter /mbr kann auch der Master Boot Record neu geschrieben werden. format {laufwerksbuchstabe}
Formatiert ein Laufwerk. Mit dem undokumentierten Parameter /z:[n] ist auch die Größe der Zuordnungseinheiten (Cluster) festlegbar, wobei n für die Anzahl der Sektoren pro Cluster steht, also Clustergröße=512*n help
Zeigt einen Hilfetext zu den einzelnen Befehlen an. Ab MS-DOS 6 existiert ein hypertext-orientiertes System, vorher war es eine einfache Auflistung der Befehle. keyb [parameter]
Erlaubt die Umstellung des Tastaturlayouts (engl. keyboard). Mit dem Parameter gr
kann man beispielsweise auf die deutsche Tastatur umstellen.more [dateiname]
Gibt den Inhalt der angegebenen Datei oder der Standardeingabe seitenweise aus. Bsp.: type readme.txt | more
move {von} [nach]
Verschiebt Dateien (ab MS-DOS 6). mem
Zeigt die Größe des belegten und noch freien Arbeitsspeichers im System an (engl. memory). print [dateiname]
Drucken einer Datei. sort
Gibt die Eingabe sortiert aus. tree [Verzeichnis]
Zeigt die Verzeichnisstruktur ab Verzeichnis an. Wenn man kein Verzeichnis angibt, wird ab dem aktuellen angezeigt. sys {laufwerksbuchstabe}
Installiert die DOS-Startdateien und den Befehlsinterpreter auf dem angegebenen Laufwerk, macht also das Laufwerk startfähig. (In MS-DOS 8.00 nimmt sys
nur noch C: als Ziellaufwerk an.)undelete
Stellt gelöschte Dateien wieder her, falls der von ihnen belegte Plattenplatz nicht zwischenzeitlich überschrieben wurde. Existiert nur in MS-DOS 6 und funktioniert deswegen auch nur auf FAT12- und FAT16-Dateisystemen). xcopy {von} [nach]
Weiterentwicklung des copy-Befehls mit mehr Optionen. (Die nochmalige Erweiterung xcopy32
kopiert ab MS-DOS 7 auch versteckte und Systemdateien, allerdings nur während Windows läuft.)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 (und aller hier genannten) Befehle wird ausgegeben, wenn als Parameter
/?
übergeben wird.DOS-Emulatoren
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, gegegenfalls nicht oder nur sehr eingeschränkt laufen. Das ist vor allem bei Spielen der Fall.
Das Betriebssystem OS/2, das von IBM und Microsoft als Nachfolger von DOS konzipiert war, bildet eine DOS-Schnittstelle nach, die der MS-DOS-Version 5 entspricht. Dabei kann den laufenden Programmen deutlich mehr Speicher zugeteilt werden als unter einem eigenständigen DOS, weil das Wirtssystem OS/2 wesentliche Betriebssystemfunktionen übernimmt und somit bestimmte Systemcodes und Daten vom Speicherbereich der DOS-Umgebung loslösen kann. Weiterhin profitieren die darin laufenden Programme von der Multitaskingfähigkeit, dem Speicherschutz und der erhöhten Stabilität von OS/2. Das gesamte System wird vom virtuellen 8086-Modus des i386-Prozessors getragen und ist somit ein Feature von Intel, das nur noch von der Betriebssystem-Software entsprechend genutzt, mit Inhalten gefüllt und den dafür geeigneten Anwendungen als Ausführungsumgebung dargeboten wird. Im Vergleich zu einem Windows 3.x oder verwandten Systemen, bei denen das zum Booten verwendete DOS als Vorlage für den virtuellen 8086-Modus benutzt wird (und damit teilweise massive Stabilitätsprobleme provoziert werden können), handelt es sich hier um einen losgelösten, aufgepropften Ansatz für die Ausführung von Programmen in einem DOS-System.
Unter Windows NT und Nachfolgern gibt es ebenfalls keine native DOS-Umgebung. Es existiert aber die NTVDM (NT Virtual DOS Machine), eine Lösung, die vergleichbar zur Umsetzung unter OS/2 ist. Letztgenanntes System entstand aus einer Kooperation von IBM und Microsoft, die dabei gewonnenen Erkenntnisse standen beiden Firmen für ihre weiteren Entwicklungen zur Verfügung.
Unter Linux gibt es das Programm DOSEMU, das DOS-Anwendungen als virtuellen 8086-Task unter Linux in sehr ähnlicher Art und Weise ausführen kann. Auch ganze Dateisysteme können virtualisiert werden. Bei Bedarf ist es jedoch auch möglich, Gateways zu teilen oder dem gesamten nativen Dateisystem des Gastgebers zu etablieren. Ebenso können einzelne Geräte und Schnittstellen an das eingebettete System zur Nutzung weitergereicht werden. DOSEMU emuliert nicht DOS selbst, sondern nur die Hardware-Umgebug, 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, das dann innerhalb dieser virtuellen Umgebung abläuft.
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, weswegen auch die Möglichkeit besteht (wie in DOSEMU erforderlich), ein anderes DOS innerhalb von DOSBox zu starten. Die Ausführungsgeschwindigkeit ist dabei im Vergleich zu einem nativen Programm mehr oder weniger deutlich reduziert. Vor allem grafisch aufwendige Anwendungen werden dadurch verlangsamt, dass die nötigen Berechnungen nicht auf der Grafikkarte des Hosts, sondern in seinem Hauptprozessor berechnet werden. DOSBox ist unter anderem für Windows, BeOS, Linux, Mac OS X, MorphOS, eComStation (OS/2) und auf dem 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 ausgeführt werden.
Grafische Benutzeroberflächen
Grafische Benutzeroberflächen für MS-DOS sind unter anderem ältere Microsoft-Windows-Systeme, PC/GEOS, SEAL oder GEM.
Siehe auch
Zu MS-DOS kompatible Betriebssysteme:
- DCP – „Disk Control Program“, ein in der DDR verbreiteter MS-DOS-Clone
- DR-DOS – ursprünglich von Digital Research entwickelt (von denen auch CP/M stammt), mittlerweile von DRDOS, Inc. für eingebettete Systeme vertriebenes DOS
- FreeDOS – völlig neu geschriebene, unter der GPL veröffentlichte freie DOS-Version
- PC-DOS – MS-DOS-Variante von IBM (bis Version 5.0 von Microsoft mitentwickelt)
- PTS DOS – in Russland entwickelter und dort weit verbreiteter, weitestgehend in Assembler geschriebener DOS-Clone
Weblinks
- Microsoft Deutschland
- Geschichte von MS-DOS im Computermuseum München (sehr detailliert, mit vielen Bildschirmfotos)
- Einführung in MS-DOS
- MS-DOS Back to the Disk (Tutorial: Installation, Arbeiten, Fdisk und kleine Befehlsreferenz) (PDF, 1 MB)
- i8086.de – MS-DOS 6.22-Befehlsreferenz
- MS-DOS 7-Befehlsreferenz
- DOS-Programmierreferenz (Int 0x21 ABI)
- ↑ interrupt list: „European MS-DOS 4.0 int 21h ah=80h“
Wikimedia Foundation.