Archäologie der … Betriebssysteme?

BLOG: Bierologie

Weissbier & Wissenschaft
Bierologie

ResearchBlogging.org

In “Computerzeit” ist alles, was vor mehr als 20 Jahren geschah, früheste Vorzeit. Systeme ändern sich rasant, neue Betriebssysteme erscheinen und was vor 5 Jahren funktionierte lässt sich heute nur mit viel Arbeit zum Laufen bewegen. Gleiches gilt für UNIX, dass Betriebssystem auf dem Linux, Mac OS und alle BSD-Varianten basieren – die erste UNIX-Version erschien 1969, in “Computerzeit” also ungefähr zeitgleich mit der Bibel.

Bei Erscheinen war Bell Labs’ UNIX revolutionär, mit bahnbrechenden Neuigkeiten wie Multitasking (wobei UNIX da nicht das erste Betriebssystem war), oder Plattformunabhängigkeit (dank C anstatt Assembler). Es gibt heutzutage viele Menschen, die alte UNIX-Systeme sammeln und halbwegs in Stand halten, allerdings nur wenige, die das auf Software-Ebene tun – ein Paper, dass aus diesen Bemühungen entstand möchte ich heute vorstellen.

Dabei handelt es sich um “The restoration of early UNIX artifacts” von Dr. Warren Toomey (zufälligerweise ein Professor von mir), erschienen 2009, Link mit kostenloser PDF hier. Vor der Veröffentlichung gab es keine überlebende Dateien aus der Zeit vor der 4. Edition, nur die UNIX-Anleitungen der 4. Edition sind heute noch in Menschenhand. Quellcode und Binärdateien sind ab der 5. Edition erhalten, dafür scheint die Anleitung der 5. Edition verloren gegangen zu sein. Wie ändert man das? Indem man sich alten Kram anguckt, und hofft etwas von Wert zu finden!

In diesem Fall haben einige Mitglieder der TUHS (The Unix Heritage Society) ein uraltes DECtape-Laufwerk gefunden und zum Laufen gebracht, zusammen mit einigen DECtapes die “unter dem Boden im Computerraum” in den Bell Labs gefunden wurden. DECtapes sehen so aus:

DECtape 1 und 2

Links unten: ein DECtape, rechts unten: ein DECtape 2. Quelle: Wikimedia, User ArnoldReinhold, Lizenz: CC-BY-SA

Für mich interessant, da DECtapes schon ausgestorben waren, als ich geboren wurde.

Was war auf den Tapes? Ein Tape war beschriftet mit “nsys”, und dank Fortuna handelte es sich um die früheste, direkt funktionierende UNIX-Version die heute noch erhalten ist! Das System auf dem Tape stammt aus dem August 1973, also kurz vor der Veröffentlichung der 4. Edition. Bekommt man sowas zum Laufen? Wenn man einen Linux-Nerd dransetzt, auf jeden Fall!

Mit manuellem Gefrickel (z.B. wurden in der 5. Edition Substrukturen von geschweiften Klammern eingeschlossen, während es beim nsys-System Anführungsstriche waren) und einem Compiler aus der 5. UNIX-Edition konnte das System dann auch zum Laufen gebracht werden. Das ist so, als hätte man in Opas Garage ein Ufo gefunden, dass sich nach ein wenig Schrauberei als tadellos funktionierender Opel Admiral entpuppt.

Admiral!

Ein ebensolcher. Quelle: Wikimedia, User Gryffindor, Lizenz: Public Domain

Andere Tapes hatten andere Schätze: auf dem Tape mit der Aufschrift “s2” befanden sich (nach viel Arbeit, interessierte sollten selbst nachlesen – das würde hier den Rahmen sprengen) Programmdateien der 1. und 2. Edition, also von ca. 1972! Darunter so Klassiker wie ls, dass für Dateien noch auflistete ob sie “groß” oder “klein” waren – damals war “groß” alles über 4Kilobytes…

Der wahre Knüller aber befand sich auf einigen Papieren, die der TUHS 2006 in die Hände fielen – ausgedruckter Assemblercode für die 1. UNIX-Edition, von 1972! Was macht man damit? Natürlich mittels Texterfassung einscannen und versuchen, das Ding zur Arbeit zu bewegen. Was bei Assemblercode recht schwer zu bewerkstelligen ist, da der Code spezifisch für den jeweiligen Prozessor geschrieben wurde und deshalb nur auf wenigen Maschinen läuft, die es heutzutage kaum noch gibt. Zur Lösung des Problems wurde ein Emulator, der für neuere UNIX-Editionen zuständig ist, solange umgeschrieben bis die 1. Edition vollständig funktionierte! Es gibt also nach fast 40 Jahren wieder eine funktionierende 1. UNIX-Edition.

“Warum macht man sowas?”, mag sich der geneigte Leser fragen. Warum haben manche Menschen den Keller voller Modelleisenbahnen? Warum sammeln manche Menschen alte Autos und bringen sie wieder auf Vordermann? Erstens, weil’s Spaß macht – und zweitens, weil man auf diesem Weg so viel wie möglich über die heutigen Systeme lernen kann. Denn nur, wenn man weiß wo etwas herkommt, kann man wissen warum es heute so ist, wie es ist.

Warren Toomey (2009). The restoration of early UNIX artifacts USENIX annual technical conference

Veröffentlicht von

Philipp hat einen Bachelor in Biologie, ein Graduate Certificate in IT und studiert momentan für seinen Master in IT in einem übertrieben großen Land voller Spinnen und Schafe. Für die Bierologie schreibt er zumeist über Biologie, Evolution und allem was an den Rändern der Gebiete noch so angeschwemmt wird.

3 Kommentare

  1. Ur-Unix etc.

    es gibt durchaus PDP-11 Emulatoren 🙂

    Auch sind die Unterschiede von Ur-Unix bis zu heutigen lange nicht so gross, wie z.B. von CP/M oder DOS 3.3 bis Windows7.

  2. @Sascha: In diesem Falle haben die Emulatoren anscheinend nicht ausgereicht, und mussten nur ein wenig angepasst werden um die Architektur 100% zu emulieren – damit auch Feinheiten wie mehrere Prozessthreads funktionierten.

    Für mich ist das Wichtigste an UNIX 1. und 2. Edition der Wechsel von Assembler zu C – die Frühzeit von CP/M wird hoffentlich woanders bearbeitet 😉

    @DFranzenburg: Ich kann da noch weniger mithalten – mein erster Rechner war ein 386er 😛

Schreibe einen Kommentar