Aktuelles Lexikon   UNIX

Ein in der Forschung, und zunehmend in der Wirtschaft, populäres Betriebssystem , UNIX, hat seine Ursprünge Ende der 60er Jahre. Ken Thompson, ein Forscher bei Bell Labs (dem Forschungslabor für AT&T, dem damaligen Telekommunikations-Monopolist in den USA) hatte 1969 eine interaktive "time-sharing" System für eine ausgemusterte PDP-7 Anlage geschrieben. Er wollte eigentlich nur einen Betriebssystem für die Maschine schreiben, damit er Computerspiele darauf spielen könne. Ken Thompson war in der Forschungsgruppe für das Multics Betriebssystem gewesen, Bell Labs hatte sich aus dem Projekt zurückgezogen. Seinen System nannte er "UNIX" als Wortspiel auf "Multics", also "einer" statt "viele".

Ein Kollege, Dennis Ritchie, der die C Programmiersprache erfand, beteiligt sich an dem Projekt. Zwischen 1972 und 1974 haben beide das Betriebssystem fast völlig in C umgeschrieben, bis auf einen kleinen Kern, der noch im Assembler geschrieben werden musste. Damit ist UNIX das erste portable, also einfach von einem Rechner zum zweiten übertragbare, Betriebssystem geworden. Da bald ein Übersetzer für C auf eine Maschine vorhanden ist, kann mit sehr wenig Aufwand auch UNIX für eine solche Maschine erstellt werden. Und alle Programme, die für die erste Maschine mit Unix geschrieben worden sind, laufen ebenfalls auf der zweiten Maschine.

Das Betriebssystem, da kostenlos erhältlich, verbreitete sich sehr schnell innerhalb der Forschergemeinschaft. Viele Menschen haben Verbesserungen und Erweiterungen angebracht. Es ist ein Mehrplatzsystem, bei den auch viele Prozesse gleichzeitig ablaufen können. Es existieren inzwischen mehrere Fenstersysteme für Unix, z.B. Xwindows, die es erlauben die Ergebnisse von mehreren Prozessen gleichzeitig am Bildschirm zu sehen.

UNIX verwendet ein Konzept namens "pipelining", um die Ein- und Ausgabe von Prozesse zu steueren. Es gibt eine Standardeingabe von der Tastatur und eine Standardausgabe zum Bildschirm. Mit dem Operator "|" können zwei Prozesse so verbunden werden, daß die Ausgabe der ersten Eingabe für die zweite ist. Das ist beliebig häufig anwendbar. Es gibt in UNIX viele "kleine Sprachen", die als Filter zu sehen sind. Jeder formiert Ihre Eingabe auf ein bestimmte Art und Weise um und gibt die Ausgabe an den nächsten Filter weiter. Angenommen wir haben ein unsortiertes Telefonverzeichnis als Datei vorhanden und wollen gerne eine Liste von allen Leute, die "Reinhold" heissen. Mit

% grep "Reinhold" telefon-verzeichnis | sort | pr | lpr

haben wir alle Zeilen mit der Zeichenreihe "Reinhold" ausgesucht, sie sortiert, auf ein Standardseitenformat gebracht, und gedruckt.

UNIX ist nicht einfach für Laien zu bedienen. Sie verwendet eine recht kryptische Kommandosprache und ist eher ein stummer Mitarbeiter. Ohne auch nur der leisesten Warnung werden demjenigen, der zufällig "rm *" getippt hat, alle Dateien gelöscht. Deswegen muß, wenn das Betriebssystem in der Schule eingesetzt werden soll, eine geeignete Umgebung konstruiert werden.


Autor: Debora Weber-Wulff
Erschienen: C & U, Heft 11, 1993.