Geschichte von UNIX
Geschichte : Übersicht
04-Nov-2001/28-Mrz-06
Übersicht
Ken Thompson erstellte 1969 die erste Version von Unix in Assembler
auf der DEC PDP-7, um etwas Textverarbeitung zu betreiben und zu
spielen. Das 1972-1974 in C implementierte System wurde gemeinsam mit
einem C-Compiler kostenfrei an verschiedene Universitäten verteilt - aus
ihr entwickelte sich die BSD-Linie von Unix. AT&T versuchte schließlich
selbst, Unix gewinnbringend zu vermarkten, woraus die System V Linie von
Unix entstand.
In den 1980er Jahren wurde Unix zum dominierenden Betriebssystem an
den Universitäten, und es existierte eine Fülle verschiedenster
Unix-Derivate, die alle in irgendeiner Form von den beiden Hauptlinien
abstammten, womit langsam Bedarf nach Standardisierung entstand.
Die Anfänge
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 [2] 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 gingen 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 das
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 1970er
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 16kb Speicher für das System, 8kb für
die Benutzerprogramme, einer 512kb Festplatte und Dateien konnten
maximal 64kb 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.
Die Portierung auf C
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, welches 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.
Pipes
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 verlässt die Bell Labs
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
Computermarkts. 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
Sourcecode.
Besonders beliebt war Unix an der Universität von Berkeley, wo sofort
eine Reihe von Verbesserungen an Unix entwickelt wurden. Als Ken
Thompson ab 1976 eine Gastprofessur im neugegründeten Computer Science
Department 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 so 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öffentlich die Universität unter Leitung von Bill Joy
eine eigene Unix- Distribution: 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 sollte Microsoft aufgrund von DOS
das Interesse an Xenix verlieren und die Rechte daran weitestgehend an
die neugegründete, und von Microsoft mitfinanzierte, SCO übergeben.
Die 1980er
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:
- Open Software Foundation: Die OSF wurde 1988 gegründet,
teilweise aufgrund der Meinung der Beteiligten, dass der
POSIX-Standard AT&T zu stark bevorzugen würde, teilweise auch
aufgrund von Befürchtungen, dass AT&T und Sun Microsystems, die ab
1987 kooperieren, den Markt unter sich aufteilen könnten.
Gründungsmitglieder der OSF waren u. a. DEC, Siemens, HP und IBM.
Das Konsortium hatte sich zum Ziel gesetzt, ein gemeinsames Unix
unter dem Namen OSF/1 zu veröffentlichen.
- Unix International: UI wurde als unmittelbare Reaktion
auf die OSF gegründet durch Anhänger des AT&T Unixs wie z. B.
Olivetti, Unisys und eben AT&T und Sun.
- X/Open: Ursprünglich 1983 unter dem Namen Bison von einer
Reihe europäischer Unternehmen wie Bull, Siemens, Olivetti
gegründet, um gemeinsame europäische Interessen besser gegen die
US-Firmen vertreten zu können, wurde das Konsortium später mit der
Aufnahme von US-Firmen umbenannt.
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.
Open Source und Freie Software
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 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.
Die Frühen 1990er
1993 4.4BSD, BSDI (kommerziell) 16. Juni 1993 Novell kauft USL
1993 Transfer der Namensrechte und Spec von Novell an X/Open 1994
4.4BSD lite - führt zu freien BSDs. Grund waren
Urheberrechtsanschuldigungen durch Novell
Desktopkriege, Common Open Software Environment (COSE): HP, IBM, SCO,
Sunsoft, Univel/Novell, USL -> CDE, Motif, Wabi, Looking Glass
System Vr4 (1990)
Die Späten 1990er
1995 Verkauf von Unix durch Novell an SCO 1996 OSF+X/Open -> Open
Group
Unix/95
1997 Single Unix Spec/2 1998 Unix/98
Linux, freie BSD Derivate...
Ab 2000
2002 ISO/IEC 9945:2002 (Single Unix Spec)
SCO, KDE, Gnome
Rechte: Sourcerechte 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
Sourcecode auf. Im August 2002 nennt sich Caldera wiederum um in SCO
Group [3], da der Markenname SCO bekannter war, als der eigene.
Aufsehen erregte 2003 eine Klage [4] 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.
Netmarks
Konrad Heuer: "Freie UNIX-Systeme im Vergleich",
gwdu60.gwdg.de/xfig2/freeunix.html.
Éric Lévénez: "Open Systems", November 29, 2001,
perso.wanadoo.fr/levenez/unix/
A4 (PDF).
Wikipedia.de: "Geschichte von Unix",
de.wikipedia.org/wiki/Geschichte_von_Unix.
Wikipedia.de: "Unix",
de.wikipedia.org/wiki/UNIX.
|