.. die große Unbekannte

was ist DOS
wer hat DOS entwickelt
was ist ein Betriebssystem
Zugriffsebenen
IO.SYS und MSDOS.SYS
das passiert wenn du den Startknopf drückst
Single - und Multitasking
Dosshell
Entschlüsseln der IO.SYS

Wer mit einem modernen "unabstürzbaren" Betriebssystem wie Windows XP ins multimediale Geschehen am PC eintaucht, hat mit DOS nichts mehr zu tun.  Soviel zur Theorie eines gewissen Bill Gates. Dieses Aussage wurde ihm schnell zum Verhängnis, denn es dauerte nicht lange, bis sein geliebtes XP die ersten Abstürze und Fehlermeldungen verursachte. Windows XP bringt zwar eigene starke Diagnose -und Rettungstools mit, was aber tun, wenn das Betriebssystem nicht mehr startet und die benötigte Installations-CD plötzlich ihren Dienst verweigert ? Sollte die XP-Hausapotheke nicht weiterhelfen, stolperst du über Parameter, die vielen Nostalgikern aus guten alten DOS Zeiten bekannt sind. Ist DOS also doch nicht ganz tot? 

was ist DOS

Das Disk Operating System, kurz DOS genannt,  ist oberflächlich betrachtet nichts anderes als ein simples Steuerungssystem für Laufwerke. Wer sich DOS jedoch etwas näher anschaut stellt schnell fest, dass es sehr viel mehr kann als es den Anschein hat. Und so ganz nebenbei stellt DOS , auch wenn es gerne unterschlagen wird, den Kern von Windows 95 und 98. Wer sich mit Computern und insbesondere seinen Fehlern beschäftigt, wird immer wieder über bekannte DOS Parameter stolpern. Insofern ist es nicht verkehrt, sich etwas mit dem alt- ehrwürdigen Betriebssystem zu beschäftigen, denn so schnell werden wir es, allen Widerständen zum Trotz, nicht aus der Computerwelt streichen können. 


Drehen wir die Zeit etwas zurück.... 

Wer hat DOS entwickelt


Als "Mutter" aller Betriebssysteme wird UNIX genannt. UNIX , gilt im Gegensatz zu Windows als offenes Betriebssystem, und wurde Ende der 60 Jahre von Bell Laboratories auf den Markt gebracht. Es ist ein Multi-User Betriebssystem, und dient als Plattform für weitere Betriebssysteme wie Linux. Erst als 1980 die ersten Personalcomputer auf den Markt kamen, wurde das von Microsoft entwickelte Betriebssystem DOS eingesetzt. Stopp .... Hier möchte ich noch eine Anmerkung einfügen. Es ist schon richtig das ein gewisser Bill Gates  den Auftrag erhielt für den PC ein entsprechendes Betriebssystem zu schreiben. Doch " geschrieben" hat er es gar nicht.

Die Wahrheit liegt dazwischen....Bill Gates konnte dem inzwischen verstorbenen Programmierer Gary Kildall das bereits bestehende QDOS für 75.000 Dollar abkaufen und hat es soweit umgeschrieben, dass es für IBM interessant wurde. DOS ist also keine Idee von Mr. Bill Gates !  Und auch die Behauptung das ab Windows 98 ein eigenständiges Betriebssystem entwickelt wurde stimmt nicht. Windows 98 setzte im Kern auf DOS . Dieser Kern nennt sich IO.SYS - 


Auch wenn moderne Betriebssysteme ( Windows XP) sich von DOS losgesagt haben ist es wichtig sich mit diesem Betriebssystem aus vergangenen Tagen zu beschäftigen, und das in mehrfacher Hinsicht, denn erstens lernst du mit DOS sehr viel über die Architektur eines eigenständigen OS (Operating System), und zweitens können dir fundierte Kenntnisse spätestens beim Nächsten Windows Crash sicher nicht schaden. 

Was ist ein  Betriebssystem

Um diese Frage zu beantworten "stellen wir uns erst mal ganz dumm"  und denken uns einen Computer ohne eine Oberfläche wie DOS, Windows oder Linux aus.... 
Dieser besitzt eine Vielzahl moderner Hardwarekomponenten, die alle miteinander verbunden werden müssen. Wenn sich nun alle eine individuelle Oberfläche zusammenprogrammieren, müsste  jeder Softwarehersteller theoretisch für jeden Rechner ein eigenes Programm schreiben. Und genau hier beginnt die Aufgabe des Betriebssystems. Es schafft eine einheitliche Oberfläche für viele Millionen Rechner. Dies vereinfacht auch die Aufgabe der Programmierer ! Abgesehen davon ist der Computer ohne Betriebssystem wie ein Auto ohne Motor. Nicht mal eine einfache Aufgabe wie 1 + 1 würden die teuersten Komponenten errechnen können.

Ein weiteres Beispiel für die Arbeit eines Betriebssystems sind Anwendungsprogramme. Diese werden mit Hilfe von Hochsprachen wie Pascal, C, oder C++ geschrieben. Mit dem Befehl "Datei öffnen" startest du einen bestimmten Prozess im Hintergrund, der auf vielen PCs mit unterschiedlichster Hardware laufen muss. Und das ist erst mit Hilfe eines Betriebssystems möglich. Das Betriebssystem stellt mit bestimmten Funktionen die Schnittstelle zwischen Hardware und Software, und ist z.B. auch für auch die Grafikausgabe am Monitor , oder für die Ausgabe an der parallelen oder seriellen Schnittstelle verantwortlich. 

Ein Benutzer ist aber weniger daran interessiert zu wissen, wie Daten auf einer Festplatte über den Controller angesteuert werden. Stattdessen verwendet er ein Anwendungsprogramm. Im Bild erkennst du die verschiedenen Zugriffsebenen zwischen Benutzer und Hardware. Die oberste Ebene entspricht dem Anwendungsprogramm, was der direkten Schnittstelle zum Benutzer entspricht. Die tiefste Ebene wirkt dagegen unmittelbar auf die Hardware ein. 

IO.SYS und MSDOS.SYS


DOS gliedert sich in verschiedene Ebenen. Das fundamentale DOS mit seinen Schnittstellen zur Hardware befindet sich in den Abschnitten IO.SYS und MSDOS.SYS. Die unterste Ebene ist die IO.SYS.
Hier befinden sich u.a. Programme um das BIOS anzusprechen. 

In der MSDOS.SYS liegen die für Anwendungsprogramme wichtigen Schnittstellen, z.B. die Ausgabe eines Bytes über die parallele Schnittstelle. Die COMMAND.COM bildet in DOS den Befehlsinterpreter. Was ist das nun wieder ? Dieses Programm gibt die Systemanfrage (C:>) aus, ( hast du bestimmt schon mal gesehen) nimmt entsprechende Befehle entgegen oder ruft Programme auf. 
Mit dem DIR - Befehl würde die COMMAND.COM z.B. das Inhaltsverzeichnis der Diskette oder der Festplatte ausführen. 

Entschlüsseln der IO.SYS

Buffers=30 Anzahl der Dateipuffer wird auf 30 festgelegt
dos=high, umb Teile von DOS werden in die High Memory Area geladen
FCBS=4 4 File Control Blocks für Netzwerkanwendungen festgelegt
Files=60 spezifiziert Anzahl der max. gleichzeitig zu öffnenden Dateien
himem.sys Treiber zur Verwaltung von ext. Memory
Lastdrive=Z Legt für das letzte Laufwerk die Bezeichnung z fest
Shell=COMMAN.COM /P Festlegung des Kommandointerpreters, der permanent zu laden ist
Stacks=9, 256 Festlegung von 9Stapelspeichern zu je 256 Byte


Was passiert im Rechner wenn du den Startschalter drückst :

Bevor Windows den Bildschirm schmückt, sind einige interne Prozesse notwendig. 

Als erstes wird beim Start das BIOS in den Arbeitsspeicher geladen. 
( BIOS Bildschirmanzeige)

Das BIOS sucht nun nach den Systemdateien IO.SYS (IBMBIOS.SYS) und MSDOS.SYS (IBMDOS.SYS)  Im Anschluss daran wird die CONFIG.SYS abgearbeitet und die COMMAND.COM geladen.  Die COMMAND.COM  ist übrigens auch für die Ausgabe der Fehlermeldungen zuständig. Der Vollständigkeit halber sei auch noch die AUTOEXEC.BAT erwähnt, die soweit überhaupt vorhanden, die Anweisungen für den PC enthält.  Im POST ( Power On Self Test) werden die Hardwarekomponenten aufgerufen und gecheckt. Wenn nun etwas nicht stimmt, hält das System sofort an.

Sollte alles zur Zufriedenheit abgelaufen sein erscheint nun etwas auf dem Bildschirm was dir bekannt vorkommen sollte. Ein blinkender Cursor.... C:\> - auch Systemprompt genannt- Nun wird das System an Windows übergeben. - sofern es aufgespielt wurde.

Singletasking und Multitasking - System

Du wirst dich nun vielleicht fragen warum wir überhaupt Windows benötigen wenn in DOS doch schon alles vorgegeben ist.
DOS hat 2 große Nachteile:
1 ) es handelt sich um ein Singletasking Betriebssystem
2 )  und begrenzt sich auf 640 Kbyte Größe

Singletasking bedeutet, dass nur eine Anwendung laufen kann. Mit Multitasking Betriebssystemen wie Windows lassen sich gleichzeitig mehrere Programme öffnen. Die 640 Kbyte Grenze ergibt sich kurz gesagt auf eine von PC Designern willkürlich festgelegte Speicheraufteilung. Infolge der rasanten Entwicklung wurden 640 Kbyte jedoch schnell zu wenig. 

Aufgrund des enormen Speicherhungers von Anwendungen musste man sich etwas einfallen lassen. Die Lösung sollte entweder über ein komplett neues Betriebssystem oder eine Erweiterung für DOS erreicht werden. Letzteres war mit Windows 3.1 der Fall. Mit Windows 95 und 98 wurde uns sogar ein komplett neues Betriebssystem vorgestellt. Doch bei genauerem Hinsehen wurde ein guter alter Bekannter entdeckt : die IO.SYS
Beim Systemstart werden selbst bei Win9x die IO.SYS und MSDOS.SYS ganz normal geladen, so als wenn nichts passiert wäre. Von wegen neues Betriebssystem....

Wie eng Windows 98 an DOS hängt zeigt sich im Beispiel CD - ROM Laufwerk.
Ohne Treiber-Eintrag in der config.sys und autoexec.bat ist Windows nicht in der Lage das Laufwerk anzusteuern.

Erst Jahre später , mit dem Release von Windows XP , wird DOS in den Ruhestand geschickt. Eigentlich mehr als Schade. 

DOSSHELL

was sich etwas nach Tankstelle anhört ist in Wahrheit eine grafische Benutzeroberfläche. Die Eingabe von DOS Befehlen erfolgt entweder über den Kommando Interpreter, oder eine grafische Benutzeroberfläche. (Shell = Schale - oder besser Shells , denn hierbei handelt es sich um Icons die an die Stelle komplizierter Befehle gerückt sind.) 

Die DOSSHELL sollte als Erleichterung zur Eingabe von Befehlen dienen. Sollte deshalb, weil sie ab Version 6.2 zugunsten von Windows nicht mehr ausgeliefert wurde. In älteren DOS Versionen (ab 4.0) wirst du die Oberfläche über den Befehl C:\>DOSSHELL aufrufen können. Schau es dir einmal an.

Du weißt nicht welche Version auf deinem Rechner installiert ist ? Auch kein Problem. Mit dem Befehl c:\>VER  wird dir die aktuelle Version auf deinem System angezeigt.

DOS ist ein eigenes Betriebssystem, und benötigt Windows nicht. Umgedreht sieht die Sache schon wieder ganz anders aus. Nehmen wir XP mal außen vor Vielleicht besorgst du dir im Buchhandel mal einige Lektüre zum Thema. Du wirst deinen Computer wesentlich besser verstehen lernen.

mehr zu Betreibssystemen