Systemvergleich zwischen Unix und MS - DOS läßt klaren Trend erkennen:Revision von MS - DOS gefährdet Marktposition

20.03.1987

*Gert Wittfeld ist Leiter Support Großkunden bei der NCR GmbH, Augsburg.

Unix oder (MS-)DOS? Nicht müde scheinen die Streiter beider Lager zu werden, die Existenzberechtigung des jeweils anderen anzuzweifeln, und dabei tatsächliche wie vermeintliche Vorteile der Gegenseite auf das eigene Konto zu verbuchen. Gert Wittfeld* vergleicht in seinem Beitrag beide Betriebssysteme in den wesentlichen Punkten miteinander.

Die DOS - Welt ist begeistert von der kaum noch abzählbaren Vielfalt der Anwendungsprogramme -scheint allerdings wenig geneigt, dem Benutzer die Auswahl zu erleichtern. Die Unix - Welt sieht den Selektionsvorteil. Horizontale Anwendungen wie Datenbanksysteme, Spreadsheets oder Entwicklungssysteme, die sich in der DOS -Landschaft durchsetzen können und aufgrund ihrer großen Verbreitungsbasis ausreichend Liquidität für die Weiterentwicklung verdienen, stehen ohnehin auch unter Unix zur Verfügung und umgekehrt.

Was - rätseln überzeugte "DOSler" - wird aus Unix werden, wenn DOS in der Version 5 (welche Verwandtschaft) bisher einengende Grenzen (640 KB Hauptspeicher und 33 MB Plattenkapazität) sprengt, und sogar parallele Prozesse handhaben kann?

Die Technologie ist faszinierend: Am Schreibtisch messen ausgefuchste "Experten" die DOS - Leistung schon in Mega Instructions per second (Mips) wie bei den alten und

mächtigen Jumbos. Aber - geht es nur um Leistung? Und wenn ja, um welche oder wessen Leistung? Wie mißt sich überhaupt Computerleistung für den Benutzer? Doch wohl kaum in der Fähigkeit eines Rechners, soundso viel Millionen Additionen in der Sekunde auszuführen.

Mit den Mips kann der Anwender herzlich wenig anfangen; sie lösen primär keines seiner Probleme. Ihm kommt es vor allem darauf an, die Steigerung der individuellen Leistungsfähigkeit, die er durch den Einsatz von arbeitsplatzbezogenen EDV - Ressourcen erreichen und / oder sichern möchte, in den arbeitsteiligen Zusammenhang der unternehmerischen Wertschöpfung zu stellen. Daß es sich dabei um eine organisatorische Herausforderung handelt, die sich nicht durch formale Verknüpfung der technischen Produktivitätsinseln (PC - Netze) quasi automatisch löst, haben bereits mehrere Anwender erfahren müssen. Die Summe lokaler Optima - setzen wir den besten Fall voraus - gewährleistet nämlich noch lange nicht ein globales Optimum.

Diese organisatorische Herausforderung ist die eigentliche Aufgabe, der sich die angewandte Informatik stellen sollte. Ihre Lösung muß einer strengen wirtschaftlichen Bewertung standhalten. Es fruchtet dabei wenig, der Faszination einer hohen Technologie zu verfallen.

Ein kurzer Rückblick: Weil sie das Warten auf das von Digital Research 1978 angekündigte Betriebssystem CP/M - 86 nicht länger tatenlos hinnehmen wollten, machten sich Software - Experten von Seatle Computer Products daran, für ihr Intel - 8086 - System ein eigenes Betriebssystem "QDOS" zu konzipieren und zu schreiben. Mitte 1981 kaufte eine aufsteigende Firma namens Microsoft dieses Produkt und taufte es in "MS - DOS" um. Kurze Zeit später kündigte IBM einen eigenen PC mit dem Systemsoftware "PC - DOS" an. Dieses PC - DOS war nichts anderes als MS - DOS von Microsoft.

Die Basis des Erfolges war gelegt: Systemhersteller entwickelten Arbeitsplatzrechner, die zumindest alternativ mit diesem PC - DOS betrieben werden konnten. Softwareanbieter hatten damit zum ersten Mal in der DV - Geschichte die Möglichkeit, auf einem selbst für Studenten erschwinglichen Arbeitsplatzrechner Programme zu entwickeln und damit einen Markt anzugehen, der ihnen eine große Auflage ihrer Produkte sicherte.

Die Softwareproduktionstechnik stellte sich gründlich um:

- bisher wurden Programme in der Regel im Kundenauftrag entwickelt und erst bei entsprechender zusätzlicher Nachfrage schrittweise verallqemeinert;

- nunmehr kann Software für ein bestimmtes abstraktes Anwendungsprofil - für einen Markt - ausgelegt werden, was eine völlig andere Produkt - und Preispolitik, eine neue Vertriebsstrategie, vor allem aber die Vorteile der "economics of scale" mit sich bringt.

Eine neue wirtschaftliche Plattform war geschaffen, die Anwendern wie Anbietern großzügige Entfaltungsmöglichkeiten bot. Datenbanksysteme, um nur ein Beispiel zu nennen, die in ihrer formalen Leistungsfähigkeit weit über Großrechnerimplementierungen hinausgehen, können nun für nicht einmal 1 Prozent des Preises der Mainframe - Versionen vertrieben werden.

Auch in den jetzt vorliegenden Varianten 3.1 und 3.2 bleibt MS - DOS genau wie der Veteran CP/M ein reines "Single - user / Single - tasking" - Betriebssystem. Das heißt, nur ein Benutzer kann zu einem gegebenen Zeitpunkt am System arbeiten und dabei ein und nur ein Programm ausführen. Dieser Benutzer kann also entweder einen Text eingeben oder ausdrucken. Daran ändert auch die scheinbare Parallelität, die einige Programme an dieser Stelle andeuten, nichts.

DOS ist auf allen 16 - Bit - Systemen implementierungsfähig und ist von PS - DOS -kompatibel, wenn die Hardwareschnittstellen den von IBM gesetzten Konventionen entsprechen. Man spricht dann von einem standardkompatiblen PC. Eine vollständige Bauteilaustauschbarkeit ist dabei nicht erforderlich.

Der wesentliche Vorteil von MS - DOS gegenüber CP/M liegt darin, daß der Systemkern auf die unteren Adressen des Hauptspeichers geladen wird. Damit ist eine Verschiebung des Kerns bei einer Speichererweiterung nicht erforderlich, Programme brauchen somit auch nach einer Erweiterung der Hauptspeicherkapazität nicht mehr neu gebunden werden.

Die Belegung der unteren, installationsspezifischen Bereiche wird während des Boot - Vorgangs festgelegt. Dieser Ladevorgang wird über die Systemtabelle CONFIG. SYS gesteuert. Hier befinden sich Angaben zur Festlegung der Puffergröße, zur Einbindung weiterer Treiber und / oder zum Laden eines alternativen Kommandointerpreters, falls dies erwünscht ist.

Betrachtet man das entsprechende Schichtenmodell von beiden Betriebssystemen, so haben Unix und MS - DOS einen sehr ähnlichen Aufbau (Abb. 1 und 2). In Unix werden die Treiber, die den Zugriff auf die Hardwarebetriebsmittel gewährleisten, vom Systemkern überlagert. Dieser Systemkern stellt für die Anwendungsprogramme eine exakt definierte Liste von Systemaufrufen bereit. Möchte ein Anwender zusätzliche Treiber einbinden und / oder eine Änderung der Laufzeitsystemtabellen vornehmen, so wird ein erneutes Bindes des Systemkerns mit der Abarbeitung der Generierungstabelle erforderlich. Unter Unix sind praktisch alle Systemvariablen extern deklariert.

Bei MS - DOS ist die Benutzerschnittstelle ebenso wie bei Unix eine Kommandoschnittstelle. In diesem Zusammenhang muß zwischen "eingebauten" und "transienten" Kormmandos unterschieden werden. Erstere - die Unix nicht kennt - werden im residenten Teil des COMMAND.COM abgehandelt, während die transienten Kommandos von der Platte wie jedes andere Programm geladen und ausgeführt werden.

Unter Unix ist dieser Vorgang deutlich anders. Der Kommandointerpreter ist ein Programm wie jedes andere. Er stellt keine "eingebauten" Kommandos bereit, sondern muß vielmehr als eine sehr mächtige Programmiersprache interpretiert werden, die lediglich Kontrollstrukturen (vergleichbar mit PASCAL oder ALGOL 60} bereitstellt. Innerhalb dieser Strukturen werden die Kommandos abgearbeitet. Kommandos sind dabei jede ausführbare Datei - auch der Kommandointerpreter selbst.

Dieses Prinzip der Rekursivität macht heute noch vielen Programmierern und Anwendern Kopfzerbrechen. Der Standardkommando - Interpreter, der wie eine Schale (Shell) um die Funktionen des Betriebssystems (Systemaufrufe) liegt, kann entweder interaktiv oder im Hintergrund abgearbeitet werden. Die Syntax ist in beiden Modi völlig identisch.

MS-DOS kennt auch eine Batch - Möglichkeit, die an Unix erinnert, jedoch viel primitiver ist. Das Batch - File AUTOEXEC.BAT wird nach dem Laden des Betriebssystems automatisch ausgeführt. Ein Batch - File (Stapeldatei) kann mit beliebig vielen Parametern aufgerufen, aneinandergekettet und in der Ausführung über Bedingungen, Sprünge und Schleifen gesteuert werden.

Der MS - DOS - Kommandointerpreter verfügt über weitere, an Unix erinnernde Möglichkeiten:

- in Dateiangaben können "Wildcards" (* und ?) angegeben werden;

- die Umleitung der Ein - und Ausgabe eines Programms von oder auf Dateien und Geräte erfolgt über die Richtungssymbole ">" und "<" beziehungsweise " > > " falls die Ausgabe an eine existierende Datei angehängt werden soll;

- mit dem Operator ":" ("Pipe") wird die Ausgabe eines Programms zur Eingabe des nächsten. Auf diese Weise wird eine begrenzte Verkettung möglich;

- der COMMANDO.COM speichert die jeweils letzte Eingabezeile und hält dieses Muster über einen Tastendruck (F3, F 1) zur erneuten Verwendung beziehungsweise Korrektor bereit.

Die in MS - DOS implementierte Prozeßstruktur ist an das Vater - Kind - Konzept von Unix angelehnt. Der Kind - Prozeß erbt von seinem Vater alle offenen Dateien und die Prozeßumgebung. Diese Prozeßumgebung ist eine Datenstruktur mit der aktuellen Belegung der Systemvariablen (zum Beispiel Pfadnamen und Laufwerk). Endet der Kind -Prozeß, dann wird der Vater - Prozeß automatisch wieder aktiviert.

Der entscheidende Unterschied zu dem Mehrbenutzersystem Unix wird hier deutlich:

- MS - DOS kennt nur einen Benutzer, der alle Rechte an der Nutzung jedes Betriebsmittel des Rechners (Speicher, Dateien, Geräte) hat. Es gibt keine Schutzmechanismen, die zum Beispiel ein unberechtigtes Überschreiben einer Datei eines anderen Nutzers des Rechners verhindern. Aus der Sicht des Rechners sind alle Benutzer gleich. Manche Anwendungen führen auf der Programmebene solche Mechanismen ein; sie schützen jedoch nur Anwender dieses Programms.

- MS - DOS - Prozesse können nur streng sequentiell abgearbeitet werden. Parallele asynchrone Prozesse werden erst in begrenztem Umfang ab der Version 5 möglich.

Die Firma Microsoft hat in enger Zusammenarbeit mit der IBM ein klares Entwicklungsprofil vorgelegt. Es wird unter anderem durch folgende Zielsetzungen bestimmt:

- Die Computerleistung muß an den Arbeitsplatz.

- Der Arbeitsplatz integriert alle Funktionen einer Benutzeroberfläche: Darstellung, Druck und Kommunikation mit anderen Benutzern, Programmen und Rechnern. Diese Multitasking - Funktionen werden eingeführt.

- Der ständig steigende Betriebsmittelaufwand je Programm (CPU - Leistung, Speicherbelastung) erfordert die Revision der vorliegenden Grenzen.

- Die bestehende Software muß lauffähig bleiben. Eine grundsätzliche Revision des Betriebssystems würde die Wettbewerbs - Position von MS - DOS gefährden.

Damit entspricht MS - DOS genau den Anforderungen an das Leistungs - und Funktionsspektrum eines PC als persönlicher Computer. Ein solcher Computer integriert die Aufgaben, die im Verfügungs - und Kontrollbereich einer Person liegen. Auf der Kommunikationsseite wird der bereits hohe technische Stand der Personal Computer weiterentwickelt. Er ist voll integrationsfähig in lokale und globale Netze. Er ist vorbereitet, die Rolle als persönlicher Computer zu verlassen, um als Arbeitsplatzrechner in einem komplexeren Verbund aufzugehen.

Die Entwicklungstendenz von MS - DOS stärkt eindeutig die Position von Unix. Die Standardisierung der Oberfläche durch die restriktive Lizenzpolitik von AT&T und die Aktivitäten der X / Open - Gruppe, zeigt Wirkung. Dialektvielfalt zählt zur Vergangenheit.

Unix ist bisher das einzige Betriebssystem, das zum Beispiel sowohl auf einem MiniTower als auch auf einer 3090 oder einer Cray II verfügbar ist. Der industrielle Anwender kann zum ersten Mal in der DV - Geschichte denselben Code mit derselben Job -Control sowohl in der kleinsten Niederlassung als auch in der Zentrale mit mehr als 100 Arbeitsplätzen fahren. Dabei ist er nicht auf die Rechner eines Herstellers angewiesen.