FreeBSD
FreeBSD ist ein Open-Source-Betriebssystem aus der BSD-Familie und gehört damit zu den Unix-Derivaten.
Table of contents |
2 Verbreitung 3 Geschichte 4 Features 5 Weblinks |
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.
FreeBSD wird im Gegensatz zu Linux, welches von Distributoren aus dem eigentlichen Linux-Kernel und einer Vielzahl von weiteren Komponenten zusammengestellt wird, als komplettes Betriebssystem per CVS verwaltet. Die Entwicklung von FreeBSD läuft in mehreren Zweigen: Einem STABLE-Zweig (im Mai 2004 aktuelle Version 4.10), von dem alle 4-6 Monate neue Versionen veröffentlicht werden und einem CURRENT-Zweig (im April 2004 aktuelle Version 5.2.1), 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.
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 kommerziellen 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 Quellcode unter der Bezeichnung Darwin 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 vorhandene Ähnlichkeit ein reger Quellcodeaustausch statt.
Geschichte
FreeBSD war als Weiterentwicklung von 386BSD geplant, nachdem dieses nicht mehr weiterentwickelt wurde.
Die Entwicklung begann im Juli 1993 basierend auf den Quelltexten von 386BSD und 4.3BSD-Lite (Net/2). Projektgründer waren Jordan K. Hubbard, Nate Williams, Rod Grimes und David Greenman. 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.
Features
Bei der Entwicklung von FreeBSD konzentrierte man sich am Anfang hauptsächlich auf die x86-Architektur. FreeBSD 4.x läuft jedoch auch auf Alpha-Prozessoren und auf den in Japan verbreiteten PC98. Mit 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 Firewall-Implementierungen zur Verfügung, das auch für kommerzielle Unixe verfügbare "IPfilter", die Eigenentwicklung "Ipfw" und die OpenBSD-Firewall "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 im CURRENT-Zweig eine Implementierung der Windows-NDIS-Schnittstelle ("NDISulator"), ü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 11.000 Third-Party-Programme zur Verfügung. Hier finden sich die meisten Open-Source-Programme, wie z. B. Apache, MySQL, Samba, KDE, GNOME, Mozilla, WINE und OpenOffice.org sowie einige kommerzielle Programme. Beim Installieren über das Portssystem wird die Software (wenn möglich) automatisch aus dem Internet heruntergeladen und installiert. Das Portssystem besteht legendlich 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.
Kommerzielle 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:
- Verbesserte SMP-Unterstützung
- KSE, Kernel Scheduled Entities, ein neuer Scheduler
- Eine GCC-3.3-basierte Toolchain
- Mandatory Access Control policies (MAC), ein Sytem 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)
Weblinks