Man nehme das Beste aus zwei Systemwelten

27.07.1990

Immer noch will scheinen, daß DOS-Anwender nicht in Unix- Welten andocken

können. DOS unter Unix kommt manchem vor wie eine exotische Blüte. Doch es

gibt Notwendigkeiten und vor allem Möglichkeiten, die Vorteile beider

Betriebssysteme für unterschiedliche Bedürfnisse des Anwenders zu nutzen.

Daß Unix- und DOS-Rechner einander spinnefeind sind, ist ein beliebter Mythos unseres aufgeklärten Computerzeitalters. Sehr oft spukt die Systemfeindschaft in den Köpfen der enthusiastischen Vertreter beider Systeme. Ein Unix-Fan wird mitleidsvoll (oder überheblich) auf den mit DOS arbeitenden Kollegen schauen, ein DOS-Fan wird beim Umgang mit vi oder anderen Texteditoren nur den Kopf schütteln. Dabei gibt es Systemzwänge, die sehr wohl die Koexistenz beider Systeme rechtfertigen. Wer als Außendienstler beispielsweise Unix auf dem Laptop betreiben will, muß schon viel Geld in die Hardware investieren. Als Alternative bietet sich die Arbeit mit einer Terminal-Emulation und dem nötigen Modem-Anschluß nur für ganz Geduldige an.

Aber auch in Unternehmen mit Mischwald-Betrieb gibt es Lösungen für ganz Geduldige (der Disketten-Shuffle für Fußgänger) und für ganz Eilige (die vernetzten Rechnersysteme). Während der direkte Diskettenaustausch von den Fähigkeiten der jeweiligen Unix-Version abhängt, mit Disketten umgehen zu können, ist die universaler einzusetzende Vernetzung eine Frage der Fähigkeiten des DOS-Netzwerkes (oder der Vernetzungsmöglichkeiten einzelner DOS-PCs). Sinnigerweise werden derartige Möglichkeiten von den Erfordernissen des Betriebes diktiert.

DOS unter Unix ist der schnellste Brückenschlag

Die Entstehung dieses Artikels ist ein schöner Einzelfall, an dem das Problem erläutert werden kann: Er sollte mit dem in der Redaktion der COMPUTERWOCHE eingesetzten Euroscript geschrieben werden. Bei strikter Systemfeindschaft müßte ich den Arbeitsplatz wechseln und auf einem DOS-PC lostippen.

Ich hätte auch die Möglichkeit, diesen Text mit einem Unix-Editor zu schreiben und ihn dann mit einem Unix-Befehl auf einer DOS-Diskette zu speichern. Das von mir benutzte 386/ix arbeitet beispielsweise mit dem Befehl dossette, SCO-Unix mit doscp und AIX mit doswrite. Da der DOS-PC in der Nähe unter Windows 3.0 läuft, käme als weitere Möglichkeit die Benutzung von MWTP in Frage.

Dieses Multiwindow-Terminal-Programm von der deutschen Achkar Software kann das Clipboard von Windows benutzen, um den Datenaustausch zwischen der Unix-Terminalemulation und dem DOS-Programm zu vollziehen. Schließlich stünde noch der Weg über den DOS-Fileserver offen, da unter seinem Betriebssystem (Nexos 386) ein TCP/IP-Anschluß für meinen Unix-Rechner existiert.

All das hilft sicherlich bei größeren Kopieraktionen, läßt aber die Forderung außer acht, direkt bei der Texteingabe die nötigen Formatierungen gleich mit einzugeben. Der praktische Weg erforderte daher den direkten Einsatz von Euroscript unter Unix, ein Vorgang, der mit dem DOS-Emulator VP/ix kein größeres Problem darstellt.

Die anderen Möglichkeiten, würden allenfalls für die diskettengerechte Lieferung anfallen, die aber aufgrund des E-Mail-Anschlusses der COMPUTERWOCHE entfällt.

DOS unter Unix ist also in diesem wie in vielen anderen Fällen der schnellste und bequemste Brückenschlag zwischen den Betriebssystemen. Er setzt allerdings auf der Unix-Seite einen Intel-Prozessor der 80386er-Klasse oder der höheren 486er-Spezies voraus. Diese Prozessoren sind in der Lage, einen sogenannten virtuellen 8086er-Modus zu verwalten. Dieser virtuelle 8086er kann unter Unix vielfältig genutzt werden - eben auch zum Start eines eigenständigen DOS-Rechners wie dies mit VP/ix (für SCO-, AT&T-Unix, Eurix, 386/ix), oder DOS Merge (für AIX) möglich ist. Lösungen wie das UnTerminal von AMR (Regie) oder Multivideo von Multivideo (GEL) sind ein anderes Beispiel für die Nutzung des virtuellen Prinzips.

VP/ix ist am weitesten verbreitet

Bei den Einsatzmöglichkeiten für verschiedenste Unix-Versionen ist es nicht verwunderlich, daß VP/ix das mit Abstand verbreitetste Produkt ist. Grund genug, einen ausführlicheren Blick auf das Programm zu werfen, zumal sich die Arbeit VP/ix nicht von anderen DOS-Emulatoren unterscheidet.

VP/ix besteht aus drei Komponenten: einem Video-Bios, das vom bekannten Bios-Hersteller Phoenix kommt, dem eigentlichen VP/ix von Phoenix und Interactive, das als Redirector zwischen DOS und Unix vermittelt, und dem DOS, das unter Unix auf der Platte installiert wird. Daneben kann noch je nach der verwendeten Unix-Version herstellereigene Anpassungen geben.

Jeder vom Administrator zu gelassene Benutzer kann nach dem Einloggen VP/ix auf der Systemkonsole starten. Soll DOS auf angeschlossene Terminals gelegt werden, so muß auf die eben erwähnten UnTerminals und Multivideo-Produkte zurückgegriffen werden. Ist das emulierte DOS erst einmal gestartet, so mag sich der Benutzer auf ein virtuelles Laufwerk C: begeben und dort, wie unter DOS gewohnt, arbeiten. Da Unix ein echtes Mehrplatz-System ist, gibt es aber einige Funktionen, die dem einzelkämpferischen DOS nicht gestattet sind oder gesondert vom Administrator ermöglicht werden können.

Unter VP/ix laufen fast alle DOS-Programme

An erster Stelle steht hier die Benutzung von Diskettenlaufwerken oder Druckern, die normalerweise vom Haupt-Betriebssystem verwaltet werden. Über eine Unix-eigene Konfigurationsdatei können sie einem VP/ix-Prozeß zugeordnet werden, sind dann aber nicht für den Unix-Teil zuständig.

Diese Zuordnung kann unter DOS mit einer speziellen Tastenkombination wie ALT-S.Abfr-m wieder aufgehoben werden. Der nächste virtuelle DOS-PC oder die Unix-Tasks, die daraufhin gestartet werden, können daraufhin wieder auf Laufwerke oder Drucker zugreifen.

Wie bei allen anderen Softwareprogrammen, die eine DOS-Verbindung zu einem Unix-Rechner herstellen, so kennt auch VP/ix mehrere Möglichkeiten, ansonsten inkompatible Dateibenennungen abzubilden und Unix-Dateien zu DOS-konformen Dateien umzuwandeln - oder umgekehrt. Bis auf wenige unsauber programmierte Softwareprodukte laufen alle wichtigen DOS-Programme unter VP/ix - jedenfalls solange, wie der Rechner nicht von einem abgebrochenen Unix-Task durchgeschüttelt wird.

Eine abgebrochene Verbindung zu einem X-Window-Server tötet nicht nur die X-Window-Software, sondern manchmal auch den DOS-Task, wenn Funktionstasten plötzlich auf die alphanumerische Tastatur gelegt werden. Trotz aller Stabilität sei vom Umgang mit DOS-Programmsprachen und Compilern unter VP/ix abgeraten - ihr Einsatz erübrigt sich auf einem Unix-Rechner ohnehin.

Gegenüber einem vollständig unter DOS laufenden Programm ist VP/ix durch die Ausnutzung des mit Cache arbeitenden Systemspeichers schneller als eine lokale DOS-Anwendung, wenn kein weiteres Programm neben den Systemdiensten aktiv ist. Als Beispiel mag der unter Dbase laufende Datenbanktest der PC-Welt herhalten, der freilich auch die Plattenausgabe mißt: Bei gleichen Systemvoraussetzungen läuft der Test unter DOS in 361 Sekunden, unter VP/ix ohne Systemlast in 227 Sekunden ab.

Beim Start mehrerer Unix-Programme reduziert sich diese Leistung und erreicht 900 bis 1000 Sekunden. Noch drastischer sinken die Leistungen, wenn unter DOS ein Multitasking-Aufsatz wie Desqview gefahren wird, der die DOS-Emulation seinerseits in mehrere virtuelle Maschinen zerlegt (auch das ist möglich, wenngleich wenig sinnvoll).

Bei der Arbeit mit einem Emulator wie VP/ix sollten aber auch die Beschränkungen des Ansatzes nicht verhehlt werden. So ist der Datenaustausch zur Unix-Seite hin von Zusatzprogrammen abhängig, die beispielsweise eine Textdatei unixgerecht aufbereiten (das von mir benutzte 386/ix bietet hier das Programm "lef" an). Überdies gestattet die Technik der DOS-Emulation auf Intel-Prozessoren mit VP/ix (noch) nicht das direkte Kopieren zwischen Bildschirmfenstern, wie es mit Clipboard-Programmen unter X-Windows möglich ist.

Derlei geht freilich mit anderen Prozessorsystemen. Hier muß die Emulatortechnik tiefer greifen und auf der Ebene der Prozessorbefehle Ersatz schaffen. Allerdings erfordert diese Portierung einen Aufwand, den viele Hersteller scheuen und der Dritthersteller auf den Plan ruft. Von den wenigen Beispielen für eine prozessorfremde DOS-Portierung sei hier das Programm Soft-PC von Insignia Solutions genannt, mit dem auf einer Sparcstation ein langsamer DOS-Rechner seinen Dienst aufnehmen kann. Wird überhaupt eine praktikable Lösung für die direkte DOS-Einbindung gesucht, so geschieht dies über den Ausbau des (eigenen) Systembusses. Als Beispiel wäre hier die Sparcstation Synergy von Puzzle Systems zu nennen, ein kompletter schneller 386er mit einer S-Bus-Karte.

In jedem Fall ist die Arbeit mit DOS unter Unix an eine sinnvolle Regelung des Datenaustausches zur DOS-Welt hin gebunden. Mit Ausnahme des eingangs erwähnten Laptops (obwohl auch hier Pocket-Adapter wie die von Xircom TCP/IP bieten) wird der Transfer am besten über ein Netz erfolgen. Für Laptops gibt es Speziallösungen, etwa das Büropaket Uniplex, das eine gesonderte unter DOS laufende Laptop-Version kennt. Da Unix-Rechner gewissermaßen von Haus aus vernetzt konzipiert wurden, ist es nur logisch, die Fäden auch zu den DOS-Rechnern zu ziehen. Erst dann kann ein geregelter Datenaustauch bis hin zur Migration von DOS zu Unix ablaufen.

PC/TCP für DOS-Einzelplätze

Bei der Vernetzung mit dem wechselseitigen DOS-Unix-Zugriff geht man von dem Protokoll des oder der Unix-Rechner aus und entscheidet sich, welche Art der Vernetzung gesucht wird: Soll ein DOS-Rechner an ein Unix-Netz oder sollen über Unix die DOS-Rechner insgesamt vernetzt werden? Der Datenaustausch zur DOS-Emulation unter Unix ist dann ein Abfallprodukt dieser Vernetzung. Allerdings gibt es auch Unix-Netze für DOS-Rechner, die noch keinen Zugriff zur Unix-Welt kennen, etwa Banyan Vines oder der LAN Manager/X von AT&T.

Aus der Fülle der solchermaßen entstehenden Vernetzungsmöglichkeiten möchte ich nur einige Beispiele für vernetzte Lösungen zeigen.

Unter Nexos 386 kann über den Fileserver mit PC/TCP von FTP der Unix-Rechner ins Netz einbezogen werden. PC/TCP ist darüber hinaus auch für DOS-Einzelplätze eine gängige Lösung.

DOS Unter Unix ist kein Notbehelf

Eine vergleichbare Lösung bietet Locus mit dem ebenfalls unter TCP/IP laufenden PC-Interface. Zur vollständigen Vernetzung kann mit PC-Interface ein eigener Fileserver für die DOS-Rechner angeschlossen werden, der allerdings nicht das NFS zur Verfügung stellt. Arbeitet das Unix-Netz mit dem von Sun entwickelten NFS, so bietet sich hingegen die Vernetzung über PC-NFS an. Auf der Basis von DEC-Rechnern böte sich der Einsatz von PCSA für die DOS-PCs an.

Mit diesen Verknüpfungen ist dann die Benutzung von DOS unter Unix eine ganz alltägliche Sache, die keineswegs den Charakter eines Notbehelfs in sich trägt. Denn schließlich sind DOS und Unix keine verfeindeten Welten, sondern für jeweils spezielle Bedürfnisse entwickelt worden.

Um so besser, daß unter Unix die Vorteile beider Systeme genutzt werden können.