Geschichte von Unix
Die Geschichte von Unix nahm ihren Anfang im Jahr 1965, als im Rahmen der „Fall Joint Computer Conference“ einige Aufsätze über ein neu zu erstellendes Betriebssystem namens „Multics“ veröffentlicht wurden. Multics scheiterte zwar, aber viele der Konzepte wurden später für das Betriebssystem Unix übernommen, das daraufhin in zahllosen Derivaten weiterentwickelt wurde.
Die 1970er Jahre
Im Jahr 1965 wurden im Rahmen der Fall Joint Computer Conference einige Aufsätze[1] über ein neu zu erstellendes Betriebssystem namens Multics veröffentlicht. Hinter Multics stand ein Konsortium aus MIT, General Electric, Bell Labs und Honeywell. Ebenfalls beteiligt war IBM, in deren Programmiersprache PL/I Multics entwickelt werden sollte.
Doch das Projekt Multics scheiterte (obwohl es bis in die 1980er Jahre weiterentwickelt wurde); 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öffentlichten Artikel[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 Offensichtlichkeit, dass Multics darin scheitern würde, in absehbarer Zeit irgendeine Form von benutzbarem System zu liefern …“
Das Team um Ritchie, darunter Ken Thompson, Douglas McIlroy und Joseph Ossanna, gab aber nicht auf. 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. Er musste das Projekt aber vorerst wieder einstellen, nachdem klar geworden war, dass die GE-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 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 einem primitiven Prozessmanagement und anschließend einer Reihe kleinerer Programme, die das System benutzbar machen sollten: den Editor ed
, kleinere Dateiverwaltungsprogramme, und ein einfacher Kommandozeileninterpreter, später Unix-Shell sh
genannt, bis das System schließlich ausreichend ausgestattet war, um ohne den GECOS-Umweg direkt auf der PDP-7 zu entwickeln. Ken Thompson selbst beschrieb die Entwicklung des Betriebssystems als Nebeneffekt der Entwicklung des hierarchischen Dateisystems, das ihn neben der Shell bei Multics am meisten fasziniert hatte. Doch um dieses Dateisystem testen zu können musste er Programme schreiben, die ein möglichst realistisches Szenario für dessen Nutzung abbilden sollten. Dieses Testprogramm sollte interaktiv sein, wie ein Betriebssystem, woraufhin Thompson begann, eines für diesen Zweck zu entwickeln.[3]
Die PDP-7 war zu dieser Zeit bereits ein Auslaufmodell und gehörte dem Team noch nicht einmal, sollte sich schließlich aber als Vorteil erweisen, da das Betriebssystem dadurch auf weniger Ressourcenverbrauch ausgelegt war. Die Finanzierung eines eigenen Computers, die sich das Team für die Betriebssystementwicklung wünschte, war nicht im Interesse von Bell Labs, das sich nach dem Misserfolg von Multics von der Entwicklung eines weiteren Betriebssystems distanzierte. Stattdessen benötigte die Firma jedoch ein modernes Textverarbeitungssystem für das eigene Patentbüro – da Thompson bereits einen einfachen Editor für Unix auf der PDP-7 geschrieben hatte, beantragte das Team nun einen eigenen Computer für dessen Weiterentwicklung. Bei dem Antrag fand das gewünschte Textverarbeitungssystem Erwähnung, im Nachsatz jedoch auch das dafür nötige Betriebssystem, das ebenfalls entwickelt werden sollte. Bell Labs ging auf das Angebot ein und leitete die Beschaffung einer PDP-11 ein. Unix war rasch darauf portiert und wurde ab 1971 erfolgreich bei den Bell Labs eingesetzt. Das gesamte System war, durch die Umstände bedingt, erstaunlich klein, verglichen mit heutigen Betriebssystemen: Es bestand aus 16 kB Speicher für das System, 8 kB für die Benutzerprogramme und einer 512-kB-Festplatte. Dateien konnten maximal 64 kB groß werden. Wie Ken Thompson später zugab, war auch hier der Vorteil gegeben, auf einem schwächeren, dafür aber autonomen System entwickelt zu haben (PDP-7 und PDP-11) denn auf der ursprünglich gewünschten stärkeren PDP-10, die als Mainframe aufgebaut war.[4]
Im Jahre 1970 hatte Peter Neumann den Projektnamen „Unics“ geprägt:
.[5] Brian W. Kernighan bemerkte dazu leicht spöttisch eine Anspielung auf Multics, da Unics nur bis zu zwei Benutzer unterstützte: „
“ (deutsch Entmanntes Multics ist Unics). Der Name sollte später zu Unix verkürzt werden. Die Schreibweise UNIX entstand 1974, laut Ritchie aus purer Begeisterung für Kapitälchen: “
” 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
(später
) 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 Programmiersprache C.
Ritchie und Thompson entwickelten 1971 eine interpretierte Programmiersprache für die PDP-7 namens B, welche auf BCPL basiert war.[6] Ritchie fügte der Sprache auf der PDP-11 Datentypen hinzu, nannte sie zunächst „NB“ (für
) und begann, einen Compiler dafür 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“, also Version 4 von UNIX.
Pipes
Gleichzeitig wurde Unix, auf Anregung von Douglas 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 ermöglichten, die genau eine Aufgabe erledigen.
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 wurde es erstmals außerhalb der Bell Labs bekannt. Der Vortrag erschien in überarbeiteter Fassung dann 1974 als
in Communications of the ACM. Das Interesse an Unix stieg auch außerhalb der Bell Labs gewaltig an.
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. 1976 schrieb der australische Professor John Lions ausführliche Kommentare zum Quellcode von UNIX V6, die als Lions Book berühmt wurden.
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 neu gegründeten Informatikabteilung von Berkeley antrat, wurde die Universität endgültig zu einem der wichtigen Zentren der Unix-Entwicklung. Die Universität leistete später wichtige Beiträge zu Unix, wie die Unterstützung von TCP/IP, die später auch in die offizielle UNIX-Version von AT&T übernommen wurden.
Ab 1977 veröffentlicht die Universität unter Leitung von Bill Joy eine eigene Unix-Distribution: die Berkeley Software Distribution (BSD).
Im Jahr 1978 wurden bereits über 600 Computer mit UNIX-Betriebssystemen betrieben.
1979 wurde schließlich durch AT&T die letzte UNIX-Version mit freiem Quellcode, UNIX V7, veröffentlicht. Diese Version stellt einen Wendepunkt in der Geschichte von UNIX dar, da sich AT&T erstmals in größerem Umfang an einer kommerziellen Vermarktung versuchte.
Microsoft erwarb 1979 eine Unix-Lizenz und begann unter dem Namen Xenix die Arbeiten an Portierungen unter anderem auf Intel-8086-, Motorola-68000- und Zilog-Z8000-Prozessoren. Auf der Basis von Xenix erstellte Siemens im Jahr 1984 die erste deutsche Unix-Version für Intel-80186-CPUs unter dem Namen Sinix.
In den späten 1980er entwickelte Microsoft zusammen mit IBM OS/2 (später aufgespalten in IBMs OS/2 und Microsofts Windows NT). Da man mit OS/2 (bzw. Windows NT) und Xenix zwei Serverbetriebssysteme im Angebot gehabt hätte, die sich gegenseitig Konkurrenz gemacht hätten, entschied Microsoft 1987, die Rechte an Xenix an die Firma Santa Cruz Operations (kurz SCO, später Tarantella genannt) zu verkaufen, die schon seit 1983 Lizenznehmer von Xenix war.
Die 1980er Jahre
Im Jahr 1980 erschien die erste Portierung von UNIX V7 auf eine 32-Bit-Maschine, die VAX, mit UNIX 32V und 3BSD.
Im Laufe der 1980er wurden UNIX V8, V9 und V10 zwar noch entwickelt, aber nur an ein paar Universitäten vorgestellt, obwohl auch schriftliche Beschreibungen der Arbeit an diesen Versionen erstellt wurden. Die Überlegungen bei dieser Arbeit führten aber letztendlich auch zur Entwicklung des Betriebssystems Plan 9.
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 zu vermarkten, System V genannt, während die Universität von Berkeley zeitgleich 4.2BSD veröffentlichte, das Neuerungen wie TCP/IP und zuverlässige Signale mit sich brachte. Mittlerweile zeigte auch die DARPA Interesse an Unix und unterstützte fortan 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, ein Standard, der später als IEEE-Standard mit der Nummer 1003.1 übernommen wurde.
Mit NeXTStep war ab 1988 eine weitere kommerzielle Unix-Variante in Entwicklung, die neben BSD den DARPA-finanzierten Mach-Kernel nutzte.
Eine Reihe von (teils wechselnden) Allianzen begann sich zu bilden, welche verschiedene Unix-Versionen favorisierten:
- Open Software Foundation: Die OSF wurde 1985 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 unter anderem 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 durch Anhänger der AT&T-Linie gegründet, wie etwa Olivetti, Unisys und eben AT&T und Sun Microsystems.
- 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-amerikanischen 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 „UNIX System V Release 4“ (SVR4) wurden 1989 praktisch alle wichtigen Neuerungen aus BSD und Xenix in System V übernommen.
1987 entwickelte der in Amsterdam lehrende amerikanische Informatiker Professor Andrew S. Tanenbaum ein unixoides 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 am Linux-Kernel.
Auf System V Release 4 von 1989 folgten später noch Release 4.2 und Release 5 nach.
1983 begann Richard Stallman, verärgert über die Proprietarisierung von Unix, mit der Arbeit an einem eigenen, unixoiden Betriebssystem namens GNU und rief mit der Veröffentlichung des GNU-Manifests[7] 1985 eine immer stärker werdende Bewegung für freie Software ins Leben.
Die 1990er Jahre
1990 erschien „4.3BSD Reno“ und Sun Microsystems veröffentlichte Solaris 1.0. NeXTStep der Firma NeXT Computer wurde kontinuierlich weiterentwickelt, war jedoch vorerst exklusiv auf NeXT-Hardware verfügbar.
1991 stellte Linus Torvalds am 5. Oktober seinen Kernel Linux mit der Versionsnummer 0.02 vor. 4.3BSD NET/2 erschien. Eine Gruppe von BSD-Entwicklern verließ die Universität Berkeley und gründete Berkeley Software Design (BSDI).
1992 veröffentlichte Billy Jolitz 386BSD, eine Portierung von 4.3BSD NET/2 auf den Intel-i386-Prozessor.
1993 erschien die Version „4.4BSD“ und BSDI veröffentlichte mit BSD/OS eine kommerzielle Version und Weiterentwicklung von 386BSD – ebenfalls auf 386BSD basierend begann die Entwicklung von NetBSD und FreeBSD. Sun Microsystems veröffentlichte 1993 die erste Version von Solaris für den Intel-i386-Prozessor und NeXTSTEP wurde auf weitere Architekturen portiert und ab 1993 separat von NeXT-Hardware verkauft.
Am 16. Juni 1993 kaufte Novell von AT&T die Unix System Laboratories (USL).
X/Open erwarb 1993 von Novell das ausschließliche Nutzungsrecht für das Warenzeichen UNIX. Ziel war ein herstellerübergreifender Standard, die Single UNIX Specification (SUS) entstand. Ihre Einhaltung wird Voraussetzung für die Lizenzierung der Bezeichnung „UNIX“, die damit eine neue Bedeutung erhielt.
1994 wurde nach Urheberrechtsstreitigkeiten zwischen Novell, USL und BSDI sämtlicher auf USL-Entwicklungen basierender Quellcode aus 4.4BSD entfernt, und es kam zur Veröffentlichung von 4.4BSD-Lite. Die freien BSDs brachten ebenfalls neue, darauf basierende Versionen heraus.
Weiterhin kam es zu den sogenannten Desktop-Kriegen. Siehe dazu: Common Open Software Environment (COSE): HP, IBM, SCO, Sunsoft, Univel/Novell, USL → CDE, Motif, Wabi, Looking Glass.
1995 verkaufte Novell im Rahmen einer langfristig angelegten Kooperation sein UNIX-Geschäft an SCO, behielt aber abgesehen von den Warenzeichen das geistige Eigentum einschließlich Copyrights und Patenten.[8]
1996 schlossen sich OSF und X/Open zur Open Group zusammen. Die Open Group wurde Eigentümer des Warenzeichens UNIX. Im selben Jahr erschien mit OpenBSD eine Abspaltungen von NetBSD und OPENSTEP wurde veröffentlicht, eine nunmehr offene Plattform, die gemeinsam von NeXT und Sun Microsystems aus NeXTSTEP entwickelt worden war.
1997 veröffentlichte die Open Group den Standard „Single UNIX Spec/2“, der jetzt Echtzeit, Threads und 64-Bit-Prozessoren unterstützte. Ebenfalls 1997 übernahm Apple Computer die Firma NeXT und entwickelte OPENSTEP, mit Teilen von Mac OS, bis 2001 zu Mac OS X weiter, das jedoch exklusiv auf Apple-Hardware läuft.
1999 wurden erstmals die Quellen des Basisbetriebssystems von Mac OS X, das wie NeXTSTEP/OPENSTEP bzw. Rhapsody in großen Teilen auf BSD-Unix basiert, unter dem Namen „Darwin“ unter einer freien Lizenz veröffentlicht.
Ab 2000
Im Mai 2001 kaufte Caldera, ein Anbieter einer eher wenig bekannten Linuxdistribution, die Unix-Sparte der Santa Cruz Operations (SCO) auf. SCO benannte sich daraufhin in Tarantella um. Im August 2002 änderte Caldera den Namen in The SCO Group[9] um, da der Markenname SCO bekannter war als der eigene.
2002: ISO/IEC 9945:2002 (Single Unix Spec)
Aufsehen erregten von 2003 bis 2007 Klagen[10] der SCO Group gegen IBM und einige seiner Kunden: IBM habe SCO-Patente, Kerntechnologien und urheberrechtlich geschützte Bestandteile von Unix in den Linux-Kernel einfließen lassen. Die Behauptungen erwiesen sich vor Gericht jedoch als nicht haltbar, insbesondere war SCO aber auch nicht wie behauptet seit 1995 Inhaber des Copyrights des Unix-Codes.
Weiteres dazu hier: SCO gegen Linux
Siehe auch
Literatur
- Jubiläum - Unix wird 40. (Memento vom 9. August 2009 im Internet Archive) In: iX, 8/2009, S. 96
Weblinks
- Dennis Ritchie. Yes, A video game contributed to Unix Development. (englisch)
- The Creation of the UNIX* Operating System (The Bell Labs) (Memento vom 20. Mai 2011 im Internet Archive) (englisch)
- Geschichte und Zeitlinie zu UNIX (The Open Group) (englisch)
- Wichtige Unix Derivate auf einer Zeitleiste von 1969 bis heute (mit Stammbaum zum Ausdrucken)
- The Unix oral history Project (Princeton) (englisch)
- Eine Betriebssystemvorlesung auf Basis von Unix V6 (englisch)
- Die Unix-Gemeinsamkeiten überwiegen aus Computerwoche vom 24. März 1989
- NetBSD: 10 Jahre NetBSD auf heise.de
- Grokline’s UNIX Ownership History Project (englisch)
- 4.4BSD Documents (englisch)
Einzelnachweise
- ↑ Liste der Aufsätze
- ↑ Dennis M. Ritchie: The Evolution of the Unix Time-sharing System*
- ↑ Peter Seibel: Coders at Work. 1. Auflage. Apress, 2009, ISBN 978-1-4302-1948-4, S. 464 (englisch): Seibel: And you just wanted to play around with writing a file system? At that point you weren't planning to write an OS? Thompson: No, it was just a file system.
- ↑ Peter Seibel: Coders at Work. 1. Auflage. Apress, 2009, ISBN 978-1-4302-1948-4, S. 462 (englisch): Seibel: Do you think you benefited to being constrained by the less powerful machine? Thompson: There was certainly a benefit that it was small and efficient. … Computing going autonomous instead of centralized was, I think, the really serendipitous part of it. And that rode in on the PDP-11.
- ↑ Peter H. Salus: A Quarter Century of UNIX. Addison-Wesley, 1994, ISBN 0-201-54777-5, S. 9.
- ↑ Ken Thompson: Users’ Reference to B. (Nicht mehr online verfügbar.) Archiviert vom Original am 6. Juli 2006; abgerufen am 12. Oktober 2018.
- ↑ GNU-Manifest
- ↑ Bericht über das Urteil bei Groklaw
- ↑ Bericht im Heise-Newsticker
- ↑ Klageschrift SCO gegen IBM (englisch)