Berkeley Software Distribution
Die Berkeley Software Distribution (BSD) ist eine Version des Betriebssystems Unix, die an der Universität von Kalifornien in Berkeley ab 1977 entstanden ist.BSD basiert auf AT&Ts; Unix Sixth Edition (V6) und Seventh Edition (V7), die ab 1975 (V6) bzw. 1979 (V7) den Universitäten zum Preis der Datenträger zur Verfügung gestellt wurden, verbunden mit der Erlaubnis, den Quellcode einzusehen und zu modifizieren. Inzwischen ist aber der komplette Quellcode umgeschrieben, und es gibt keine einzige Zeile AT&T-Quellcode in aktuellen BSD-Distributionen.
Die ursprüngliche durch die Universität erstellte BSD-Distribution ist kaum noch gebräuchlich. Der Begriff BSD bezeichnet heute viel mehr eine ganze Klasse von Unix-Derivaten, die ihre Wurzel in der eigentlichen BSD haben, wie z. B. die frühen Versionen von SunOS und Ultrix. BSD ist neben System V eine der beiden großen Hauptlinien der Unix-Entwicklung.
Seit den 1990er Jahren sind aus BSD die freien Betriebssysteme FreeBSD (1993), NetBSD(1993), OpenBSD (1995) und DragonFlyBSD (2003) entstanden. Ein auf BSD basierendes Betriebssystem wird heute als BSD/OS von Wind River Systems, Alameda, Kalifornien kommerziell vertrieben.
Der Quellcode der Distribution wurde von Berkeley unter der BSD-Lizenz freigegeben, eine freie Lizenz, die heute in modifizierter Form auch für andere Programmpakete verwendet wird.
Im Gegensatz zur GNU General Public License erlaubt es die BSD-Lizenz, unter Beachtung einiger Regeln, den Quellcode zur Entwicklung eigener, proprietärer Programme zu verwenden.
Diese Programme können dann unter eine beliebige andere (restriktivere) Lizenz gestellt werden,
wie es Apple bei der Entwicklung von Mac OS X und dessen Basis Darwin getan hat.
BSD hatte großen Einfluss auf die Unix-Entwicklung. Es wurden Änderungen am Kernel vorgenommen, das System wurde auch sonst wesentlich erweitert. Viele dieser Neuerungen wurden später entweder direkt oder in ähnlicher Form auch in die konkurrierende System-V-Linie übernommen.
Die wichtigsten Neuerungen sind:
Die Universität Berkeley erhielt 1974 von AT&T die 4er-Edition des
noch neuen Betriebssystems Unix. Dieses war gerade in C umgeschrieben worden,
ein C-Entwicklungssystem war Teil des Systems. Sofort wurde mit der
Erweiterung des Systems, das auf einer PDP-11 Maschine der Firma
Digital Equipment Corporation (Digital) lief, begonnen. Die Arbeiten beschleunigten sich,
als 1976 Ken Thompson, ein maßgeblicher Unix-Entwickler,
eine Gastprofessur in Berkeley antrat. Inzwischen waren auch die 5er-
und 6er-Edition erschienen.
Die Erweiterungen und Änderungen stellte der damalige Student Bill Joy 1977
erstmals zusammen und stellte es externen Interessenten auf einem Magnetband zur Verfügung – die erste Berkeley-Software-Distribution.
1978 waren bereits so viele neue Teile hinzugekommen, dass
die zweite Berkeley Software Distribution (2BSD) zusammengestellt wurde. Diese
enthielt bereits die erste Version des Editors vi.
Inzwischen hatte Digital eine neue Prozessorlinie namens VAX herausgebracht,
deren erster Vertreter die VAX-11/780 war.
VAX hieß eigentlich Virtual Address Extension und war zunächst als Erweiterung für
die PDP-11 Linie gedacht. Die VAX wurde aber eine eigene Prozessorlinie und
Digital plante, den Verkauf von PDP-Maschinen zugunsten der VAX-Linie einzustellen.
AT&T hatte zwar bereits eine Portierung von Unix V7 auf den VAX-Prozessor fertiggestellt
(Version 32/V), diese unterstützte jedoch keine virtuelle Speicherverwaltung.
Berkeley portierte 2BSD auf die VAX-11/780 und implementierte
eine virtuelle Speicherverwaltung. Für VAX-Maschinen erschienen 1979 3BSD und
dann 1980 4BSD.
Die Entwicklung von BSD-Versionen für PDP-11s wurde unabhängig davon mit 2BSD
weitergeführt, da der Adressraum der PDPs von nur 64 KByte zu klein für die neuen
Versionen war.
1980 wurde ein Vertrag mit der Forschungsabteilung des amerikanischen
Verteidigungsministeriums DARPA geschlossen. 3BSD und 4BSD sollten die Grundlage
für die DARPA Entwicklungen, insbesondere im Bereich der Vernetzung werden.
Dies führte zur Integration der Internet-Netzprotokolle (TCP/IP) in die
BSDs.
Gleichzeitig beschloss AT&T ihre 7er-Edition (V7) zum System-III und dann zum System V
weiterzuentwickeln und kommerziell zu vermarkten. Die neue Berkeley Version hieß daher
nicht 5BSD, sondern 4.1BSD, um Verwechslungen auszuschließen. Mit 4.1BSD und den internen
Versionen 4.1a, 4.1b und 4.1c wurde die Performance des Systems verbessert, erste TCP/IP
Protokolle eingefügt und Netzwerkwerkzeuge (rsh, rcp) entwickelt. AT&T übernahm
diese Entwicklungen später in ihr System V Produkt. Da die Berkeley Distribution
immer noch frühen Quelltext von AT&T enthielt, verlangte AT&T den Erwerb
einer (teuren) Lizenz von jedem, der Code aus Berkeley verwendete.
Computerhersteller übernahmen die Berkeley Software Distribution und
passten sie auf ihre Maschinen an.
1982 wechselte Bill Joy zur neu gegründeten Firma Sun Microsystems,
die im selben Jahr die erste Version ihres auf BSD basierenden Betriebssystems
SunOS herausbrachte.
SunOS wurde im Lauf seiner Entwicklungsgeschichte um viele Funktionen des ohnehin lizenzierten System V erweitert, blieb aber lange Zeit seinen BSD-Wurzeln treu.
1983 brachte Digital für PDP-11 Ultrix-11 und dann für
VAX Computer Ultrix-32 heraus. Ultrix basierte ebenfalls auf BSD. Es wurde später
auch auf MIPS-Prozessoren portiert, die Digital in seiner Workstation-Linie verwendete.
Auch andere Unix-Hersteller verwendeten Teile der BSD. So setzte NeXT ab 1988 für ihr Betriebssystem NeXTSTEP ein BSD-System, allerdings mit einem Mach-Mikrokernel, ein. System V übernahm nach und nach
Code von BSD, es bildete die Grundlage dieser Unix-Systeme.
Digital brachte um 1990 ihren Alpha Mikroprozessor heraus, der die VAX- und MIPS-Produkte ablösen sollte. Gleichzeitig wurde die Weiterentwicklung von Ultrix eingestellt, da auf Alpha das neue OSF/1 - ein Unix-Klon - angeboten wurde.
Sun bildete 1988 mit Unix International eine Allianz mit AT&T und
portierte ihr SunOS ebenfalls auf System V mit BSD Erweiterungen. 1992
erschien SunOS5 (auch Solaris22), das kein direkter Abkömmling der BSD-Distribution mehr war.
Damit war der letzte große Unix-Hersteller auf System V umgeschwenkt, alle Unix-Systeme verwendeten jedoch immer noch große Teile der BSD, darunter die von
BSD eingeführten Kommandos und die TCP/IP-Netzwerkimplementierung.
Berkeley setzte seine Tradition fort und entwickelte die Distribution weiter.
1983 erschien 4.2BSD und 1986 4.3BSD. Es wurde klar, dass die
VAX-Prozessoren durch andere Systeme abgelöst werden mussten, mit 4.3BSD-Tahoe (1988) wurde der Kernel in maschinenabhängige und portable Teile getrennt, 1990 erschien mit 4.3BSD-Reno eine Version, die unter anderem den Mach Mikrokernel unterstützte.
4.3BSD wurde sogar auf die PDP-11 Maschinen (zurück-)portiert und 1992 als 2.11BSD veröffentlicht. Der 250kByte große Kernel wurde dabei mit Overlay-Techniken auf den nur 64KByte großen Adressraum der PDP abgebildet.
Ende der 1980er hatte Berkeley so viele Erweiterungen eingebaut,
dass nahezu der gesamte Unix-Quellcode von AT&T durch eigene Versionen ersetzt war.
Hersteller von auf BSD basierenden Unix-Versionen mussten trotzdem
wegen der übrigen Teile eine (teure) System V Lizenz von AT&T erwerben.
Da unter anderem die gesamte Netzwerkimplementierung von Berkeley stammte,
hatten auch andere Hersteller Interesse an den Berkeley Entwicklungen,
jedoch ohne eine AT&T-Lizenz erwerben zu müssen.
1989 gab die Universität deshalb die Networking Release/1 heraus,
die alle von Berkeley identifizierten Dateien ohne Code von AT&T umfasste.
Diese Version stellte jedoch kein vollständiges Betriebssystem mehr dar.
1991 erschien dann die Networking Release/2. Bill Jolitz ergänzte
1992 diese Release um nur sechs Dateien und veröffentlichte einen Patch,
so dass ein vollständiges, fortgeschrittenes Betriebssystem für
Intel 80386 Prozessoren namens 386BSD entstand.
Ebenfalls 1992 begann eine von der Universität Berkeley gegründete
Firma namens BSDi (Berkeley Software Design Inc.) mit der Vermarktung der auch zum Betriebssystem erweiterten Networking Release/2. Sie vermarkteten ihr System unter dem Namen Unix inklusive Quellcode für den Dumping-Preis von 995 Dollar.
Die Unix System Laboratories (USL), ein Zweig von AT&T, verklagten BSDI
und die Universität daraufhin auf Einstellung des Verkaufs wegen
Markenverletzung und teilweiser Verwendung ihres Quellcodes.
Eine einstweilige Verfügung wurde jedoch abgelehnt.
Im Laufe dieses Rechtsstreits stellte sich heraus, dass AT&T Quellcode
von Berkeley übernommen hatte (was wegen der BSD-Lizenz legal war),
dabei jedoch die Urheberschaft Berkeleys aus dem Quellcode und der
Dokumentation entfernt hatte (was in der BSD-Lizenz untersagt ist).
Der Rechtsstreit endete 1994 damit, dass AT&T in einigen seiner
Dateien die Urheberschaft von Berkeley wieder eintragen musste.
Berkeley musste nur drei der über 18000 Dateien der Networking Release/2
entfernen und einige kleine Änderungen durchführen. Die Release war damit
frei von Unix-Quellcode.
Im selben Jahr gab Berkeley dann die Version 4.4BSDLite als Nachfolger
der Networking Release/2 heraus. 1995 war dann die Version 4.4BSDLite2
die letzte Version der Berkeley Software Distribution. 4.4BSDLite und Lite2 wurden zusammen mit 386BSD zur Grundlage von NetBSD, FreeBSD und kurz darauf
OpenBSD.
Die BSDi entwickelte und vertrieb ihr System weiter unter dem Namen BSD/OS. Im Jahre
2001 wurde BSDi von Wind River Systems, Kalifornien aufgekauft.
Das freie 386BSD (1992) von Bill Jolitz zog Entwickler an, zumal PCs mit 80386 Prozessor sehr
preiswert wurden. Jolitz war fest angestellt und hatte nicht immer genügend
Zeit für die Fehlerbehebung und Einarbeitung von Verbesserungsvorschlägen.
Dies veranlasste einige Entwickler im Jahre 1993 zwei Nachfolgeprojekte, NetBSD und FreeBSD, fast gleichzeitig
ins Leben zu rufen.
Nachdem 1994 der Streit mit AT&T beigelegt war, brachten
beide Projekte neue Versionen auf Grundlage von 4.4BSDLite, das keinen AT&T Quellcode mehr enthält, heraus, und zwar
NetBSD 1.0 (1994) und FreeBSD 2.0 (Anfang 1995).
1995 zerstritt sich einer der Gründer des NetBSD Projektes mit den
anderen Entwicklern und spaltete ein eigenes
Projekt namens OpenBSD ab.
Seit 2003 gibt es mit DragonFlyBSD, einer Abspaltung von FreeBSD, ein weiteres BSD Projekt. Auch das Betriebssystem Mac OS X und dessen Open Source Pendant Darwin von Apple, die nach dem Aufkauf von NeXT entwickelt wurden, basieren weitgehend auf BSD, speziell FreeBSD. Durch die Fortführung und Weiterentwicklung von NeXTSTEP als Mac OS X erfuhr BSD einen technologischen Aufschwung und eine sehr starke Verbreitung, die es mittlerweile als ähnlich wichtig wie Linux erscheinen lässt.
Die drei BSD-Projekte verstehen sich nicht als Konkurrenz, sondern als Ergänzung.
Neuentwicklungen und insbesondere die zahlreichen Gerätetreiber eines Projekts werden
in den anderen übernommen. Alle Projekte haben die Entwicklung eines freien Systems zum Ziel, ins eigentliche System soll
daher nur mit der BSD-Lizenz kompatibler Code einfließen. Die Details
der Interpretation des Begriffs freie Software unterscheiden sich jedoch
geringfügig.
NetBSD möchte eine möglichst große Zahl verschiedener Hardwarearchitekturen
und Prozessoren unterstützen. Of course it runs NetBSD. ist der Slogan des
Projekts. NetBSD war lange nur über Downloads im Internet verfügbar und
wendet sich vorwiegend an Anwender mit Unix-Kenntnissen.
FreeBSD konzentriert sich auf PC Hardware mit Intel 80386 Prozessor.
Möglichst alle der erhältlichen Grafikkarten, Netzwerkkarten usw. sollen
erkannt und unterstützt werden.
Eine einfache Installation ist das Ziel des Projekts, so
dass auch Nichtfachleuten die Verwendung dieses Systems ermöglicht wird.
Schon früh veröffentlicht das Projekt daher Installation-CDs. Neben Intel Prozessor werden heute auch andere Prozessoren wie Sun SPARC und Alpha unterstützt.
OpenBSD verfolgt dagegen das Ziel eines sicheren Systems. Dazu gehört zum einen
proaktive Sicherheit, d. h. über Code-Audits sollen soweit wie möglich
Fehler entdeckt und im voraus eliminiert werden. OpenBSD ist führend
in der Implementation von sicheren, verschlüsselten Übertragungsverfahren. IPSec-Unterstützung gehört ebenso dazu wie eine offene Implementierung der
Secure Shell ssh (OpenSSH).
Siehe auch: Geschichte von Unix Sockets
Die BSD-Lizenz
Neuerungen von Berkeley
Entwicklungsgeschichte
Die Anfänge
VAX Computer und DARPA Einfluss
Die kommerzielle Ära
Aufstieg
und Fall
Weiterentwicklungen bei Berkeley
BSD und AT&Ts Unix-Quellcode
Berkeley Software Distributionen
Die Projekte NetBSD, FreeBSD und OpenBSD
Gemeinsamkeiten und Unterschiede der BSDs
Weblinks
- deutsche BSD Nachrichten- und Forenseite (fusioniert in den nächsten Tagen mit www.bsdforen.de)