EUMEL: Ein neues Betriebssystem für den Atari ST (TEIL 1)

Bild 1: Die Systemstruktur des EUMEL Betriebssystems

Seit Anfang der 80er Jahre hat sich an bundesdeutschen Universitäten und Schulen ein Betriebssystem jenseits von MS-DOS und CP/M etabliert, das durch einige Leistungsmerkmale besticht, die man auch bei teuersten Systemen bisweilen vergeblich sucht: Zu nennen wären die unkomplizierten Multiuser- und Multitasking-Fähigkeiten, die den schnellen Aufbau eines großen Netzwerkes erlauben. Dazu läßt sich jedes „dumme“ Terminal ohne großen Konfigurationsaufwand anschließen, so daß nur ein Zentralrechner benötigt wird. Und dieser Zentralrechner kann mit einem 8, 16 oder 32 Bit Prozessor ausgestattet sein, ohne daß sich für den Anwender Umstellungen ergeben. Erwähnenswert ist auch die mitgelieferte Textverarbeitung, die schon seit Jahren fast alles bietet, was man heute mit „Desktop Publishing“ bezeichnet, — sieht man einmal von der Graphikintegration ab. Schließlich gehört zu diesem System eine eigene, pascalähnliche Programmiersprache, die in die Textverarbeitung, Tabellenkalkulation oder Dateiverwaltung ohne Umstände eingebunden werden kann. Die „Gesellschaft für Mathematik und Datenverarbeitung“ (GMD) hat dieses Betriebssystem zusammen mit dem Hochschulrechenzentrum der Universität Bielefeld entwickelt und dafür 1985 den Technologie-Transfer-Preis des Bundesforschungsministeriums erhalten, — das erste Softwareprojekt, das mit dieser Auszeichnung bedacht wurde. Die Rede ist von EUMEL, dem „Extendable multi User Microprocessor ELan System“, das nun auch nach GEM, OS-9, RTOS/PEARL und CP/M als fünfte Oberfläche für den Atari ST zur Verfügung steht.

Als die EUMEL Entwickler vor gut fünf Jahren eine neue Systemarchitektur entwarfen, schwebten ihnen folgende Grundprinzipien vor Augen: Sie sollte zum einen mit den schnellen Fortschritten in der Computertechnologie mithalten können. Deshalb mußte ein geräteunabhängiger Treiber entwickelt werden, damit sich EUMEL von einem Prozessor zum anderen übertragen ließ. Auch Dateien und Programmpakete sollten Rechnerunabhängig portabel sein, zum anderen sollte das System mehrere Benutzer gleichzeitig bedienen können und somit über echte Multitaskingeigenschaften verfügen. Dazu brauchte man Terminals, die nicht zu teuer sein durften. Also konzipiert man EUMEL so, daß jedes beliebige Terminal (das kann ein anderer Rechner sein oder ein Billigterminal) über serielle Schnittstellen anschließbar ist.

Ferner standen softwaremäßige Erweiterungs- und Ausbaumöglichkeiten auf der Tagesordnung. Deshalb kreierte man eine eigene Programmiersprache, ELAN (Elementary LANguage), die nicht nur individuelle Sonderaufgaben lösen, sondern auch alle bereits bestehenden Pakete programmierbar machen sollte. Mit ELAN hatte man ungefähr das verwirklicht, was heute als „integrierte Softwarelösung“ a la FRAMEWORK oder SYMPHONY angeboten wird.

Nach diesem kurzen Vorgeschmack auf das Betriebssystem stellen wir die ersten „Gehversuche“ auf dem Atari ST noch etwas zurück. Zunächst geht es in diesem Lieft um das theoretische Konzept des EUMELs. Wir werden sehen, wie das Betriebssystem strukturiert ist, wie die benutzerspezifischen Aufgabenbereiche („Tasks“) verwandelt werden und wie man auch mit wenig Speicherplatz große Datenmengen handhaben kann.

Aufbau des Betriebssystems

Bild 1 beschreibt die Systemstruktur des EUMEL Betriebssystems. Auf der untersten Ebene steht die Hardware. Dazu gehört zunächst ein Zentralrechner, der mit einem der folgenden Prozessoren ausgestattet sein darf: Zilog Z-80, Intel 8088, 80286, 80386 und jetzt Motorola 68000. Erforderlich ist desweiteren ein -freier Speicherplatz von mindestens 1 MByte und eine Festplatte mit mindestens 10 MByte Kapazität. Besondere Graphikanforderungen werden nicht gestellt, Rechner und Terminals sollten lediglich über eine 80 x 25 Zeichen umfassende Bildschirmdarstellung verfügen. An den Zentralrechner werden als Peripheriegeräte die Terminals (je nach Prozessor und Schnittstellen: bis zu 10) und die Drucker angeschlossen. Eine Diskettenstation in beliebigem Format (8, 5 1/4 oder 3 1/2 Zoll) muß zur Archivierung vorhanden sein. Ferner können über eine serielle Schnittstelle mehrere Zentraleinheiten miteinander verbunden werden.

Nach meinen Erfahrungen sollte eine EUMEL Station zumindest mit einem 80286 Prozessor betrieben werden. Ich habe einige Monate mit einer Einheit gearbeitet, die den 8 Bit Prozessor Z-80 und 6 Terminals enthielt. Diese Gerätekonfiguration ist möglich (und spricht für die enorme Geschwindigkeit des EUMELs), aber wenn mehrere Benutzer gleichzeitig umfangreiche Textoperationen durchführen, beginnt der Cursor nachzulaufen und die Arbeitsgeschwindigkeit läßt stark nach. Wie schnell der Atari ST mehrere Tasks parallel verarbeitet, werden wir noch später sehen.

Die nächste Ebene stellt die virtuelle Maschine EUMEL-0 und die Gerätetreiber dar. Sie sorgt dafür, daß trotz unterschiedlicher Hardwareausstattung die EUMEL Benutzeroberfläche für jeden Anwender gleich ausschaut. Nur so kann erreicht werden, daß ein einmal erstelltes ELAN Programm auf jedem anderen Prozessor ohne Modifikationen lauffähig ist. Man könnte fast sagen, daß EUMEL-0 als Bindeglied zwischen Hard- und Software einen Software-Prozessor darstellt, der die uneingeschränkte Portabilität garantiert.

Bild 2: Ein EUMEL Netzwerk mit drei Knotenpunkten

Eine Stufe höher finden wir zunächst die ELAN Standardpakete und den Compiler. Zu den Standardpakten gehören Integer-, Bool-, Text-, Vektor-, Matrix- und Fileoperationen. Alle ELAN Programme werden in den EUMEL-0 Code übersetzt und die virtuelle EUMEL-Maschine interpretiert diesen sehr kompakten Code. Während das Tasksystem im wesentlichen die Taskbäume und die Kommunikation zwischen den einzelnen Anwenderbereichen verwaltet, gehört zu den Systemdiensten der Editor.

Schließlich sind über dieser Ebene die bereits vorhandenen Softwarepakete angesiedelt. Die Textformatierung und Druckaufbereitung übernehmen die endgültige Gestaltung eines Textes, der mit dem Editor erstellt wurde. Die beiden Datenbanken REMIS und EUDAS sind leistungsfähige Programme mit einer eigenen Programmiersprache und verfügen — selbstverständlich — über Schnittstellen zur Textverarbeitung. Das Stundenplanprogramm ISPEL lag unserem Testexemplar nicht bei, gleiches gilt für die BASIC— und Pascalcompiler.

Tabelle 1 - Grundprinzipien des EUMEL Betriebssystems im Überblick

  1. Das EUMEL-System ist ein Multitasking/Multiuser Betriebssystem, bei dem mehrere Benutzer gleichzeitig über eine Zentraleinheit verfügen. Dabei wird die vorhandene Rechen- und Speicherkapazität zwischen den Benutzern dynamisch aufgeteilt.
  2. Jeder Benutzer richtet (mindestens) eine Task ein, in der Programme und Dateien gehalten werden. Durch ein Password ist der Datenschutz garantiert. Tasks können von einem Terminal abgekoppelt und trotzdem als Batch-Auftrag im Hintergrund weiter bearbeitet werden.
  3. Die Datensicherheit wird durch sogenannte Restart-Punkte gewährleistet. In bestimmten zeitlichen Abständen wird der augenblickliche Systemzustand auf Festplatte konserviert, so daß bei Netzausfall der Betrieb übergangslos wieder aufgenommen werden kann, — mit Ausnahme derjenigen Daten, die nach dem letzten Restart-Punkt aufliefen.
  4. Das EUMEL-Betriebssystem ist leicht erweiterbar. Da der Kern des Systems in ELAN geschrieben ist, können Anwender selbst lokale Modifikationen ein-bzw. anfügen. Dabei können bestimmte Erweiterungen nur bestimmten Benutzern oder Benutzergruppen zur Verfügung gestellt werden.
  5. Eine implizite Dateihierarchie wird durch „Vater“ und „Sohn“ Tasks erreicht. Dateien können in den Tasksbäumen verschoben und zwischen zwei EUMEL Knotenpunkten verschickt werden.
  6. Die Kommandosprache („job control language“) des EUMEL-Systems entspricht der ELAN-Syntax (Prozeduraufrufe). Damit muß nur eine Sprache erlernt werden. Darüberhinaus können eine oder mehrere Anweisungen der Kommandosprache in ELAN-Programmen enthalten sein. Zum Beispiel ist es möglich, Kommandos vom Editor ausführen zu lassen oder den Editor von einem Programm aus zu starten.
  7. Alle Dienstprogramme sind geräteunabhängig und erweiterbar konzipiert. Zudem sind sie auch in ELAN formuliert, so daß Änderungen und Korrekturen leicht vorgenommen werden können. Das Paketkonzept von FT AN erlaubt es, große Programme in kleine Module aufzuspalten. Modularität, Portabilität und Adaptibilität sind die Pluspunkte von ELAN.
  8. EUMEL verwaltet seinen Hauptspeicher nach dem „demand paging“ Prinzip. Daten und/oder Programme werden in Seiten von 512 Bytes aufgeteilt. Nur diejenigen Seiten, die zu einem Zeitpunkt wirklich benötigt werden, befinden sich im Speicher. Dateien und Programme können von mehreren Benutzern gemeinsam verwendet werden, ohne daß Kopien davon hergestellt werden müssen. Das System sorgt mit dem „demand-paging“-Prinzip automatisch für das „sharen“ von Dateien. Erfolgt jedoch ein Schreibzugriff, so wird nur für den schreibenden Benutzer eine Kopie angelegt.
  9. Für alle Programme wird ein reentranter Code erzeugt. Somit können mehrere Anwender einen Code gleichzeitig benutzen („sharable code“), wobei der Code nur einmal vorhanden sein muß.

(nach „EUMEL Benutzerhandbuch“)

Bild 3: Taskkommunikation in drei Variationen

Taskhierarchie

Das Multiusersystem EUMEL arbeitet mit einer hierarchischen Taskstruktur. Alle Tasks werden in einen Taskbaum eingebunden. Das bedeutet, daß die Task eines Benutzers automatisch einen „Vater“ besitzt, aber auch neue Tasks („Söhne“) erzeugen kann. Wir müssen dabei zwischen zwei Taskarten unterscheiden: Benutzertasks und Systemtasks. Die letzteren werden hier beschrieben:

Der Supervisor übernimmt das Einrichten bzw. Löschen von Task. Nach dem Einschalten des Terminals startet jeder Benutzer von dieser Task und begibt sich dann in seine Anwendertasks. Die Operatortask ist für das Hoch- und Runterfahren des EUMEL Netzes verantwortlich. Mit dem Archive wird die Auslagerung von Dateien auf Diskette vorgenommen. Ur ist der „Urvater“ des EUMELs und enthält u.a. den ELAN Compiler. Schließlich stellt PUBLIC die Verbindung zwischen den System- und Benutzertasks dar. Dieser Zusammenhang wird in Bild 2 wiedergegeben. Dort ist eine Task, die sich unter einer anderen befindet, immer der Sohn dieser Vatertask. Man sieht, daß PUBLIC ein Sohn von UR ist und alle Benutzertasks Söhne von PUBLIC sind. Die für eine Task zur Verfügung stehenden Datentypen und Operationen sind durch die aufsteigende Linie im Taskbaum vorgegeben. Somit können einmal in der Vatertask in-sertierte Objekte (Programme oder Kommandoanweisungen) automatisch den Söhnen zur Verfügung gestellt werden.

Bild 3 beschreibt den Daten- und Programmaustausch zwischen zwei Tasks. Mit dem „mail*‘-Kommando können zwei parallele Tasks kommunizieren (auch über mehrere Knotenpunkte hinweg). Dazu werden die Dateien zunächst auf einer „Poststelle“ abgegeben und der Empfänger kann diese mit dem Kommando „get my mail“ abholen. Die Managerfunktion erlaubt das hierarchische Einrichten von Söhnen innerhalb der Benutzertask. Dateien können dann vertikal transportiert werden. Schließlich gibt es in der Regel eine Spooltask, die alle auszudruckenden

Texte zunächst sammelt und dann — in der Reihenfolge der Ankunft — an die Druckertask weitergibt.

„Demand Paglng“: Seitenaustausch auf Anforderung

Wir kommen nun zu einem Grundprinzip des EUMELs, das für die optimale Verwaltung des Speicherplatzes auf Festplatte und im Computer sorgt. Das „demand paging“-Prinzip (Seitenaustausch auf Anforderung) arbeitet wie folgt: Alle Dateien werden in sogenannte Seiten („pages“ unterteilt, die jeweils 512 Byte groß sind. Im Zentralspeicher des Rechners befinden sich immer nur die Seiten, die aktuell gebraucht werden. Somit ist es nicht notwendig, ein ganzes Dokument vollständig im Speicher zu halten. Das geht natürlich nur so lange gut, bis der gesamte Platz im Computerspeicher belegt ist. Soll dann eine neue Seite vom Massenspeicher geholt werden, muß eine andere im Zentralspeicher ersetzt (verdrängt) werden. Die alte Seite wird überschrieben (weggeworfen), wenn nur Lesezugriffe auf sie erfolgten oder in den Hintergrund zurückkopiert, wenn wie verändert wurde.

Bild 4 soll diesen Sachverhalt mit einem fiktiven Beispiel erläutern. Wir nehmen an, daß Professor A. ein Buch geschrieben hat, das sich auf der Festplatte befindet. Derzeit überarbeitet er die letzte Fassung für den Ausdruck an einem Terminal. Auf dem Massenspeicher befinden sich die Seiten 1—5, während der Computerspeicher nur die Seiten 2—5 enthält, da Professor A. sein Vorwort bereits ausgeschlossen hat. Professor A. hat jedoch den Eindruck, daß sich die gesamte Buchdatei im Speicher befindet. Denn wenn er nun vom Ende des Textes zum Anfang springt, wird nahezu ohne Zeitverzögerung eine der Seiten 2—5 gelöscht (oder bei Änderungen: auf die Festplatte zurückgeschrieben) und die erforderliche Seite 1 nachgeladen. Das Betriebssystem EUMEL erledigt diesen Seitenwechsel so schnell, daß auch bei einem umfangreichen Dokument nur geringfügige Verzögerungen auftreten. Der Vorteil des „demand paging“ Systems ist offensichtlich: Es ist möglich, bei weitem größere Informationsmengen zu bearbeiten, als der Speicherplatz des Computers es erlaubt. Der Seitenwechsel von EUMEL ist damit noch nicht vollständig beschrieben. Denn erst im Zusammenhang mit den Mehrplatzfähigkeiten wird deutlich, wie pfiffig das System konzipiert wurde.

„Sharing“

Mit mehreren Benutzern kann das „de-mand paging“-Prinzip seine Leistungsfähigkeit voll ausspielen. Dazu werfen wir noch einen Blick auf Bild 4. Während Professor A. an der Endfassung seines Buches arbeitet, ist Assistent B. beauftragt worden, eine Kurzfassung als Aufsatz zu veröffentlichen. Der Assistent hat deshalb die komplette Datei „Buch“ in seine Tasks kopiert und mit dem Namen „Aufsatz“ versehen. Da er nur die Seiten 4 und 5 benötigt, wurden von ihm zunächst alle anderen Seiten gelöscht. Zusätzlich ist die Seite 6 eingefügt worden. Assistent B. glaubt nun, Teile des Buches und seine Änderungen auf Festplatte und im Speicher zu haben. Das ist jedoch nicht der Fall. Denn mit dem Kopiervorgang („Buch“ nach „Aufsatz”) hat der EUMEL zunächst nur eine virtuelle Kopie angefertigt, die keinen weiteren Speicherplatz einnimmt. Als der Assistent die Seiten 1 bis 3 löschte, wurde nur der Verweisvektor auf die Buchdatei geändert. Die Seiten 4 und 5 bleiben ohne Änderungen bestehen, sie sind deshalb nur einmal vorhanden, nämlich in der Task des Professors. Lediglich die vom Assistenten produzierte Seite 6 ist sowohl auf Festplatte als auch im Zentralrechner vorhanden. Solange Assistent B. keine Änderungen an den Seiten 4 und 5 vomimmt, kann der EUMEL immer auf die Task des Professors verweisen.

In Bild 4 sieht man die virtuellen Seiten jeweils etwas stärker unterlegt. Auch hier liegt der Vorteil des EUMELs sofort auf der Hand: Auf Massenspeicher und Zentralrechner werden jeweils zwei Seiten gespart, redundante Speicherungen von Daten und Programmen sind geschickt vermieden. Mehrere Benutzer verwenden also gewisse Seiten gemeinsam, — das ist mit dem Begriff „sharen“ gemeint. Dieses Prinzip gilt nicht nur für Textdateien, sondern für alle EUMEL Objekte. Alle Programme des EUMEL Systems sind reentrant, d.h. können von mehreren Anwendern gleichzeitig gelesen werden, aber müssen nur einmal im Speicher vorhanden sein.

Ein weiteres Charakteristikum des EUMEL Betriebssystems ist die dynamische Aufteilung von Rechen- und Speicherkapazität zwischen den Benutzern. Das System teilt automatisch denjenigen Anwendern mehr Speicher zu, die mehr benötigen und umgekehrt. Wenn Professor A. seine Buchdatei parallel zu einer langen Statistik bearbeitet, wird einem anderen Benutzer nicht benötigter Speicherplatz (d.h. einige Seiten) entzogen.

Bild 4: „Demand Paging“ und „Sharing“: zwei Grundprinzipien EUMELs

Betriebssystemerweiterungen

Zum Schluß stellen wir ein weiteres Feature reentranter Codes vor. Dazu greifen wir wieder auf Professor A. zurück. Der Lehrstuhlinhaber bearbeitet nämlich zu Hause sein neues Buch auf einem IBM Clone. Da EUMEL in einem speziellen Modus auch unter MS-DOS formatierte Disketten lesen und beschreiben kann, bringt Professor A. die selbstgeschriebenen Texte in sein Büro, wo die Sekretärin und der Assistent die Weiterbearbeitung mit der EUMEL Textverarbeitung vornehmen sollen. Leider stimmen jedoch die Umlaute vom IBM System und EUMEL nicht überein. Deshalb schreibt ein Institutsangehöriger ein kleines Filterprogramm, mit dem der Datenaustausch vom Professor zum Sekretariat möglich ist. Die Filtersoftware insertiert der Programmierer einmal in der Vatertask PUBLIC. Von nun an kann jede Task, sofern sie nach der Implementation des Filterprogramms eingerichtet wurde, die Datenkonvertierung zwischen MS-DOS Dateien und EUMEL vornehmen, denn PUBLIC ist die Vatertask aller Anwender und die in Vatertasks eingefügten Programme stehen allen Söhnen automatisch zur Verfügung. Auch hier wird Speicherplatz gespart: das Filterprogramm ist nur einmal vorhanden und kann doch von allen Anwendern benutzt werden.

Das gleiche Prinzip gilt auch für größere Programmpakete, wie z.B. die Dateiverwaltung EUDAS. In diesem Fall wird eine Vatertask „EUDAS“ eingerichtet und jeder Benutzer, der sich unter dieser Task als Sohn einschreibt, kann mit einem Kommando die Dateiverwaltung starten. Man sieht hier wiederum, daß EUMEL für ein durchdachtes und ausgereiftes Betriebssystem steht, das vor Konkurrenzprodukten großer Softwarefirmen durchaus bestehen kann.

Nachdem wir in dieser Folge weitgehend das „Trockenschwimmen“ theoretisch geübt haben, werden wir im nächsten Heft den Sprung ins kalte Wasser wagen. Das heißt, wir werden EUMEL auf dem Atari ST installieren, Tasks einrichten, Terminals konfigurieren und die EUMEL Textverarbeitung ausführlich vorstellen.

(MS)

EUMEL Bezug-Adresse:

Bicos Computer GmbH Postfach 1224 Werkering 6 4800 BIELEFELD 1 Tel.: 0521/34011

Preise:

EUMEL Rom Cartridge * 398,— DM
EUMEL Betriebssystem * 285,— DM

Tabelle 2 — Software für das EUMEL Betriebssystem:

Textverarbeitung:

Tabellenkalkulation:

Dateiverwaltungen:

Kaufmännische und juristische Anwendungen:



Aus: ST-Computer 08 / 1987, Seite 26

Links

Copyright-Bestimmungen: siehe Über diese Seite