Dies ist ein als lesenswert ausgezeichneter Artikel.

Berkeley Software Distribution

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. September 2016 um 22:10 Uhr durch 77.180.211.229 (Diskussion) (→‎Weitere BSD-Varianten: k). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Berkeley Software Distribution
Wortmarke
Entwickler Universität von Kalifornien in Berkeley
Lizenz(en) BSD-Lizenz
Akt. Version 4.4BSD-Lite2 (1995)
Kernel Monolithisch
Abstammung Früher (bis Version 4.3):
UNIX
↳ BSD
Seit Version 4.4-Lite:
BSD
Architektur(en) PDP-11, VAX, Intel 80386
Sonstiges Entwicklung eingestellt
Fortsetzung durch BSD-Derivate
www.bsd.org

Die Berkeley Software Distribution (BSD) ist eine Variante 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, da das Unternehmen zu diesem Zeitpunkt noch das Telekommunikationsmonopol in den USA innehatte und daher keine Geschäfte im Computerbereich tätigen durfte,[1][2] verbunden mit der Erlaubnis, den Quelltext einzusehen und zu modifizieren. Diese Erlaubnis blieb auch später noch zu Zwecken der Lehre erhalten.[3] Inzwischen ist der gesamte Quelltext umgeschrieben, d.h. es gibt keine einzige Zeile AT&T-Quelltext in aktuellen BSDs.

Die ursprüngliche durch die Universität erstellte BSD ist kaum noch gebräuchlich. Der Begriff BSD bezeichnet heute vielmehr 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.

Heute ist Mac OS X, dessen XNU-Kernel auf Mach basiert und das auf dem Userland von FreeBSD aufbaut, die meistverbreitete und kommerziell bei weitem erfolgreichste Desktop-Unix-Variante im Computer-Markt.

Die BSD-Lizenz

Der Quelltext der Distribution wurde von Berkeley unter der BSD-Lizenz freigegeben, bei der es sich, in der heute modifizierten Form, um eine freie Lizenz handelt, welche auch für andere Programmpakete verwendet wird. Im Gegensatz zur GNU General Public License erlaubt es die BSD-Lizenz, unter Beachtung einiger Regeln den Quelltext zur Entwicklung eigener, proprietärer Programme zu verwenden.

Neuerungen von Berkeley

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 waren:

Entwicklungsgeschichte

BSD entwickelte sich aus dem Unix der Bell-Labs.

Im Folgenden wird die Geschichte der Berkeley Software Distribution vom Erwerb einer Kopie von Unix aus den Bell Laboratories durch die UCB bis zur Version 4.4-Lite2 beschrieben.[4]

Die Anfänge

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 begonnen, das auf einer PDP-11-Maschine der Firma Digital Equipment Corporation (Digital) lief. Die Arbeiten beschleunigten sich, als 1976 Ken Thompson, ein maßgeblicher Unix-Entwickler, eine Gastprofessur in Berkeley antrat. Inzwischen waren auch die Editionen 5 und 6 erschienen.

Die Erweiterungen und Änderungen fasste der damalige Student Bill Joy 1977 erstmals zusammen und stellte sie 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.[2] Diese enthielt bereits die erste Version des Editors vi.

VAX-Computer und DARPA-Einfluss

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.[2] 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 BSD-Varianten.

Gleichzeitig beschloss AT&T, ihre 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 Leistung des Systems verbessert, erste TCP/IP-Protokolle eingefügt und Netzwerkwerkzeuge (rsh, rcp) entwickelt. Dies und viele von Berkeley erstellte Hilfsprogramme veranlassten Sun, DEC und andere Hersteller von Hardware, ihre Versionen von UNIX auf BSD aufzubauen anstatt auf dem offiziellen System V von AT&T. So etablierte sich BSD im akademischen und militärischen Bereich.[5] 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.[2]

Die kommerzielle Ära

Aufstieg

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.

Fall

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 Solaris 2), das nicht mehr ein direkter Abkömmling von BSD 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.

Weiterentwicklungen bei Berkeley

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.[2]

4.3BSD wurde sogar auf die PDP-11-Maschinen (zurück-)portiert und 1992 als 2.11BSD veröffentlicht. Der 250 KByte große Kernel wurde dabei mit Overlay-Techniken auf den nur 64 KByte großen Adressraum der PDP abgebildet.

BSD und AT&Ts Unix-Quelltext

Ende der 1980er Jahre hatte Berkeley so viele Erweiterungen eingebaut, dass nahezu der gesamte Unix-Quelltext 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.[2] 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.[2]

Ebenfalls 1992 begann eine von der Universität Berkeley gegründete Firma namens Berkeley Software Design Inc. (BSDi) mit der Vermarktung der auch zum Betriebssystem erweiterten Networking Release/2. Sie vermarkteten ihr System unter dem Namen "Unix" inklusive Quelltext für den niedrigeren 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 Quelltextes.[6] Eine einstweilige Verfügung wurde jedoch abgelehnt.

Im Laufe dieses Rechtsstreits stellte sich heraus, dass AT&T Quelltext von Berkeley übernommen hatte (was wegen der BSD-Lizenz legal war), dabei jedoch die Urheberschaft Berkeleys aus dem Quelltext und der Dokumentation entfernt hatte (was in der BSD-Lizenz untersagt ist).[6] 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 18.000 Dateien der Networking Release/2 entfernen und einige kleine Änderungen durchführen. Die Release war damit frei von Unix-Quelltext.

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.[2]

Die BSDi entwickelte und vertrieb ihr System weiter unter dem Namen BSD/OS. Im Jahre 2001 wurde BSDi von der kalifornischen Firma Wind River Systems aufgekauft.

Versionsgeschichte

Version Veröffentlichung Anmerkungen
BSD 1977
2BSD 1978
  • Weiterentwicklung (PDP-11)
  • Auszug (Programme): vi
3BSD 1979
4BSD 1980
  • Weiterentwicklung (VAX)
  • Auszug (Programme): mail, Job-Control
2.8BSD 1981
  • Weiterentwicklung (PDP-11)
4.1BSD 1981
  • Weiterentwicklung (VAX)
  • Diverse Leistungsverbesserungen
4.1BSDx 1982
  • Interne Versionen: BSD4.1a, BSD4.1b, BSD4.1c
  • Netzwerk-Weiterentwicklung
  • Diverse Leistungsverbesserungen
2.9BSD 1983
  • Weiterentwicklung (PDP-11)
4.2BSD 1983
4.3BSD 1986
  • Robuste Netzwerkimplementierung
  • Diverse Leistungsverbesserungen
4.3BSD-Tahoe 1988
  • Separation der maschinenabhängigen und portablen Kernelteile
2.10.1BSD 1989
  • Letzte Version und Weiterentwicklung der ursprünglichen PDP-11-Linie
4.3BSD-Net/1 1989
  • Networking Release/1
4.3BSD-Reno 1990
4.3BSD-Net/2 1991
  • Networking Release/2 (auch 4.3BSD-Lite)
2.11BSD 1992
  • Rückportierung von 4.3BSD auf PDP-11
BSD/386 1992
  • Kommerzielle Version von Berkeley Software Design, Inc. mit Unterstützung für Intel i386-Prozessoren
386BSD 1992
  • Portierung von 4.3BSD-Lite auf Intel i386-Prozessoren durch Bill Jolitz
4.4BSD-Lite 1994
  • Erste vollständig von AT&T-Quelltext freie Version (auch 4.4BSD-Encumbered)
BSD/OS 1994
  • Weiterentwicklung (386BSD)
  • Zusätzliche Unterstützung von Sun-SPARC- und PowerPC- Prozessoren
4.4BSD-Lite2 1995
  • Letzte Version der Berkeley Software Distribution

Die Projekte NetBSD, FreeBSD und OpenBSD

Unix-Stammbaum

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.4BSD-Lite heraus, das keinen AT&T-Quelltext mehr enthält: NetBSD 1.0 (1994) und FreeBSD 2.0 (Anfang 1995).

1995 zerstritt sich einer der Gründer des NetBSD-Projektes, Theo de Raadt, mit den anderen Entwicklern und spaltete ein eigenes Projekt namens OpenBSD ab. Seit 2003 gibt es mit DragonFly BSD, einer Abspaltung von FreeBSD, ein weiteres BSD-Projekt. Auch das Betriebssystem Mac OS X und dessen Open-Source-Pendant Darwin von Apple basieren in Teilen (welche der „normale“, GUI-orientierte Anwender allerdings kaum bemerkt) auf BSD, speziell FreeBSD. Durch die Fortführung und Weiterentwicklung von NeXTStep als Mac OS X erfuhr BSD erneut einen technischen Aufschwung und eine weite Verbreitung.

Gemeinsamkeiten und Unterschiede der BSDs

Neuentwicklungen und insbesondere die zahlreichen Gerätetreiber eines Projekts werden von den anderen meist problemlos ü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. Ein besonderes Augenmerk liegt auf der Durchsetzung eines systemweiten, sauberen Designs und einer klaren Struktur. Dazu gehört die kontinuierliche Schaffung und Verbesserung maschinenunabhängiger Schnittstellen, etwa für Gerätetreiber, welche die sprichwörtliche Portabilität von NetBSD überhaupt erst ermöglichen.

Aufgrund seiner Öffentlichkeitsarbeit zählt FreeBSD zu den am weitesten bekannten BSD-Varianten. FreeBSD konzentrierte sich anfangs auf PC-Hardware mit Intels 80386-Prozessor. Eine einfache Installation ist ein Ziel des Projekts, so dass auch Nichtfachleuten die Verwendung dieses Systems ermöglicht wird. Schon früh veröffentlichte das Projekt daher Installations-CDs. Neben Intel- und AMD-Prozessoren werden auch andere Prozessoren wie Sun SPARC und Alpha unterstützt.

OpenBSD verfolgt als eines der Hauptziele die Entwicklung des sichersten freien Systems. Dazu gehört zum einen proaktive Sicherheit, das heißt über Code-Audits sollen so weit wie möglich Fehler entdeckt und im Voraus eliminiert werden. Dies bedeutet aber bei weitem nicht, dass bei den anderen BSD-Varianten die Sicherheit vernachlässigt würde. OpenBSD ist führend in der Implementierung von sicheren, verschlüsselten Übertragungsverfahren. IPsec-Unterstützung gehört ebenso dazu wie eine offene Implementierung der Secure Shell namens OpenSSH.

Weitere BSD-Varianten

BSD-Derivate

Literatur

Weblinks

Einzelnachweise

  1. Sascha Kersken: IT-Handbuch für Fachinformatiker. Galileo Computing, 2009, ISBN 978-3-8362-1420-9
  2. a b c d e f g h Finding Aid to the Berkeley Software Distribution Records (PDF; 20 KB) Online Archive of California
  3. AT&T-Regents of the U. of California – The 1983 Educational License bei Groklaw
  4. Sofern nicht anders angegeben, stützen sich die Aussagen dieses Abschnittes auf die Zusammenfassung der Geschichte von BSD durch Marshall Kirk McKusick im Artikel Twenty Years of Berkeley Unix, O’Reilly Online Catalog 1999, ISBN 1-56592-582-3
  5. Andrew S. Tanenbaum: Moderne Betriebssysteme. Pearson, 2009, ISBN 978-3-8273-7342-7
  6. a b USL vs. BSDI documents Sammlung der Bell-Labs