Geschichte von Unix
Table of contents |
2 Die 1970er 3 Die 1980er 4 Die frühen 1990er 5 Die späten 1990er 6 Ab 2000 7 Weblinks |
1965 wurden im Rahmen der Fall Joint Computer Conference einige Papiere [1] über ein neu zu erstellendes Betriebssystem namens Multics veröffentlicht. Hinter Multics stand ein Konsortium aus MIT, General Electric, Bell Labs, Honeywell. Ebenfalls am Rande beteiligt war IBM, in deren Programmiersprache PL/1 Multics entwickelt werden sollte.
Wie etliche konsortiengesteuerte Projekte im Bereich der Computertechnik aus dieser Zeit, war Multics zum Scheitern verurteilt. Die Erwartungen an Multics waren teilweise einfach überzogen, die Hardware dieser Zeit konnte kein System dieser Größe in vernünftiger Geschwindigkeit verkraften. 1969 zogen sich die Bell Labs als Konsequenz aus dem Projekt zurück. Dennis Ritchie, einer der späteren Schöpfer von Unix und Beteiligter im Multics Projekt, äußerte sich in einem 1979 veröffentlichtem Papier [1] wie folgt:
"... the problem was the increasing obviousness of the failure of Multics to deliver promptly any sort of usable system, ..."
(...das Problem war die zunehmende Gewissheit, dass Multics auf absehbare Zeit nicht brauchbar sein würde...)
Das Team um Ritchie, darunter Ken Thompson, Doug McIlroy und Joseph Ossanna wollte aber nicht aufgeben. Es ging ihnen vor allem darum, ein Mehrbenutzersystem zu haben, das es ihnen erlaubte, nicht nur zusammen zu programmieren, sondern auf dessen Basis sich auch eine echte Gemeinschaft herausbilden konnte. Zu diesem Zweck musste das System einige technische Spezialitäten unterstützen, die damals keineswegs selbstverständlich waren, so zum Beispiel, dass mehrere Benutzer gleichzeitig an Dateien arbeiten konnten, ohne sich gegenseitig in die Quere zu kommen.
Während das Team vergeblich versuchte, die Bell Labs vom Kauf einer geeigneten Maschine zu überzeugen, begannen gleichzeitig die technischen Vorarbeiten:
Auf Notizzetteln und Tafeln wurden die Konzepte zu einem Dateisystem entwickelt, das später zu einem der Kernstücke von Unix werden sollte.
Thompson entwickelte auch einige Prototypen eines Dateisystems und eines primitiven Kernels, die auf einer GE-645 lauffähig waren, musste das Projekt aber einstellen, nachdem klar wurde, dass die 645 auf absehbare Zeit aus den Labors entfernt werden würde.
Er fand schließlich eine weitgehend unbenutzte PDP-7, auf die er ein zuvor für Multics und GECOS entwickeltes Spiel namens Space Travel portieren wollte.
Das Unternehmen erwies sich als komplizierter als zunächst gedacht, da für die PDP-7 kein eigenes Entwicklungssystem vorlag, und so sämtliche Entwicklung unter GECOS stattfinden musste, welches dann den PDP-7 Code produzierte.
Um diesen Missstand abzustellen, begann Thompson unter Mithilfe von Ritchie die Implementierung des zuvor konzipierten Dateisystems mitsamt eines primitiven Prozessmanagements, und anschließend einer Reihe kleinerer Programme, die das System benutzbar machen sollten:
Editor, kleinere Dateiverwaltungsprogramme, und ein einfacher Kommandozeileninterpreter (Shell), bis das System schließlich ausreichend ausgestattet war, um ohne den GECOS-Umweg direkt auf der PDP-7 zu entwickeln.
Die PDP-7 war zu dieser Zeit bereits ein Auslaufmodell und gehörte dem Team noch nicht mal, aber schließlich erwiesen sich die Bemühungen, einen eigenen Computer für die Unixentwicklung zu beschaffen, als erfolgreich, und eine PDP-11 wurde in Auftrag gegeben.
Unix war rasch portiert, und das System wurde ab 1971 erfolgreich im Patentbüro der Bell Labs als Textverarbeitungssystem eingesetzt.
Das System war, durch die Umstände bedingt, erstaunlich klein verglichen mit heutigen Betriebssystemen: Es bestand aus 16 KiB Speicher für das System, 8 KiB für die Benutzerprogramme, einer 512 KiB Festplatte und Dateien konnten maximal 64 KiB groß werden.
Kernighan nannte das System leicht spöttisch Unics, in Anspielung auf Multics, da es nur bis zu 2 Benutzer unterstützte: "Emasculated Multics is Unics." (Entmanntes Multics ist Unics). Der Name wird später zu Unix verkürzt werden. Die Schreibweise UNIX entstand 1974, laut Ritchie aus purer Begeisterung für Kapitälchen: "... we had a new typesetter and troff had just been invented and we were intoxicated by being able to produce small caps."
Der Einsatz im Patentbüro gab der Gruppe genug Glaubwürdigkeit, damit Unix als Projekt für die Bell Labs interessant wurde und um die Anschaffung einer PDP 11/74 zu rechtfertigen, und die AT&T Unix Systems Group (später: Unix Systems Group) wurde als offizielles Projekt der Bell Labs gegründet.
Parallel begann eine Entwicklung, die ausschlaggebend für den späteren Erfolg von Unix war: Die Entwicklung der Sprache C.
Thompson entwickelte 1971 eine interpretierte Programmiersprache für die PDP-7 namens B, welche auf BCPL basiert war.
Ritchie fügte der Sprache auf der PDP-11 Datentypen hinzu und nannte sie zunächst NB (für New B) und begann einen Compiler für die Sprache zu entwickeln.
1972 begann nun die Neuerstellung von Unix in dieser Sprache, die mittlerweile den Namen C erhielt, um zukünftig die Portierung von Unix auf neue Rechner zu erleichtern.
Die Portierung wurde 1973 abgeschlossen und erhielt den Namen Unix V4.
Gleichzeitig wurde Unix, auf Anregung von Doug McIlroy, um das Konzept der Pipes erweitert.
Pipes verbinden kleine Programme, und erlauben das Ergebnis eines Programmes im Rahmen einer einzigen Kommandozeilenanweisung in einem anderen Programm weiterzuverarbeiten, und stellten später eines der wichtigen Kernelemente von Unix dar, da erst sie das Konzept der kleinen spezialisierten Werkzeuge, die genau eine Aufgabe erledigen, ermöglichten.
Unix lief mittlerweile innerhalb der Bell Labs auf mehr als 25 Rechnern, und durch einen Vortrag 1973 auf einem ACM Symposium wird es erstmals außerhalb der Bell Labs bekannt.
Der Vortrag erschien in überarbeiteter Fassung dann 1974 als The UNIX Time-Sharing System in CACM.
Das Interesse an Unix stieg gewaltig an außerhalb der Bell Labs.
Der 1956 abgeschlossene Consent Decree verbot AT&T;, Muttergesellschaft der Bell Labs, das Betreten neuer Märkte wie des Computermarktes.
Aus diesem Grund wurde Unix (in der 1975 aktuellen Version 6) für lediglich den Preis der Datenträger verschiedenen Universitäten zur Verfügung gestellt, mitsamt dem vollständigen Quellcode.
Besonders beliebt war Unix an der Universität von Kalifornien in Berkeley, wo sofort eine Reihe von Verbesserungen an Unix entwickelt wurden.
Als Ken Thompson ab 1976 eine Gastprofessur in der neugegründeten Informatikabteilung von Berkeley antrat, wurde die Universität endgültig zu einem der wichtigen Zentren der Unix-Entwicklung.
Die Universität steuerte später zu Unix wichtige Beiträge, wie die Unterstützung von TCP/IP, bei, die später auch in die offizielle Unixversion von AT&T übernommen wurden.
Ab 1977 veröffentlicht die Universität unter Leitung von Bill Joy eine eigene Unixdistribution: BSD - Berkeley System Distribution.
1979 wird schließlich durch AT&T Unix V7 veröffentlicht. Unix V7 stellt einen Wendepunkt in der Geschichte von Unix dar, da sich AT&T erstmals in größerem Umfang an einer kommerziellen Vermarktung versuchte.
Microsoft erwirbt 1979 eine Unixlizenz und beginnt unter dem Namen Xenix die Arbeiten an Portierungen auf u. a. Intel 8086, Motorola 68000 und Zilog Z8000-Prozessoren.
Später verlor Microsoft aufgrund von DOS das Interesse an Xenix und übergab die Rechte daran weitestgehend an die neu gegründete und von Microsoft mitfinanzierte SCO.
1980 folgte die erste Portierung auf eine 32-Bit-Maschine, die VAX, mit 32V und 3BSD.
Die 1980er Jahre sind gekennzeichnet durch den Beginn der großen "Unix-Kriege" und die Kommerzialisierung von Unix. AT&T betrat offiziell den Computermarkt und begann 1983 ein auf Unix V7 basierendes System, System V genannt, zu vermarkten, während die Universität von Berkeley zeitgleich 4.2BSD veröffentlichte, das Neuerungen wie TCP/IP oder Signale mit sich brachte. Mittlerweile hat auch die DARPA Interesse an Unix entwickelt und unterstützt die Entwicklungen in Berkeley finanziell.
Um eine weitere Aufspaltung zu verhindern, wurde das POSIX Standardisierungsprojekt ins Leben gerufen, das eine einheitliche Schnittstelle für Unix definieren sollte. 1988 wurde schließlich POSIX.1 veröffentlicht (heute auch ein IEEE-Standard unter der Nummer 1003.1).
Eine Reihe von (teils wechselnden) Allianzen begannen sich zu bilden, die verschiedene Unix-Versionen favorisierten:
1983 begann Richard Stallman, verärgert über die Kommerzialisierung von Unix, mit der Arbeit an einem eigenen, Unix-ähnlichen Betriebssystem namens GNU und rief mit der Veröffentlichung des GNU Manifests 1985 eine immer stärker werdende Bewegung für freie Software ins Leben.
1987 entwickelte der holländische Professor Andrew S. Tanenbaum ein Unix-ähnliches Betriebssystem namens Minix. Minix sollte der Lehre dienen, um seinen Studenten die Grundlagen eines Betriebssystems zu veranschaulichen, da die zunehmend restriktiveren AT&T Lizenzen für Unix ihn bei der Arbeit behinderten. Minix selbst gewann nie groß an Bedeutung, inspirierte jedoch Linus Torvalds zur Arbeit an Linux.
1989 SVR4
1990 4.3BSD Reno
1991 Am 5. Oktober stellt Linus Torvalds seinen ersten Linux-Kernel mit der Versionsnummer 0.02 vor. 4.3BSD NET/2. Sun veröffentlicht Solaris 1.0, Eine Gruppe von BSD Entwicklern verlässt die Universität Berkeley und gründet Berkeley Software Design (BSDI)
1993 4.4BSD, Beginnt die Entwicklung von FreeBSD und NetBSD basierend auf 386BSD. BSDI veröffentlicht mit BSD/OS eine kommerzielle Version von BSD
16. Juni 1993 Novell kauft von AT&T die Unix System Laboratories (USL)
1993 Transfer der Namensrechte und Spec von Novell an X/Open.
1994 Nach Urheberrechtsstreitigkeiten zwischen den Novell USL und BSDI wird sämtlicher auf USL-Code basierender Quellcode aus 4.4BSD entfernt und es kommt zur Veröffentlichung von 4.4BSD lite. Die freien BSDs bringen ebenfalls neue auf 4.4BSD lite basierende Versionen heraus. X/Open veröffentlich die "Single UNIX Specification" und trennt damit den Markennamen UNIX vom vorhandenen Quellcode.
Desktopkriege, Common Open Software Environment (COSE): HP, IBM, SCO, Sunsoft, Univel/Novell, USL -> CDE, Motif, Wabi, Looking Glass
1995 Novell verkauft UNIX an SCO.
1996 OSF und X/Open schließen sich zur Open Group zusammen.
X/Open führt die Bezeichnung "Unix/95" für Programme ein, die die Single Unix Specification erfüllen.
Matthias Ettrich gründet im Oktober das KDE Projekt.
1997 Die Open Group veröffentlicht den Standard "Single UNIX Spec/2" der jetzt Echtzeit, Threads und 64-Bit Prozessoren unterstützt
Linux, freie BSD Derivate...
2002 ISO/IEC 9945:2002 (Single Unix Spec)
Rechte: Rechte am Quellcode bei SCO, Trademark bei Open Group
Im August 2000 kaufte Caldera, ein Anbieter einer eher wenig bekannten Linuxdistribution, SCO, und damit die Rechte am Unix Quellcode auf. Im August 2002 nennt sich Caldera wiederum um in SCO Group [1], da der Markenname SCO bekannter war, als der eigene.
Aufsehen erregte 2003 eine Klage [1] der SCO gegen IBM: IBM habe SCO Patente, Kerntechnologien und urheberrechtlich geschützte Bestandteile von Unix in Linux einfließen lassen. IBM dementiert diese Vorwürfe. Aktuell (Stand: 24. Mai 2003) wurden noch keine technischen Informationen zu den Vorwürfen veröffentlicht, womit es weitgehend der Spekulation überlassen bleibt, ob die Vorwürfe der Wahrheit entsprechen.
Weiteres dazu hier: SCO gegen Linux.
siehe auch: Unix-Derivat, Unix-Shell, Unix-Kommandos, Berkeley Software Distribution
Die Anfänge
Die 1970er
Die Portierung auf C
Pipes
Unix verlässt die Bell Labs
Die 1980er
Während OSF/1 bis in die 1990er Jahre nicht fertiggestellt wurde, veröffentlichten AT&T und UI weitere Verbesserungen an Unix System V. Die Unterschiede zwischen der OSF-Linie und UI wurden öffentlich dem Markt gegenüber weiter betont, aber der Programmcode von System V überbrückte mit jeder weiteren Version die Differenzen - mit System V.4 wurden 1989 praktisch alle wichtigen Neuerungen aus BSD und Xenix in System V übernommen.Freie Software
Die frühen 1990er
1992 Billy Jolitz veröffentlich 386BSD, Eine Portierung von 4.3BSD NET/2 auf den Intel 386er.Die späten 1990er
Ab 2000
Weblinks