Login
Newsletter
Werbung

Mi, 5. August 2009, 15:11

Software::UNIX

Vor 40 Jahren: Unix-Entwicklung beginnt

Im August 1969 begann Ken Thompson mit der Entwicklung von Unix, dessen Nachfolger auch heute noch die Server und Supercomputer der Welt dominieren.

Abstammung der Unix-Varianten

Wikimedia Commons

Abstammung der Unix-Varianten

Die Anfänge von Unix lagen in den Bell Labs, in denen damals recht frei geforscht werden konnte. Alles fing mit einem Computerspiel an: Space Travel. Ken Thompson hatte dieses Spiel unter Multics programmiert. Es simulierte die Bewegung von Planeten im Sonnensystem, man konnte mit einem Raumschiff umherfliegen, in Umlaufbahnen einschwenken und sogar auf Planeten landen. Das Programm wurde dann in Fortran für das Betriebssystem GECOS umgeschrieben und lief auf einer GE 635. Allerdings war da die Grafik bescheiden, doch es wurde mit einem wenig genutzten Minicomputer vom Typ PDP-7 mit erstklassigem Terminal-Display eine Lösung gefunden. Der Rechner mit einem fünf- oder gar sechsstelligen Preisschild wurde für ein Projekt angeschafft, aber der Projektleiter hatte die Abteilung gewechselt.

Space Travel wurde für das System in Assembler neu geschrieben, auf der GE 635 cross-compiliert und via Lochstreifen auf die PDP-7 transferiert, die über kein Betriebssystem verfügte. Dann wurde ein Dateisystem entwickelt. Im Sommer 1969 fand Thompson die Zeit, auf dieser Grundlage ein vollständiges Betriebssystem zu entwickeln. Unix, anfänglich noch Unics genannt, war geboren. Zunächst war jedoch kein Geld für die Weiterentwicklung vorhanden.

Der nächste Schritt wurde vollzogen, als ein PDP-11-Rechner zur Entwicklung eines Textsatzsystems angeschafft wurde. Ken Thompson und seine drei Mitstreiter Dennis Ritchie, Malcom Douglas McIlroy und Joseph F. Ossanna portierten Unix auf die PDP-11, und um den Auftrag zu erfüllen, weswegen der Rechner erworben wurde, portierte Thompson schnell noch nebenbei das Textsatzsystem RUNOFF unter dem Namen roff auf Unix.

Eng mit dem weiteren Erfolg von Unix verknüpft war die Entwicklung der Programmiersprache C durch Dennis Ritchie. Nach anfänglichen Problemen - es gab noch keine Strukturen - wurde Anfang der 1970er Jahre der Unix-Kernel komplett in C neu geschrieben. Erst von diesem Zeitpunkt an war Unix einigermaßen portabel. Sobald der C-Compiler in der Lage war, den richtigen Code zu erstellen, konnte das meiste einfach wiederverwendet werden.

Unix war selbst für die damalige Zeit relativ einfach gehalten, obwohl es ein vollständiges Mehrbenutzer-Betriebssystem war. Das legendäre Buch »Lions' Commentary on UNIX« enthielt den gesamten Kernel-Code von Unix in der 6. Version, der 1977 etwa 10.000 Zeilen umfasste. Es zeigt, dass die meisten Datenstrukturen und Algorithmen sehr einfach gehalten waren - für die heutige Zeit wären sie jedoch nicht skalierbar genug - und nur wenige Gerätetreiber nötig waren. Viele Erfahrungen aus dem kommerziell wenig erfolgreichen Multics-Projekt konnten eingebracht werden. Daraus resultierte die Unix-Philosophie:

  • Schreibe Programme, die genau eine Sache machen, diese aber gut.
  • Schreibe Programme, die zusammenarbeiten.
  • Schreibe Programme, die Textströme bearbeiten, denn das ist eine universelle Schnittstelle.

Die Aufspaltung von Unix in eine BSD- und eine AT&T-Variante (System V) sowie die Rechtsstreitigkeiten um das Copyright waren ein wichtiger Teil der Geschichte von Unix in den 1980er-Jahren. Die ganze Geschichte und ihre Bedeutung im historischen Kontext kann im Artikel Die Vorgeschichte von Linuxnachgelesen werden. Ohne Unix würde es heute selbstverständlich kein Solaris, kein AIX usw. geben. Aber auch 386BSD und seine Abkömmlinge, die ursprünglich viel Originalcode aus Unix enthielten, und Linux, das von Anfang an als Klon ohne jede Verwendung von Unix-Code gedacht war, wären ohne Unix nicht denkbar.

Unix selbst wurde mehrfach für tot erklärt, so 2003 von Randy Mott, 2005 von Gartner und 2008 von der Linux Foundation. Doch selbst wenn das tatsächlich einmal eintreten sollte, leben seine Ideen weiter. Linux und andere Unix-artige Systeme haben die Anpassung an die heutige Zeit vollzogen, in der ein Rechner dynamisch seine Hardware-Konfiguration ändert und die Software komplexer ist als je zuvor.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung