Zum Inhalt springen

FreeBSD

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 3. April 2005 um 03:04 Uhr durch 217.3.232.201 (Diskussion) (revert). Sie kann sich erheblich von der aktuellen Version unterscheiden.

FreeBSD ist ein Open-Source-Betriebssystem aus der BSD-Familie und gehört damit zu den Unix-Derivaten.

Eigenschaften

Bei der Entwicklung von FreeBSD konzentrierte man sich am Anfang hauptsächlich auf die x86-Architektur. Seit Version 4.x läuft FreeBSD jedoch auch auf Alpha-Prozessoren und auf den in Japan verbreiteten PC98. Mit der neuesten Version (FreeBSD 5) werden auch Intel IA-64, AMD AMD64, sowie Sun SPARC64 (UltraSPARC®) Systeme unterstützt. Eine Version für PowerPC-Prozessoren ist in Entwicklung.

Das Internetprotokoll TCP/IP Version 4 ist eine BSD-Entwicklung und so liegen FreeBSDs Stärken natürlich im Netzwerkbereich. Mit der IPv6-Implementierung des KAME-Projekts waren die BSDs unter den ersten Betriebssystemen mit IPv6- und IPSec-Unterstützung. FreeBSD unterstützt Netzwerkprotokolle auf verschiedensten Ebenen, zum Beispiel 802.1q VLANs, PPP, L2TP. FreeBSD unterstützt verschiedenste Netzwerkhardware (Gigabit Ethernet, WLAN, ATM, ISDN, FDDI) und stellt drei verschiedene Paketfilter-Implementierungen zur Verfügung, das auch für proprietäre Unixe verfügbare "IPFilter", die Eigenentwicklung "ipfw" und den OpenBSD-Paketfilter "pf". Mit "dummynet" steht ein leistungsfähiger Trafficshaper zur Verfügung.

FreeBSD unterstützt die meiste gängige PC-Hardware: USB 2.0, Bluetooth, PCMCIA, SCSI und S-ATA RAID-Controller. Allerdings werden – ähnlich wie bei Linux – die wenigsten Treiber vom Hardwarehersteller bereitgestellt, sondern von den FreeBSD Entwicklern selbst geschrieben. Für Netzwerkkarten gibt es jedoch neuerdings ab Version 5.3 eine Implementierung der Windows-NDIS-Schnittstelle ("NDISulator", "Project Evil"), über die Windowstreiber verwendet werden können (zum Beispiel für Intels Centrino).

Neben den "Basissystem" genannten Standard-Unixprogrammen stehen über ein Softwarepaketmanagementsystem, die so genannten "ports", über 12.000 Third-Party-Programme zur Verfügung. Hier finden sich die meisten Open-Source-Programme, wie zum Beispiel Apache, PostgreSQL, MySQL, Samba, KDE, GNOME, Mozilla, WINE und OpenOffice.org sowie einige proprietäre Programme. Beim Installieren über das Portssystem wird die Software (wenn möglich) automatisch aus dem Internet heruntergeladen und installiert. Das Portssystem besteht lediglich aus Informationen, woher man die Software bekommt, welche Änderungen für FreeBSD notwendig sind und wie die Software zu installieren ist. Außerdem werden alle Dateien die ein Softwarepaket installiert aufgezeichnet, so dass das Paket auch wieder deinstalliert werden kann.

Proprietäre Linux Binärprogramme (z. B. Oracle, Mathematica) können über den so genannten "Linuxulator" ausgeführt werden. Dies ist ein Wrapper, der Linux-Syscalls auf FreeBSD-Syscalls mappt. Für das SCO-IBCS-Format existiert ein ähnlicher Emulator.

Außer den zusätzlich unterstützten Architekturen wurden in FreeBSD 5.x folgende neue Funktionen implementiert:

Datei:Logo freebsd.jpg
FreeBSD Logo
  • Verbesserte SMP-Unterstützung
  • KSE, Kernel Scheduled Entities, eine neue Multithreading-Implementation, optimiert für SMP-Systeme
  • Eine GCC-3.4-basierte Toolchain
  • Mandatory Access Control policies (MAC), ein System zur Unterstützung von komplexeren Benutzerberechtigungen
  • ein neues Disk I/O System (GEOM), das unter anderem Dateisystemverschlüsselung beherrscht (GBDE)
  • Das FFS-Dateisystem unterstützt jetzt Dateisystemcheck im Hintergrund und das Erzeugen von Dateisystem-Schnappschüssen
  • UFS2 unterstützt jetzt größere Dateisysteme
  • Unterstützung von ACPI, Bluetooth und Cardbus-Hardware
  • Unterstützung von 802.11g-WLAN-Karten (Atheros Chipsätze)

Allerdings waren einige Neuerungen der Version 5.x (insbesondere das SMP Projekt) umstritten. Matt Dillon startete den auf Version 4.x aufsetzenden Fork DragonFlyBSD.

Verbreitung

FreeBSD gilt als robust und stabil und ist deshalb vor allem bei Internet-Providern beliebt. Unter anderem setzt Yahoo! FreeBSD auf ihren Webservern ein.

Spuren von FreeBSD finden sich auch in verschiedenen proprietären Betriebssystemen, was auf das verwendete Lizenzmodell zurückzuführen ist. Teile des TCP/IP-Stacks von Microsoft Windows stammen ebenso von FreeBSD ab wie große Teile von Apples Betriebssystem Mac OS X dessen Kernkomponente Darwin im Quellcode für PPC und i386 verfügbar ist. Das JunOS der Juniper-Router basiert ebenfalls auf FreeBSD.

Weitere BSD-Betriebssysteme sind NetBSD und OpenBSD. Zwischen den BSD-Betriebssystemen findet aufgrund der freien Lizenz und der durch die gemeinsame Herkunft vorhandenen Ähnlichkeit ein reger Quellcodeaustausch statt.

Geschichte

FreeBSD war als Weiterentwicklung von 386BSD geplant, nachdem dieses nicht mehr weiterentwickelt wurde. Die Ursprünge von FreeBSD liegen in einer patch-Sammlung (ein sogenanntes Patchkit) für 386BSD, die 1992/1993 in loser, mittels FTP vertriebener Form existierte. Während in der ersten Hälfte 1993 ein Teil der Patchkit Autoren (und andere) NetBSD gründeten, gründeten die im wesentlichen letzten offiziellen Verantwortlichen des Patchkits Jordan K. Hubbard, Nate Williams, Rod Grimes und David Greenman FreeBSD. Die Entwicklung mittels eines CVS-Archivs begann im Juli 1993 basierend auf den Quelltexten von 386BSD, 4.3BSD-Lite (Net/2) und dem dazu existierenden Patchkit. Im November 1993 erschien die erste Version FreeBSD 1.0.

Als Folge des Vergleichs im Urheberrechtsstreit zwischen Novell und der UCB wurden große Teile des Net/2-Quellcodes Novell zugesprochen. Dieser musste deshalb auch aus FreeBSD entfernt werden. Das im November 1994 erschienene FreeBSD 2.0 basierte deshalb auf den Quelltexten von 4.4BSD-Lite.

1998 erschien Version 3.0. Version 4.0 erschien im März 2000. 2003 erschien Version 5.0.

FreeBSD 5.3 erschien am 6. November 2004 und ist die erste STABLE-Version der FreeBSD 5.x-Linie.

Entwicklungsmodell

FreeBSD ist unter der BSD-Lizenz frei und kostenlos verfügbar und wird von über 350 Entwicklern aus der ganzen Welt und unzähligen Benutzern kontinuierlich weiterentwickelt.

Die Entwickler des FreeBSD Projektes pflegen einen Quelltextbaum, welcher das vollständige System umfasst:

Dieser Quelltextbaum wird mit Hilfe des CVS-Systems verwaltet. Das System ist daher sehr homogen, da alle Systembestandteile von einer Entwicklergruppe (dem FreeBSD Projekt) gepflegt werden.

Bei FreeBSD spielt die Verfügbarkeit des Quelltexts auch praktisch eine grosse Rolle: viele Anwender halten einen lokalen Quelltextbaum vor und synchronisieren ihn regelmäßig per CVSup-System über das Netz mit einem zentralen Quelltextarchiv (Repository). Daraus kann man dann entweder nur den Kernel aktuell neu bauen oder einfach alles. Das dauert zwar ein wenig länger, als ein Binärpaket zu installieren, dafür passen hinterher alle Systemkomponenten perfekt zusammen. Wer ein lokales CVS-Repository installiert, kann darin in den alten Versionen der Quelltexte und den Anmerkungen der Entwickler recherchieren, und somit sehr gut Einsicht in den Aufbau und die Funktionsweise des Systems gewinnen.

Die Entwicklung von FreeBSD läuft in mehreren Zweigen: Einem STABLE-Zweig (im November aktuelle Version 5.3), von dem alle 4–6 Monate neue Versionen veröffentlicht werden und einem CURRENT-Zweig (seit November 2004 6.0 genannt), wo neue Features entwickelt und getestet werden, bevor sie nach einiger Zeit in den STABLE-Zweig überführt werden. Das CVS-Repository wird über ein mehrstufiges Spiegelkonzept mittels des eigens entwickelten Protokolls CVSup über die ganze Welt verteilt.

Die Kommunikation zwischen Entwicklern untereinander und mit Benutzern findet wie bei vielen Open-Source-Projekten hauptsächlich über das Internet statt (Mailinglisten, Newsgruppen, IRC). Zusätzlich gibt es in verschiedenen Teilen der Welt so genannte BSDcons, bei denen Entwickler und interessierte Benutzer neue Projekte vorstellen und diskutieren. Die größte BSDcon findet in den USA im Rahmen der USENIX-Konferenz statt.

Koordiniert wird die Entwicklung vom Core Team, das alle zwei Jahre von den aktiven Entwicklern mit CVS Zugriff gewählt wird. Weitere Gruppen sind für spezielle Aufgaben zuständig, so gibt es zum Beispiel Release Engineering Teams, die die Veröffentlichung von neuen Versionen koordinieren und ein Security Team, das für die schnelle Behebung und Veröffentlichung von Sicherheitslücken zuständig ist.

Die Benutzer sind bei FreeBSD ähnlich wie bei Linux häufig in Usergroups organisiert.

Literatur

  • Marshall Kirk McKusick und George V. Neville-Neil: The Design and Implementation of the FreeBSD Operating System, Addison-Wesley, 2004, ISBN 0-201-70245-2 – Beschreibung des Betriebssystems auf akademischen Niveau
  • Greg Lehey: The Complete FreeBSD, 4th Edition, O'Reilly, 2003, ISBN 0-596-00516-4 – Installation, Konfiguration und Gebrauch des FreeBSD Systems