Zum Hauptinhalt Zur Navigation

Oberon ETH: Das Schweizer System

Es geht auch in schlank: Warum in den späten 1980ern an einer Schweizer Hochschule eine Programmiersprache , ein OS und eigene Hardware entwickelt wurden.
/ Martin Wolf
46 Kommentare News folgen (öffnet im neuen Fenster)
Oberon ist Betriebssystem und Programmiersprache. (Bild: Paul Reed, Felix Friedich - Montage: Golem.de)
Oberon ist Betriebssystem und Programmiersprache. Bild: Paul Reed, Felix Friedich - Montage: Golem.de

In einem Keller der Eidgenössischen Technischen Hochschule in Zürich (ETHZ) stehen mehrere unauffällige beigefarbene Computergehäuse mit der Aufschrift Ceres(öffnet im neuen Fenster) . Sie stammen aus den späten 1980ern, haben ein 3,5-Zoll-Diskettenlaufwerk als Massenspeicher, Anschlüsse für einen hochauflösenden Monochrom-Monitor und einen Farbbildschirm sowie ein Betriebssystem, das an der Universität selbst entwickelt wurde. Auch die Hardware entstand hier, ebenso wie die Programmiersprache dazu: Oberon. Ihr Erfinder ist der Informatiker Niklaus Wirth, der mit diesem Eigenbau ein besonders schlankes und verständliches Betriebssystem schuf, das immer noch seine Nische hat.

Die Hardware basiert auf einem NS32032 32-Bit-Prozessor und hat reichlich Videospeicher für die grafische Darstellung des Systems. Die Rechner sind längst ausgemustert, aber die Software in ihren ROMs(öffnet im neuen Fenster) lebt weiter – obwohl sie inzwischen noch weniger bekannt sein dürfte als zum Zeitpunkt ihrer Entstehung.

1992 erschien ein rund 400-seitiges Buch mit dem Titel "Project Oberon – The Design of an Operating System and Compiler", das im Detail beschreibt, wie sich ein eigenes Betriebssystem mit der Programmiersprache Oberon(öffnet im neuen Fenster) realisieren lässt. Einer der Verfasser des Werkes ist Niklaus Wirth(öffnet im neuen Fenster) , der zuvor unter anderem für seine Arbeit an Pascal den renommierten ACM Turing-Preis(öffnet im neuen Fenster) gewann.

Wirth hatte die Hoffnung, dass er den schon damals übermäßig komplexen Betriebssystemen eine Alternative entgegensetzen konnte. Sie sollte vor allem so einfach sein, dass sie sich im Informatikstudium als Lehrbeispiel verwenden ließ. Wirth war Professor an der ETHZ und wünschte sich, dass bei der Benutzung von Oberon die Lust am Programmieren geweckt würde.

Zu diesem Zeitpunkt liefen die bereits erwähnten Arbeitsrechner in der Informatikfakultät(öffnet im neuen Fenster) der Hochschule. Sie waren als Workstations für den wissenschaftlichen Gebrauch im Einsatz und prägten eine Generation von Schweizer Studierenden – die dank Oberon die Scheu vor der vermeintlich hohen Komplexität eines Betriebssystems verloren.

Einer, der damals von Oberon erfuhr, ist Paul Reed. Als Programmierer hatte er wie so viele andere hohen Respekt vor Projekten wie dem Schreiben eines Compilers: "Solche Dinge machen Spezialisten in irgendwelchen Elfenbeintürmen, dachte ich." Reed lacht, als er uns die Geschichte seiner ersten Begegnung mit Oberon erzählt.

Er kaufte das Buch in den 1990ern und stellte fest, dass weder Elfenbeinturm noch Spezialwissen vonnöten waren, um mit Oberon zu entwickeln(öffnet im neuen Fenster) . Noch heute steht der dicken Wälzer im Regal gegenüber seines Schreibtisches, aber eigentlich muss Reed dort nicht mehr nachschlagen. Einen Compiler hat er längst selbst geschrieben.

Reed wurde in den vergangenen Jahrzehnten zu einer Art Gralshüter von Oberon, er möchte das Projekt bekannter machen. Seine ansteckende Begeisterung für das System rührt auch daher, dass er selbst viele kommerzielle Projekte damit realisierte und weiß, welche Vorteile die Schlankheit des Systems bietet. Wie schlank genau? Reed drückt den Netzschalter eines FPGA-Boards, es vergeht keine Sekunde und Oberon ist gebootet.

TUI statt GUI

Auf dem Bildschirm erscheinen zwei monochrome Fensterreihen. Rechts sind untereinander das System-Log und System-Tool, in dem freien Bereich könnte ein ausgeführtes Programm angezeigt oder editiert werden. Diese Anordnung ist natürlich nicht festgelegt – die Fenster lassen sich beliebig zu neuen Arbeitsbereichen zusammenstellen, neue können geöffnet werden.

Zwei wesentliche Unterschiede zu aktuellen Systemen bestehen jedoch: Die TUI (für Tiled oder Textual User Interface) genannte Oberfläche erlaubt keine Überlagerung von Fenstern, außerdem kann Oberon kein präemptives Multitasking(öffnet im neuen Fenster) . Was es hingegen hat, ist eine Speicherbereinigung(öffnet im neuen Fenster) , die dafür sorgt, dass es ressourcenschonend und sicher arbeitet.

Drei Maustasten sind Pflicht

Außerdem setzt Oberon stark auf die mittlere Maustaste einer Drei-Tasten-Maus: Sie wird zum Ausführen von Befehlen und Dateioperationen genutzt. Dazu klickt man beispielsweise auf "System.ShowModules" im System-Tool und es öffnet sich ein weiteres Fenster, das die derzeit geladenen Module mit Speicherangaben anzeigt.

Die linke Maustaste gibt uns einen Cursor zum Editieren oder Tippen oder um Fenstergrößen zu ändern. Die rechte Maustaste wird zum Markieren genutzt. Einen kniffligen Doppelklick gibt es nicht. An diese Art der Benutzerführung gewöhnt man sich schnell – dabei hilft, dass sie systemweit konsequent gültig ist.

Weil das System modusfrei(öffnet im neuen Fenster) ist, lassen sich so ziemlich alle Aktionen jederzeit ausführen, Dialogboxen oder Ähnliches sind nicht vorgesehen. Ein Programm kann beispielsweise während der Laufzeit editiert werden.

Oberons Bedienung ist nicht nur deswegen aus heutiger Sicht ein ganzes Stück von den gewohnt überladenen Paradigmen entfernt. So fehlen beispielsweise jegliche Symbole, die Desktopmetapher(öffnet im neuen Fenster) gibt es gar nicht erst. Das ergibt Sinn, wenn man sich daran erinnert, dass das System unter anderem dazu dienen soll, die Grundlagen und das Potenzial schlanker Entwicklung zu erlernen. Wer Oberon nutzt, sollte auch für und mit Oberon programmieren – so der Wunsch von Niklaus Wirth. Paul Reed sieht das ähnlich: "Vertraue einem System, das du selbst gebaut hast."

Auch heute ist Oberon noch im Einsatz

Das Dateisystem ist flach(öffnet im neuen Fenster) , beachtet Groß- und Kleinschreibung und unterstützt Namen bis zu 32 Zeichen. Auch Netzwerkfunktionalität basierend auf kostengünstigem RS-485(öffnet im neuen Fenster) ist enthalten.

Die Diskettenversion von Oberon ist genauso ausgemustert wie die alten Workstations, aber das Betriebssystem samt Entwicklungsumgebung machte Paul Reed mit Wirths Hilfe fit für das FPGA-Zeitalter und stellte es zum Download(öffnet im neuen Fenster) zur Verfügung. Auch ein Emulator für moderne Betriebssysteme ist dabei – so kann man Oberon sogar online ausprobieren(öffnet im neuen Fenster) .

Für die Programmierung in Oberon steht die 2013 überarbeitete Version des eingangs erwähnten Buches von Niklaus Wirth und Jürg Gutknecht zur Verfügung(öffnet im neuen Fenster) .

Alternativ lohnt ein Blick auf Ableger des Systems, die ebenfalls mit moderner Hard- und Software kompatibel sind. Astrobe(öffnet im neuen Fenster) ist beispielsweise eine Entwicklungsumgebung für ARM Cortex-M Microcontroller und A2(öffnet im neuen Fenster) ein objektorientiertes Betriebssystem(öffnet im neuen Fenster) mit einem beliebig zoombaren Desktop.

Wie gut sich Oberon auch heute noch einsetzen lässt, zeigte ein Projekt mit einem chinesischen Hersteller von Medizintechnik. Das System eines Gerätes(öffnet im neuen Fenster) zur Messung des Blutflusses wurde komplett in Oberon entwickelt.

Auch wenn die Nische für das Schweizer System klein erscheinen mag, hat es doch seine Berechtigung. In Zeiten, in denen Betriebssysteme aufgeblähte und unüberschaubar komplexe Gebilde sind, die von tausenden Menschen in Konzernen erstellt und gewartet werden, bietet Oberon den unverstellten Blick auf das Wesentliche: Technologie nicht nur zu nutzen, sondern auch zu begreifen.


Relevante Themen