Um 1980 gab es nur ein verbreitetes Betriebssystem für Mikrocomputer. CP/M, das Gary Kildall (Computervisionär und späterer Gründer von Digital Research) bereits seit 1974 entwickelt und ab 1976 kommerziell vermarktete. CP/M lief auf 8-Bit Mikroprozessoren wie dem Intel 8080 (z.B. ALTAIR, IMSAI) und später auf den Z80 CPU’s der Fa. Zilog (z.B. Osborne, Kaypro). Auch für so verbreitete Homecomputer wie dem CPC von Amstrad oder dem C128 von Commodore, die Mitte der 80iger Jahre auf den Markt kamen und über einen Z80-Prozessor verfügten, gab es Anpassungen von CP/M. Microsoft, 1980 eine kleine Firma mit ca. 40 Angestellten, hatte bereits 1975 die Programmiersprache Basic für den Minicomputerbausatz Altair der Firma MITS entworfen und später auch Compiler für Fortran und Cobol entwickelt. Die Firma vertrieb zwar seit 1979 eine von AT&T lizensierte UNIX-Variante namens XENIX (angepasst an 16 Bit Mikrocomputer), hatte aber ansonsten kein eigenentwickeltes Betriebssystem im Programm. Mit der Einführung des 8086 von Intel stand seit 1978 ein 16-Bit-Prozessor zur Verfügung (die erste CPU einer langen x86 Linie). Doch dieser (wie andere 16-Bit CPU’s, z.B. von Motorola oder TI) fristete ein “Mauerblümchendasein”. In den ersten Homecomputern, die in der Zeit zwischen 1975 und 1980 auf den Markt kamen, wurden praktisch nur 8-Bit CPU’s wie der Intel 8080, der MOS 6502 oder der Zilog Z80 verbaut.
Tim Paterson
Tim Paterson, ein Allround-Genie bei der US-Firma Seattle Computer Products (SCP), entwickelte bereits 1979 ein 8086-CPU-Board für den S-100 Bus (Altair, IMSAI, Northstar…) und auch einen 8086-Assembler. Das Paket kostete damals 600 US-Dollar. Auch Microsoft’s Basic wurde auf diese Hardware umgesetzt – mit Patersons Hilfe. Doch Paterson’s Board verkaufte sich nicht besonders gut. Im gleichen Jahr fing Digital Research an, mit CP/M 86 sein 8-Bit-Betriebsystem für dieses Board bzw. den Intel 8086 anzupassen. Weil sich die Fertigstellung dieser 16-Bit CP/M Version ständig verzögerte, entwickelte Paterson bei SCP auch noch ein eigenes 16-Bit-Betriebssystem mit dem Namen QDOS, das später in 86-DOS umgetauft wurde. Vorgenannte Umstände bilden die Grundlage für die nachfolgende Geschichte, die in mehreren Varianten erzählt wird. Unsere Buch- und Internet-Recherchen haben folgenden Ablauf ergeben:
IBM plant den PC
IBM plante 1980 auch in das Geschäft mit PC’s bzw. mit Homecomputern einzusteigen. Mehrere Quellen behaupten, das ein IBM Manager zu dieser Zeit privaten Kontakt mit Bill Gates Mutter Mary hatte. Das könnte die Erklärung dafür sein, das man im IBM Management zum Entschluß kam, mit Bill Gates einen der vielen “jungen Wilden” über die Ausstattungsmerkmale eines modernen IBM PC’s zu befragen. Bill Gates schlug IBM vor, mit dem Intel 8086 eine leistungsfähige 16Bit CPU zu verwenden und sich damit einen technologischen Vorsprung gegenüber den vielen 8-Bit-Mitbewerbern auf dem heißumkämpften PC-Markt zu verschaffen. Microsoft könnte bereits ein angepasstes ROM Basic dafür liefern, zudem Compiler für andere Sprachen wie Fortran, Pascal und Cobol. Aber IBM wollte ein echtes Betriebssystem für ihren PC, und das gab es zu diesem Zeitpunkt für 16-Bit CPU’s noch nicht. Zum Betrieb unter Unix (Xenix) war der Intel 8086 aufgrund mangelnder Power und der fehlenden Trennung von User- und Kernel-Mode nicht geeignet. Zeit zu einer völligen Neuentwicklung hatte IBM nicht, die selbst gesetzten zeitlichen Fristen waren zu knapp dafür. Microsoft mit der Entwicklung zu beauftragen war IBM zu riskant, denn der jungen Firma fehlte jegliche Erfahrung mit der Konzeption eines modernen PC-Betriebsystems. Auch Bill Gates selbst empfahl IBM, doch mit Digital Research Kontakt aufzunehmen, dem damaligen Marktführer für Mikrocomputer-Betriebssysteme. DR hätte mit dem in der Entwicklung befindlichen CP/M 86 kurzfristig ein brauchbares 16-Bit Diskettenbetriebssystem anbieten können. Über die Gründe, warum keine Übereinkunft zwischen IBM und DR zustande kam, gibt es viele Gerüchte. Die am öftesten erzählte Version (Legende?) besagt, das Gary Kildall (CEO von Digital Research) sich mit seinem Privatflugzeug vergnügte und seiner (durchaus kompetenten) Frau Dorothy McEwen die Verhandlungen überließ. Geschäftliche Verhandlungen mit einer Frau dürften zur damaligen Zeit eine ziemliche Zumutung für die extra angereisten IBM Manager gewesen sein. Mit Sicherheit war auch das von IBM geforderte ‘Non Disclosure Agreement’ (Stillschweigeabkommen) ein Problem bei den Verhandlungen. Wie auch immer es gelaufen sein mag, man kam jedenfalls zu keiner Einigung. IBM wendete sich daher wieder an Microsoft. Unter ‘www.archive.org’ findet sich ein Film über das Leben von Gary Kildall. Suchen Sie einfach nach dem Begriff ‘Gary Kildall’. Darin werden Mitarbeiter Gary Kildall’s u.a. auch zu den Verhandlungen mit IBM befragt.
IBM nimmt Microsoft ins Boot
86-DOS 1.0, Kommandozeile
Nachdem der Ball nun wieder bei Microsoft lag, erinnerte sich Bill Gates wieder daran, das Tim Paterson für die Hardwarefirma SCP (siehe oben) ein 8086 Board für den S-100 Bus und ein eigenes Betriebssystem namens QDOS (Quick and Dirty Operating System) entwickelt hatte. Unter dem Druck, den Auftrag von IBM zu erhalten, setzte Gates sich mit SCP in Verbindung und bot ihnen die Vermarktung von QDOS an. Mit diesem Vertrag (er kostete MS ca. 10.000 US$) und dem für den 8086 entwickelten Betriebssystem im Koffer ging Gates zu IBM und bekam am 6. November 1980 tatsächlich den Auftrag von IBM. Ende des Jahres erhielt Microsoft den ersten IBM-Prototypen – allerdings jetzt mit dem billigeren 8088-Prozessor (16-Bit-Datenbus intern, extern jedoch nur 8 Bit) – und begann unter Zeitdruck und strengsten Sicherheitsauflagen von IBM, Patersons 86-DOS (so hiess QDOS jetzt) an die IBM-Hardware anzupassen. Dies war offensichtlich nicht ganz einfach, denn 1981 wechselte Paterson von SCP zu Microsoft, um dem MS-Entwicklern bei der Portierung zu helfen. Erst kurz vor der Auslieferung des IBM PC’s, also ca. Juli 1981, kaufte Microsoft SCP die kompletten Rechte an 86-DOS für 50.000 US-Dollar ab. SCP und auch Paterson wussten zu diesem Zeitpunkt immer noch nicht, für welchen potenten Kunden MS das neue Betriebsystem brauchte. Und auch nicht, welch vorteilhaften Vertrag Microsoft mit IBM geschlossen hatte. Dieser beinhaltete u.a., das Microsoft an jeder Kopie des Betriebssystems mitverdienen sollte, das mit einem IBM-PC ausgeliefert werden würde. Ausserdem behielt Microsoft sich das Recht vor, sein DOS auch an andere Firmen zu linzensieren. Das IBM diese Bedingungen akzeptiert hat, kann nur damit erklärt werden, das man dem eigenen Produkt keine großen Marktchancen einräumte. Im Nachhinein betrachtet jedenfalls ist dieser Vertrag ein intelligenter, durchdachter und cleverer Schachzug von Bill Gates gewesen und begründet maßgeblich den heutigen Erfolg des Unternehmens. Bei aller Kritik, die aufgrund der umstrittenen Geschäftspraktiken in den folgenden Jahrzehnten über Microsoft und Bill Gates hereinprasselte: das unternehmerische Risiko, das der junge Microsoft-Boss damals auf sich genommen hat, ist enorm. Bill Gates muß damals klar gewesen sein: wenn er bei der Erstellung von DOS scheitert, könnte die übermächtige IBM die kleine, aber florierende Firma Microsoft mit Gerichtsprozessen überziehen. Vermutlich hätte Microsoft danach nie wieder einen Fuß auf den Boden gebracht. Paterson hat in einigen Interviews klargestellt (u.a. Forbes), das sein 86-DOS nur durch Microsoft zu dem wurde, was es heute ist. Seattle Computer Products sei eine Hardware-Firma gewesen und kein Softwarehersteller. Von daher hätte es Sinn gemacht und wäre zum damaligen Zeitpunkt auch kein schlechtes Geschäft gewesen, 86-DOS für nur 50.000 US-Dollar an Microsoft zu verkaufen. Mit dem 86er-Board sowie dem zugehörigen QDOS war die Jahre zuvor kein Geld zu verdienen gewesen. Auch wehrt sich Paterson gegen die Vorwürfe, bei der Erstellung von 86-DOS CP/M 2.2 als Vorlage benutzt zu haben. In seiner Publikation “The Origins of DOS” behauptet er, das 86-DOS nur auf Befehlsebene CP/M ähnelt, nicht aber im Code. Vor allem die Dateisysteme seien sehr unterschiedlich.
Zu dieser Thematik existierte im Internet auf der Unternehmensseite von Tim Paterson (patersontech.com, nicht mehr aufrufbar) eine Beschreibung der Vorgänge. Jeder Softwareentwickler, der schon mal fremden Binärcode disassembliert hat, weiß, das es sehr schwierig ist, in komplexem und noch dazu undokumentiertem Assembler-Quellcode die Zusammenhänge zu verstehen. Auch, weil man sich dazu in die “Denke” eines anderen Programmierers versetzen muß. Was noch viel mehr dagegen spricht, das Paterson irgendwas kopiert hat, ist seine mehrfach bewiesene Programmierbegabung. Selbst wenn man ihm unterstellen könnte, das er einige Grundstrukturen von CP/M übernommen hat, ein primitives “Kopieren” von ganzen Codeteilen hätte der Mann doch gar nicht nötig gehabt. Immerhin hat Paterson mit FAT12 ein neues Dateisystem für QDOS entwickelt. Die damaligen Anschuldigungen waren vielleicht auch nur ein (verzweifelter) Versuch von Digital Research, am Erfolg von DOS doch noch zu partizipieren. Spätestens in den Jahren 1983/1984, als der Verkaufserfolg des IBM PC (in Kombination mit IBM/Microsoft DOS) feststand, muss dem genialen Softwareentwickler Gary Kildall sein gigantischer kaufmännischer Fehler ja klargeworden sein. Die Grafik unten stammt von der Webseite der “University of Cambridge” und soll den DOS-Stammbaum darstellen. Die Grafik soll nicht weiter kommentiert, dem interessierten Leser aber auch nicht vorenthalten werden.
PC-DOS 1.0
Diese erste Version kam im August 1981 zusammen mit dem IBM PC auf den Markt (s.a. Die Geschichte des IBM-PC). Es war weitgehend kompatibel zu CP/M und identisch zu 86-DOS 1.14 von Seattle Computer Products. Lediglich das DOS-Dateisystem FAT12 war grundlegend neu und wird unter Windows, Linux und Apple auch heute noch für Disketten verwendet. DOS 1.0 bestand aus 4000 Zeilen reinem Assembler-Code und lief daher in einer Umgebung von nur 12 Kbyte (!). Einige fundamentale Programme, wie diskcopy, debug, edlin und format gibt es heute noch. Disketten im 5 1/4″-Format konnten bei DOS 1.0 nur einseitig mit 160 KBytes beschrieben werden. Es verstand 22 Befehle. Um die Kompatibilität zum 8-Bit-Standard-CP/M zu gewährleisten wurden (u.a.) Dateinamen auf 8+3 Zeichen beschränkt und Laufwerke wurden mit Buchstaben bezeichnet (z.B. “A:”). Das Geniale daran war für Microsoft und IBM: bereits kurz nach der Einführung von DOS wurden jede Menge “Killer-Applications” (z.B. die CP/M Programme VisiCalc, Wordstar, dBase) dafür umgesetzt. Warum war die Umsetzungen in so kurzer Zeit möglich? Ganz einfach: der Portierungsaufwand für die Hersteller von CP/M Software auf PC-DOS war aufgrund weitgehender Kompatibilität des Quellcodes gering. Zudem entwickelte Microsoft parallel auch für CP/M 86 einen Assembler und mehrere Compiler für die wichtigsten Programmiersprachen, da war eine fundierte (und vermutlich kostenlose) Beratung der umsetzungswilligen Softwareproduzenten leicht. Umgekehrt galt das übrigens nicht: spezielle für DOS entwickelte Programme (z.B. das spätere Lotus 1-2-3) konnten nicht so leicht auf CP/M 86 portiert werden.Von Microsoft war in dieser Hinsicht natürlich keine Unterstützung zu erwarten!
Übersicht
Entwicklung: Seattle Computer Products, Microsoft, IBM (COMP, DISKCOMP, DISKCOPY, MODE)
Auslieferungsmedium: 1 x 160 KiB, einseitig
Größe COMMAND.COM: 4.959 KiB
Diskettenunterstützung: 160 KiB, einseitig
Batch-Dateien (.BAT) und AUTOEXEC.BAT
Interne Kommandos: COPY, DIR, ERASE, PAUSE, REM, RENAME, TYPE
Externe Kommandos: CHKDSK, COMP, DATE, DEBUG, DISKCOMP, DISKCOPY, EDLIN, FORMAT, LINK, MODE, SYS, TIME, nur PC-DOS: BASIC and BASICA
Gerätebezeichnungen: AUX, COM1, CON, LPT1, NUL, PRN
Programmausführung: COMMAND.COM
Da bei “dir” noch kein “/w” Parameter zur mehrspaltigen Verzeichnisanzeige verfügbar ist, wurde die Darstellung des Disketteninhalts auf zwei Bildschirme verteilt. Auf der Diskette befinden sich 40 Dateien (inclusive der beiden unsichtbaren Systemdateien “ibmbio.com” und “ibmdos.com”). Von den 38 mit “dir” angezeigten Dateien sind nur 13 ausführbare Befehlsdateien in Form von (“com” und “exe”). Dazu kommt die Programmiersprache Basic (zwei Dateien, “basic.com” und “basica.com”). Dieses Basic läuft übrigens nur auf einem originalen IBM PC, denn es benötigt zusätzlich das im ROM des PC gespeicherte Basic. Auf vielen Clones stürzt es daher sang- und klanglos ab. Zudem sind 23 “bas”-Dateien auf der Diskette, alles Programmierbeispiele für das Basic. Zumindest auf der uns vorliegenden US-Version von DOS 1.0 existiert keine “autoexec.bat”, denn der US-Tastaturtreiber ist automatisch aktiv. Internationale Tastaturtreiber sind noch nicht enthalten.
Nur ein primitives Speichermanagement wurde implementiert, genauer gesagt von CP/M übernommen: die Betriebssystem-Funktion “exec” ermittelt vor dem Laden einer “com”-Datei die erste verfügbare Speicheradresse, also die nächste freie Speicheradresse über dem resistenten Teil des “command.com”. Danach werden die folgenden 256 Bytes für den sogenannten PSP (Program Segment Prefix) reserviert. Das PSP wird nur vom Betriebssystem genutzt und beinhaltet Informationen zum laufenden Programm. Nachfolgend lädt “exec” die eigentliche Programmdatei an die erste Speicheradresse direkt nach dem PSP-Bereich, legt eine Rücksprungadresse auf den Stack, initialisiert die CPU-Register und führt das Programm aus. Einen “Header” wie später bei den “exe”-Programmen gibt es bei den “com”-Programmen nicht, das erste Byte der “com” -Datei ist bereits Programmcode. Da Speicherallokierung noch nicht möglich ist, kann/muss ein “com”-Programm logischerweise sämtlichen im System verfügbaren Speicher benutzen, der aber durch den 8-Bit Datenbus auf nur 64K begrenzt ist. Bei ‘com’-Programmen müssen also Programmcode und Datenspeicher innerhalb eines 64KB-Segments Platz finden. Diese Einschränkung haben die später von Microsoft eingeführten “exe” Programme nicht, sie können auch mehrere 64KB Speicherblöcke nutzen.
Von DOS 1.0 gab es noch eine interne Version 1.05. Diese wurde notwendig aufgrund eines mathematischen Fehlers, aber niemals offiziell von IBM herausgegeben.
PC-DOS 1.1
Die Nachfolgeversion PC-DOS 1.1 (identisch zu 86-DOS 1.24) erschien im Mai 1982 und war hauptsächlich fehlerbereinigt. Es gab aber auch neue Funktionen wie die Unterstützung doppelseitiger Disketten mit 320KBytes und einige Befehlserweiterungen. Die OEM-Version 1.25 (weitgehend identisch mit PC-DOS 1.1) wurde von Microsoft u.a. für die Firmen Zenith Data Systems (wurde bei Zenith auch als Z-DOS bezeichnet) und Sirius hergestellt. Abweichend von PC-DOS lieferte Microsoft bei den OEM-Versionen i.d.R. sein GW-BASIC dazu. MS-DOS 1.25 war die erste Version, die nicht als PC-DOS, sondern durch Microsoft auch als MS-DOS vermarktet wurde und auf anderer Hardware als der von IBM lief. 1982 konnte Microsoft sein DOS bereits an über 50 Firmen lizensieren.
Übersicht
Entwicklung: Seattle Computer Products, Microsoft
Auslieferungsmedium: 1 x 160 KiB, einseitig
Größe COMMAND.COM: 4.959 KiB
Diskettenunterstützung: 320 KiB, doppelseitig
Batch-Dateien (.BAT) und AUTOEXEC.BAT
Neue interne Kommandos: DATE, DEL, REN, TIME
Neue externe Kommandos: EXE2BIN
PC/MS-DOS war zu diesem Zeitpunkt – wie auch CP/M – im Grunde nur als Betriebssystem für Disketten-basierte Systeme zu gebrauchen, denn die – heute selbstverständliche – Unterstützung von Verzeichnissen fehlte noch. Die Organisation einer Harddisk mit mehreren darauf installierten Programme war schon aufgrund dieser fehlenden Ordnungsmöglichkeit nicht unproblematisch.
PC-DOS 2.0
(März 1983) Die zweite Version von MS/PC-DOS wurde vollkommen neu geschrieben, nur wenige Bestandteile aus 86-DOS übernahmen die Entwickler auch in die neue Version. Da IBM im neuen PC-Modell 5160 (XT) eine 10 MB Festplatte einsetzen wollte, bot sich Microsoft die Gelegenheit, sich endgültig vom Konkurrenten CP/M abzusetzen. Zur besseren Organisation dieser Festplatte entwickelte man ein UNIX-ähnliches hierarchisches Dateisystem in DOS 2.0. Das Pfadtrennzeichen Backslash (“\”) war geboren, Befehle wie “mkdir”, “rmdir” und “chdir” (oder kurz “cd”) wurden implementiert. Den MS Programmierern blieb eigentlich nur das bis “\” Zeichen. Das per Tastatur leichter erreichbare “/” Zeichen (Slash), das in Unix/Xenix als Verzeichnistrenner verwendet wird, ist bei CP/M und in der Folge auch bei DOS 1.x zur Argumentübergabe an Programme reserviert. Der einfache Punkt (wie bei den DEC Betriebssystemen) wird für die Trennung von Dateiname und Dateierweiterungen benötigt. Microsoft erkannte das nachhaltige Problem mit diesem problematischen Zeichen, aber IBM wollte die Abwärts-Kompatibilität zu DOS 1.x nicht aufgeben. So wurde der auf der Tastatur nur über 2 Tasten erreichbare (ALT GR + ?) und daher bis heute ungeliebte Backslash eingeführt. Obwohl sich z.B. Windows XP gar nicht mehr soviel aus dieser Regel macht: gehen Sie auf START->Ausführen und geben Sie mal “notepad c:/config.sys” ein. Der gleiche Test hätte unter den DOS basierten Systemen nicht funktioniert. Diese Betriebssysteme hätten alle nach einer Datei “/config.sys” gesucht. Trotzdem kann auch bei XP der Backslash nicht als Teil eines Verzeichnis- oder Dateinamens verwendet werden, eindeutig eine DOS-Altlast. Auch auf die Laufwerksbuchstaben (A:, B:, C: u.s.w.) hätte man bei der Entwicklung von DOS 2.0 zugunsten von “Volume:”- Bezeichnungen (wie bei Unix oder VMS) gerne verzichtet, aber das war aus Kompatibiltätsgründen zu DOS 1.x ebenfalls nicht mehr möglich.
Erlaubte Sonderzeichen in DOS für Datei- und Verzeichnisnamen: ~ ! @ # $ % ^ & ( ) _ – { }
Nicht erlaubte Sonderzeichen in DOS für Datei- und Verzeichnisnamen: */ + | \ = ? [ ] ; : ” . < > ,
Neu waren auch die installierbaren Gerätetreiber, die in einer Startdatei namens “config.sys” installiert werden konnten. Bis zu diesem Zeitpunkt befand sich der Code zum Ansprechen von Hardware ausschließlich im BIOS. Zudem baute Microsoft auf Wunsch von IBM das Drucken im Hintergrund ein. Auch werden jetzt einseitige Disketten mit 180 KiB und doppelseitige im 360 KBytes Format unterstützt. Für PC-DOS 2.0 gab es bereits erste speicherresidente Programme, das bekannteste war wohl Sidekick von Borland. Durch die Einführung des hierarchischen Dateiensystems und den damit verbundenen Möglichkeiten zur Festplattenorganisation besass PC/MS-DOS 2.0 erstmals ein Feature, das der Konkurrent Digital Research mit seinem CP/M in der Form nicht bieten konnte.
Zudem kam 1983 Lotus mit seiner Tabellenkalkulation 1-2-3 auf dem Markt. Diese extrem leistungsfähige Tabellenkalkulation mit seinem modernen Bedienkonzept in Form einer einfachen Menüstruktur sowie Makros, Datenbank-Funktionen und Online-Hilfe erschien nur in einer Version für DOS, nicht für CP/M. Für viele Anwender ein k.o.-Kriterium für CP/M und eine erleichterte Kaufentscheidung für MS/PC-DOS. Spezielle OEM-Version von 1-2-3 gab es für die DOS-basierten, aber hardwaremäßig abweichenden Wang Computer und DEC Rainbow 100.
PC-DOS 2.1
Ein ganz spezielles Release in Form von PC-DOS 2.1 wurde für den IBM PC jr. notwendig. Bei dem von Microsoft an OEM’s gelieferten MS-DOS 2.11 wurde die Internationalisierung des Betriebssystems (landesspezifische Zeichensätze) eingeführt, der IBM nicht zugestimmt hatte. Aber MS verkaufte MS-DOS 2.11 – auch ohne IBM’s Zustimmung – als speziell angefertigte Versionen an Firmen wie z.B. Compaq, Tandon, NEC, Olivetti und Zenith, welche landesspezifische Anpassungen forderten. Das war der genau der Clou im Vertrag zwischen Microsoft und IBM, das IBM Lieferungen an Clone-Hersteller nicht verhindern konnte.
Mit der Version 2.1x gelang Microsoft übrigens erstmals ein stabiles und wenig absturzgefährdetes Release. So wurde DOS 2.1x für lange Zeit die Standard-Version für viele OEM’s. Erst mit der Version 3.1 wurden die OEM-Lieferungen übrigens wieder zu 100 Prozent kompatibel zur IBM-Version. Für welche Hersteller die relativ unbekannte OEM-Version 2.25 hergestellt wurde konnte wir bisher nicht feststellen (evtl. für Sirius ?).
Übersicht
Entwicklung: Microsoft
Auslieferungsmedium: 2 x 180KiB, einseitig
Größe COMMAND.COM: 17.792 KiB
Diskettenunterstützung: einseitig 160/180 KiB, 320/360 KiB, doppelseitig
Festplatten Partitionen: max. 16 MiB / Partition (FAT12)
Konfiguration: CONFIG.SYS (COUNTRY, nur MS-DOS)
Neue externe Kommandos: FC
Um die Akzeptanz von DOS weiter zu steigern, produzierte IBM Software, die unter DOS und dem PC bzw. lief bzw. liess sie produzieren (z.B. die Assistant-Reihe). Microsoft entwickelte Programmiersprachen und auch Standard-Programme. Viele erfolgreiche Programme für CP/M konnten die Hersteller relativ leicht auf DOS umsetzen (dBase, Wordstar, Multiplan). Neben vielen Büchern kamen auch Lernprogramme für DOS auf den Markt, u.a. auch von IBM selbst:
Nachfolgend ein paar Bildschirmfotos vom legendären Lernprogramm “Professor DOS” der Firma NCR, ebenfalls ein DOS-Lizenznehmer:
Jetzt reagierte auch Digital Research. Man erkannte den Verlust der Marktführerschaft bei PC-Betriebssystemen und prozessierte bis Mitte der 80er Jahre gegen IBM/Microsoft wegen Copyright-Verletzung. DR konnte identische Codeteile in CP/M sowie den ersten Versionen von MS/PC-DOS nachweisen. Angeblich hat IBM, nachdem sich im Verhandlungsverlauf der Verdacht erhärtete, das MS ihnen evtl. einen “Clone” verkauft hatte, immerhin 800000 US$ an DR überwiesen. Trotz einiger Beweise hatte DR vor Gericht keinen Erfolg. MS/PC-DOS unterschied sich nach Meinung der Richter doch zu weit von CP/M, um illegal zu sein.
PC/MS-DOS 3.0
Die Version 3.0 kam im August 1984 zusammen mit dem IBM AT 5170. Es erfolgte die letzte wirklich große Neugestaltung des Kernels, der so weitgehend auch in den nachfolgenden DOS-Versionen erhalten bleiben sollte. DOS 3.0 verfügte bereits über rudimentäre Netzwerkfähigkeiten (File Sharing/Locking), die jedoch zunächst nur vom IBM-Netzwerk-Adapter unterstützt wurden. Das BIOS enthielt nun Funktionen für eine batteriegepufferte Echtzeituhr (RTC). Man beachte: bereits seit MS-DOS 1.0 gab es den TimeStamp mit Jahrtausend-Byte. Die unterstützte Diskettenkapazität stieg auf 1.2 MByte. Die Einführung von FAT16 für Festplatten wurde notwendig, um mehr Zuordnungseinheiten (statt 4087 bei FAT12 nun max. 65526) zu ermöglichen. Bei einer Sektorgröße von 512 Bytes steigt somit die Größe der Festplattenpartitionen auf 32 MiB und die Sektoren können gleichzeitig klein gehalten werden, um nicht unnötig Speicherplatz zu verschwenden.
Der Programmcode zum Laden und Ausführen eines Programm befindet sich nun im DOS-Kernel. Die Summe dieser Modifikationen bewirkte eine Vergrößerung des Kernels von 24 KiB auf jetzt stattliche 36 KiB. Trotzdem konnte DOS 3.0 die Fähigkeiten der 80286 CPU nicht vollständig nutzen, denn eine Unterstützung des mit dieser 16-Bit CPU eingeführten “Protected Mode” war nicht implementiert. Somit konnte auch der in diesem Betriebsmodus maximal adressierbare Speicher von 16 MiB weiterhin nicht genutzt werden.
Das Erscheinen von DOS 3.0 bedeutete nicht das sofortige Ende von DOS 2.1x. Die Version 2.1x wurde weiterhin verkauft, da sich auf einem PC/XT die Vorteile der Version 3.0 nicht positiv bemerkbar machten. Eher das Gegenteil war der Fall, da der Befehlsinterpreter command.com der Version 3.0 mehr konventionelles RAM verbrauchte, das Programmen somit nicht mehr zur Verfügung stand. Eine Rückkehr zu DOS 2.x war übrigens problematisch, wenn die Festplatte eines XT’s mal mit DOS 3.x formatiert war. DOS 2.x kennt nur das Dateisystem FAT12 und kann mit den FAT16 Dateieinträgen von DOS 3.x nichts anfangen.
Diese Version erscheint im November 1984 und enthält eine erweiterte Unterstützung von Netzwerken und Netzwerkkarten. Ein Update von der Version 3.0 konnte für einen begrenzten Zeitraum für 30US$ von IBM bezogen werden. Die DOS-Version 3.1 war die erste ausgereifte DOS-Version mit einer stabilen und vollständigen API (implementiert über INT 21h usw.).
Diese Version erscheint im April 1986 und unterstützte 3,5″ Laufwerke mit 720 KBytes Kapazität. Mit dieser Version gab es erstmals ein OEM-Paket (Handbücher, Datenträger, Lizenz) in Form von MS-DOS 3.21 von Microsoft selbst, das Clone-Hersteller wie Commodore und Atari mit ihren neuen PC’s ausliefern konnten. Dafür musste MS einige Befehle (mode, fdisk) neu programmieren, da sie von IBM stammten.
Diese Version erscheint im April 1987 und enthält Erweiterungen, die für die IBM PS/2 Linie notwendig wurden. Folglich unterstützte diese Version jetzt auch 1.44MB Disketten im 3.5″ Formfaktor. Die Extendet Partitions werden eingeführt, um die bisher vorhandene Begrenzung auf vier primäre Partitionen einer Festplatte aufzuheben. Compaq lieferte die mit eigenen Utilities (z.B. zur Verwaltung größerer Festplatten bis 512 MiB) aufgepeppte Version 3.31 aus. Übrigens, ein vollständiges MS/PC-DOS – natürlich ohne irgendwelche OEM-Erweiterungen – fand bis zur Version 3.3 auf einer einzigen Installationsdiskette mit 360K Platz.
Zu IBM PC-DOS 3.3 gab es ein separates Technisches Referenz Handbuch. Eine ähnliche separate Beschreibung der Programmierschnittstellen gab es direkt vom Hersteller für DOS 1.x und 2.x noch nicht. Dafür waren die Handbücher dieser Versionen umfassender, z.T. waren darin ähnliche Informationen wie in dieser “spezialisierten” Technischen Referenz enthalten. Programmierer jedenfalls finden darin hilfreiche Kapitel über Gerätetreiber, Bildschirm- und Tastaturkontrolle, DOS Interrupts sowie über Disketten- und Datei-Management.
Bemerkung: ab ungefähr 1988 kann man von einer Dominanz von MS/PC-DOS im PC-Betriebssystem-Markt sprechen. Viele Hard- und Softwarehersteller richteten Ihre Produkte ausschliesslich auf Lauffähigkeit unter IBM Hardware bzw. MS/PC-DOS bzw. aus.
PC/MS-DOS 4.0
PC-DOS 4.0 (Juli 1988) brachte die neue DOS-Shell (eine mausbedienbare, grafische Anwenderschnittstelle), EGA- und VGA-Unterstützung und Partitionen mit mehr als 32 MByte. Zudem wurde DOS mit dem Programm SELECT erstmals mit einer Installtionsroutine ausgestattet. Aufgrund einiger Fehler musste bald die Version 4.01 nachgeschoben werden.
Übersicht
Entwicklung: Microsoft, IBM
Größe COMMAND.COM: 37.254 KiB
Auslieferungsmedium: 6 x 360 KiB oder 2 x 3.5″ 720 KiB
Diskettenunterstützung: 5.25″ 160/180 KiB einseitig, 320/360/1200 KiB, doppelseitig – 3.5″ 720/1440 KiB doppelseitig
Festplatten Partitionen: max. 2 GiB / Partition (FAT16B)
Konfiguration: CONFIG.SYS (COMMENT, CPSW, IFS, INSTALL, MULTITRACK, REM, SWITCHES)
Gerätetreiber: SMARTDRV.SYS (MS-DOS), XMA2EMS.SYS, XMAEM.SYS (PC-DOS)
Neue interne Kommandos: TRUENAME
Neue externe Kommandos: FILESYS, IFSFUNC, MEM
Kommando(s) Änderungen/Erweiterungen: FORMAT (/F Diskettenkapazität)
Bereits 1988 entwickelte Digital Research einen ersten DOS-Clone. DR-DOS 3.31 war noch nicht sehr erfolgreich. Ab 1989 jedoch kam mit der Version DR-DOS 3.41 ein echter Konkurrent für Microsoft’s DOS 4.0 auf den Markt. DR-DOS enthielt einige Features, die es von Funktionalität her MS/PC-DOS sogar überlegen machte. DR-DOS 3.41 konnte zwar keine DOS-Shell anbieten, war aber praktisch 100%ig kompatibel, unterstützte Festplattenpartitionen >32 MB und kannte bereits erweiterte Steueranweisung für die “Config.sys”. Zudem gab es verzeichnisübergreifende Befehle wie “xdir” und “xdel” und – nicht ganz unwichtig – es war billiger. Viele OEM Hersteller (auch viele europäische wie Vobis und Escom) boten nun mit ihren Computern alternativ auch DR-DOS an. Der Zeitpunkt der Einführung von DR-DOS markiert den Beginn eines mehrere Jahre dauernden und teilweise schmutzig geführten Konkurrenzkampfes zwischen den jeweiligen DR- und MS/PC-DOS Versionen. Besonders die Fachzeitschriften liebten die Vergleiche zwischen den beiden Betriebssystemen. Etwa mit Erscheinen von Windows 95 sollte der Wettbewerb langsam zugunsten von Microsoft enden, den das darunterliegende DOS spielte bei dieser Windows-Version nicht mehr die große Rolle wie bei den Windows 2.x und 3.x Versionen.
Digital Research kam MS beim Versionssprung auf 5 zuvor, denn DR-DOS 5.0 erschien bereits 1990, vor PC/MS-DOS 5.0. Die Version 4 ließ DR einfach aus. Wie schon bei der Vorgängerversion achtete man bei DR auch dieses Mal darauf, neben 100%iger Kompatibilität ein paar Features einzubauen die Microsoft nicht hatte. Um zur DOS-Shell eine äquivalentes Softwareteil anbieten zu können, wurde der Dateimanager “ViewMax” mit einer stark an GEM erinnernden grafischem GUI entwickelt.
PC/MS-DOS 5.0
Im Juli 1991 wurde dann auch DOS 5.0 ausgeliefert, nach einer der längsten Beta-Test Phasen, die es bisher bei DOS gegeben hatte. Von Beginn der Entwicklung bis zur Auslieferung fast 3 Jahre ! Ein Grund für diese lange Zeitspanne war, das MS mit 7000 Beta-Testern den in der Branche bislang größten Praxistest einer Software durchführte. DOS konnte nun erweiterten Speicher oberhalb 1MB in Form von XMS– (Extended), EMS– (Expanded) ansprechen und auch sogenannten HMA-Speicher. Viele der neueren Computer – vor allem ab der AT-Klasse – wurden bereits mit mehr als 640KB Speicher ausgeliefert. DOS 5.0 konnte jetzt auch in den bisher ungenutzten Bereich zwischen 640KB und 1024KB Gerätetreiber und speicherresistente Programme auslagern, um den wichtigen Speicher unter 640KB für Programme freizuhalten. Das alte GW-Basic wurde durch ein moderneres QBasic ersetzt, eine um den Compiler abgespeckte Version des erfolgreichen MS Quick Basic. Viele neue Befehle (z.B. setver, undelete, doskey, himem, help) werden eingeführt. 2.88MB Diskettenlaufwerke werden ünterstützt. Die MS-DOS Shell wurde verbessert. MS-DOS 5.0 wurde erstmalig nicht nur über OEM’s vertrieben, sondern auch über den Fachhandel und direkt von Microsoft selbst. Es war auch das erste DOS, das MS selbständig und nicht mehr in Zusammenarbeit mit IBM entwickelte (s.a. Die Installation von MS/PC-DOS).
Übersicht
Entwicklung: Microsoft
Auslieferungsmedium: 5 x 360 KiB oder 3 x 3.5″ 720 KiB oder 2 x 1.2 MiB
Größe COMMAND.COM: 47.987 KiB
Diskettenunterstützung: 5.25″ 160/180 KiB einseitig, 320/360/1200 KiB, doppelseitig – 3.5″ 720/1440/2880 KiB doppelseitig
Festplatten Partitionen: max. 2 GiB / Partition (FAT16B)
Konfiguration: CONFIG.SYS (EMM386.EXE, HIMEM.SYS, SETVER.EXE, DEVICEHIGH, DOS)
Gerätetreiber: SMARTDRV.SYS (MS-DOS), XMA2EMS.SYS, XMAEM.SYS (PC-DOS)
Umgebungsvariablen: TEMP
Neue interne Kommandos: TRUENAME
Neue externe Kommandos: EDIT, DOSKEY, EDIT, EMM386, HELP, LOADFIX, MIRROR, QBASIC, SETVER, UNDELETE, UNFORMAT
Wegfall externe Kommandos: FILESYS, GWBASIC, IFSFUNC, LINK, SELECT
Kommando(s) Änderungen/Erweiterungen: FORMAT (Quickformat auch bei unformatierten Disketten), FIND (unterscheidet Groß-/Kleinschreibung)
DOS 5.0 war auch die erste DOS-Version, für die – zumindest von Microsoft – eine separate Update-Version erhältlich war. Eine installierte Vorgängerversion war notwendig, um das Update einspielen zu können. Bis zu diesem Zeitpunkt ein Novum in der Geschichte der PC-Betriebssysteme.
Wir werden manchmal auf den Unterschied zwischen PC-DOS und MS-DOS angesprochen. Eigentlich gibt es keinen, jedenfalls bis zur Version 5. Programme, die für bzw. auf dem einen DOS entwickelt wurden, liefen auch auf dem anderen uneingeschränkt. Diese Aussage gilt allerdings nur für Microsoft und IBM, denn einige Computerhersteller gaben sich mit dem jeweiligen Technologiestand von DOS nicht zufrieden. Das am anspruchvollsten modifizierte und erweiterte DOS in dieser Zeitspanne war Compaq DOS 3.31. Auch Tandon modifizierte DOS massiv, als es die selbstentwickelten DataPac’s (Wechselplatten) einführte. Nach der Version 5 drifteten MS- und PC-DOS langsam auseinander. IBM begann ab diesem Zeitpunkt übrigens auch, sein mittlerweile selbst weiterentwickeltes PC-DOS – in Konkurrenz zu Microsoft – direkt an andere Computerhersteller zu vermarkten.
Novell DOS 7.x
Digital Research wird 1991 vom zu dieser Zeit sehr erfolgreichen Netzwerkspezialisten Novell übernommen. Diese entwickelten DR-DOS rasch weiter. 1992 erschien Novell DR-DOS 6.0 (Netware Lite-Support, DOS-Task-Switcher), ein Jahr später das netzwerkfähige Novell DOS 7. Es besaß die grundlegende Fähigkeit, mehrere Programme zu starten und zwischen ihnen hin- und herzuschalten (Task-Switching). Beide Versionen wiesen einen hohen Technologievorsprung gegenüber der aktuellen DOS Version auf. Trotzdem konnten sich DR-DOS keine höheren Marktanteile mehr erkämpfen, denn zum Einen hatte das Windows-Zeitalter endgültig begonnen, zum Anderen war speziell die Version 7 sehr fehlerbehaftet. Novell brachte später auch Versionen auf den Markt, die mit der “Lite”- Version ihrer Netzwerksoftware gekoppelt war und somit als Betriebssystem für kleinere P2P-Netzwerke verwendet werden konnte. 1993 verkaufte Novell alle Rechte an DR-DOS an die Firma Caldera, welches die Version 7.01 bereits als ‘OpenDOS’ weiter vermarktete. Für Privatanwender war es sogar kostenlos.
Die nächste Version erschien im März 1993 und brachte Datenkomprimierung (DoubleSpace). Zudem die Möglichkeit von Menüs in config.sys und Batchdateien, um verschiedene Konfigurationen zu ermöglichen. Zudem ist ein Virensuchprogramm (MS-AntiVirus) , eine Backup-Software (MS-Backup) sowie memmaker für die automatische Speicheroptimierung enthalten. Man munkelt, das Microsoft den Versionssprung auf 6 nur wegen der Konkurrenz (DR DOS war bereits auf 6) gemacht hat. Die Versionsnummern 5.1 oder 5.5 wäre aufgrund der geringen Änderungen angebrachter gewesen. Trotzdem, innerhalb der ersten 40 Tage nach dem Erscheinen werden 1 Million Stück der Version 6 in Form von Updates und Neuverkäufen abgesetzt. Immerhin liegen dieser Version nun Treiber (MSCDEX) bei, um CD-ROM Laufwerke zu unterstützen, ein von Central Point Software lizensierter Virenscanner (MSAV) sowie ein ebenfalls zugekauftes Programm zur Defragmentierung der Festplatte (DEFRAG).
IBM brachte im Juni 1993 eine eigenständige Version von DOS auf den Markt. Allerdings ohne DoubleSpace und die Microsoft Programme MS-AntiVirus und MS-Backup. Dafür linzensierte man Programme von Central Point Software (Backup, Scheduler) und gab ein IBM eigenes AntiVirus-Programm dazu. Zudem wurde PCMCIA unterstützt. Da IBM eigene Tablet-Computer (ThinkPad 710T) anbot, war in Form von PenDOS eine entsprechende Unterstützung vorhanden.
Übersicht
Entwicklung: IBM
Auslieferungsmedium: 4 x 3.5″ 1.44MiB
Diskettenunterstützung: 5.25″ 160/180 KiB einseitig, 320/360/1200 KiB, doppelseitig – 3.5″ 720/1440/2880 KiB doppelseitig
Festplatten Partitionen: max. 2 GiB / Partition (FAT16B)
Neue externe Kommandos: DATAMON, E, QCONFIG
Wegfall externe Kommandos: BASIC, BASICA, MIRROR, MSD ersetzt durch QCONFIG, EDIT ersetzt durch E
Bemerkung: keine DOS Version mit einer Null hinter dem Versionspunkt war 100%ig stabil. Auf 1.0 folgte schnell 1.1, auch das – für den IBM XT völlig neu geschriebene – DOS 2.0 hatte nur eine kurze Lebensdauer und wurde durch 2.1x ersetzt, das dann aber eine große Verbreitung finden sollte. Auf die Version 3.0 – die zusammen mit dem IBM AT erschien – folgten 3.1, 3.2 und dann die sehr beliebte und ausgesprochen stabile Version 3.3. DOS 4.0 wurde durch die fehlerbereinigte Version 4.01 ersetzt, bei 5.0 reichte eine kleine Fehlerbereinigung in Form eines 5.0a. Die letzte offizielle Microsoft Version 6.0 musste wegen des fehlerhaften DoubleSpace durch 6.2 ersetzt werden.
MS-DOS 6.2
Die Versionsnummer 6.1 ließ Microsoft wohl aus, um zumindest numerisch die Konkurrenz (DR, IBM) zu überholen. MS-DOS 6.2 enthielt immer noch (DoubleSpace) zur Datenkomprimierung, welches aber nach einem Rechtsstreit mit Stacker Electronics bei der Version 6.21 entfernt werden mußte. Das veraltete Kommandozeilen-Tool CHKDSK zum Überprüfen von Datenträgern ist zwar noch vorhanden, wird aber durch SCANDISK ersetzt. Die letzte MS-DOS Version 6.22 wurde im Juni 1994 herausgegeben, jetzt mit eigener Datenkomprimierung. Damit die Benutzer der Versionen 6.0 bis 6.21 ebenfalls zu einer (legalen) Datenkomprimierung kamen, gab Microsoft ein sogenanntes 6.22 Step-Up heraus.
Nach der Übernahme von Digital Research durch Novell wurde das DR-DOS zur Version 7.0 weiterentwickelt (Novell DOS 7, Multitasking-fähig) und bis 1997 unter diesem Label vertrieben.
1994 erschien von der russischen Firma PhysTechSoft mit PTS-DOS 6.42 eine interessante DOS Variante. Komplett in Assembler geschrieben war es voll kompatibel, sehr schnell, sehr stabil und erreichte in etwa den Leistungsumfang von DOS 6.22. PTS-DOS ist bis heute als PTS-DOS 2000 erhältlich, sogar als 32-Bit Version. MS-DOS stirbt einen langsamen Tod, denn auch in den Windows Versionen 95 (DOS 7.x), 98, 98SE und ME (alle DOS 8.x) ist es in vielen Bereichen von Windows-Systemen immer noch vorhanden. Selbst die Recovery Console von Windows 2000, einem reinen 32-Bit System, basiert noch auf MS-DOS. MS-DOS 7.1 ist Bestandteil von Windows 95 und die letzte Version von Microsoft, die sich mit ein paar Tricks aus Windows 95 zu einem vollständigen Betriebssystem extrahieren lässt. Wegen der Unterstützung von FAT32 Partitionen findet sie vereinzelt noch Anwendung. Es gibt sie als (halblegale) CD-Installation mit vielen Tools, u.a. mit sehr gutem MP3-Player, einem Picture Viewer und grafischen Dateimanager. IBM (PC DOS 2000) und viele kleine Softwarehersteller wie z.B. Caldera haben noch weiterentwickelte Y2K- und eurofeste Versionen dieses Betriebssystems im Programm.
Copyright @ 2004-2025 Wolfgang Kainz-Huber
Der Autor hat zwar im Rahmen seiner Möglichkeiten sorgfältig recherchiert,
kann aber keine Verantwortung für die Richtigkeit der Angaben übernehmen. Quellen:
Die Microsoft Story, Daniel Ichbiah, ISBN 3-593-34806-3
Die Microsoft Akte, Wendy Goldmann Rohm, ISBN 3-612-26672-1
Webseitenbetreiber müssen, um Ihre Webseiten DSGVO konform zu publizieren, ihre Besucher auf die Verwendung von Cookies hinweisen und darüber informieren, dass bei weiterem Besuch der Webseite von der Einwilligung des Nutzers
in die Verwendung von Cookies ausgegangen wird.
Der eingeblendete Hinweis Banner dient dieser Informationspflicht.
Sie können das Setzen von Cookies in Ihren Browser Einstellungen allgemein oder für bestimmte Webseiten verhindern.
Eine Anleitung zum Blockieren von Cookies finden Sie
hier.