Zum Inhalt springen

Berkeley Software Distribution

Dies ist ein als lesenswert ausgezeichneter Artikel.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. August 2007 um 23:19 Uhr durch Fishroot (Diskussion | Beiträge) (Berkeley-Software-Distributionen). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Berkeley Software Distribution
Der BSD-Daemon
Der BSD-Daemon
Entwickler Universität von Kalifornien in Berkeley
Lizenz(en) BSD-Lizenz
Akt. Version 4.4BSD-Lite2 (1995)
Abstammung \ UNIX
  \ UNIX V6
    \ UNIX V7
      \ BSD (bis 4.3)
\ BSD (seit 4.4)
Sonstiges Entwicklung am Original eingestellt; an BSD-Derivaten weiter aktiv
www.bsd.org

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 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 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.

Seit den 1990er Jahren sind aus BSD die freien Betriebssysteme FreeBSD (1993), NetBSD (1993), OpenBSD (1995) und DragonFly BSD (2003) entstanden. Ein auf BSD basierendes (und mit FreeBSD recht verwandtes) Betriebssystem wurde als BSD/OS von BSDi, später von Wind River Systems kommerziell vertrieben.

Heute ist Mac OS X, dessen Kern BSD-Code verwendet und dessen Bibliotheken und Userland auf FreeBSD basieren, die verbreitetste kommerzielle Variante.

Die BSD-Lizenz

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.

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:

  • Das BSD-Fast Filesystem, ein schnelleres Dateisystem mit langen Dateinamen (die 7er-Edition erlaubte nur 14 Zeichen)
  • Die TCP/IP-Netzwerkimplementierung
  • Die Socket-Schnittstelle, eine allgemeine Netzwerk-Programmierschnittstelle, die auf anderen Systemen übernommen wurde.
  • Die virtuelle Speicherverwaltung unter Unix wurde in Berkeley realisiert.
  • Neue Kommandos, die C-Shell csh, der Editor vi sowie unter anderem rsh, rexec und rcp.
  • Neue Daemonen wie z. B. timed und sendmail.

Entwicklungsgeschichte

BSD entwickelte sich aus dem Unix der Bell-Labs

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 5er- und 6er-Edition 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. 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. 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 Leistung 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.

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 Solaris2), 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.

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.

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.

BSD und AT&Ts Unix-Quellcode

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 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 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 18.000 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.

Versionen

BSD 1977 für PDP-11 von Bill Joy – Pascal, ex
2BSD 1978 für PDP-11 – vi-Editor
3BSD 1979 Portierung auf VAX-Computer, erste virtuelle Speicherverwaltung
4BSD 1980 Neue Version für VAX – mail, Job-Control
2.8BSD 1981 Weiterentwicklung für PDP-11
4.1BSD 1981 Leistungverbesserungen
4.1a, 4.1b, 4.1b 1982 Interne Versionen, Netzwerk-Weiterentwicklung, Leistungsverbesserungen
2.9BSD 1983 Weiterentwicklung für PDP-11
4.2BSD 1983 neues Dateisystem, TCP/IP
4.3BSD 1986 Leistungverbesserungen, robuste Netzwerkimplementierung
4.3BSD-Tahoe 1988 Separation der maschinenabhängigen und portablen Kernelteile
2.10.1BSD 1989 Letzte Version der Weiterentwicklung für PDP-11
Net/1 1989 Networking Release/1
4.3BSD-Reno 1990 Mach Support, Portierung von Suns Network File System NFS
Net/2 1991 Networking Release/2, auch 4.3BSD-Lite
2.11BSD 1992 Portierung von 4.3BSD auf PDP-11-Computer
386BSD 1992 von Bill Jolitz (4.3BSD-Lite mit Unterstützung für Intel 80386-Prozessoren)
BSDi-Unix 1992 BSDi bietet kommerzielle Version der BSD als Unix an
4.4BSD-Encumbered 1994 ohne AT&T Code
4.4BSD-Lite 1994 ohne AT&T Code
BSD/OS 1994 neuer Name des Systems der BSDi
4.4BSD-Lite2 1995 letzte Release der Berkeley Software Distribution

Die Projekte NetBSD, FreeBSD und OpenBSD

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-Quellcode 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 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.

Gemeinsamkeiten und Unterschiede der BSDs

Die BSD-Projekte verstehen sich weniger als Konkurrenten, sondern als Kommilitonen. 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. Derzeit ist es auf 54 Architekturen lauffähig, weshalb es unbestritten als das zweitportabelste Betriebssystem (nach Linux) bezeichnet werden kann. Ein besonderes Augenmerk liegt dabei 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. Dass diese Merkmale nicht nur auf exotischen Hardwareplattformen ihre Vorzüge offenbaren, beweist die zunehmende Zahl an Nutzern, die NetBSD auf herkömmlichen x86-Desktop-Systemen einsetzen.

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öffentlicht das Projekt daher Installation-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 System. Dazu gehört zum einen proaktive Sicherheit, d.h. über Code-Audits sollen soweit wie möglich Fehler entdeckt und im voraus eliminiert werden. Dies bedeutet aber bei weitem nicht, dass bei den anderen BSD 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

Siehe auch

Vorlage:Navigationsleiste Unix-ähnliche Betriebssysteme