- Free BSD
-
FreeBSD Bildschirmfoto
FreeBSD Message of the DayBasisdaten Entwickler The FreeBSD Project Version 7.2
(4. Mai 2009)Abstammung Früher (bis Version 1.x)
\ UNIX \ BSD \ 386BSD \ FreeBSD
Seit Version 2.0
\ BSD \ FreeBSDArchitekturen PC98, Alpha, SPARC, PPC, x86, x86-64, Itanium, Itanium 2 Lizenz BSD-Lizenz Sonstiges Preis: beliebig
Sprache: EnglischWebsite www.freebsd.org FreeBSD ist ein freies, unixoides Betriebssystem aus der BSD-Familie.
Inhaltsverzeichnis
Eigenschaften
Bei der Entwicklung von FreeBSD konzentrierte man sich am Anfang hauptsächlich auf die x86-Architektur. Seit Version 3.0 läuft FreeBSD jedoch auch auf Alpha-Prozessoren und auf den in Japan verbreiteten PC98. Mit der Version 5.0 wurden zusätzlich die Architekturen AMD64 (die auch auf aktuellen Intel-Prozessoren 64-Bit-Verarbeitung erlaubt), IA-64 sowie SPARC64 unterstützt; seit Version 6.0 gibt es auch eine experimentelle Version für PowerPC-Prozessoren. Ab Version 7 werden Alpha-Prozessoren nicht mehr unterstützt. Derzeit wird auch an Portierungen auf die ARM-Architektur und auf die MIPS-Architektur gearbeitet.
Netzwerk
FreeBSDs Stärken liegen 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.
- Verschiedenste Netzwerkhardware wird unterstützt: Gigabit Ethernet, WLAN, ATM, ISDN, FDDI
- Es stehen 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 weiterhin ein leistungsfähiger Trafficshaper zur Verfügung.
Hardware-Support
FreeBSD unterstützt einen Großteil der gängigen 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 seit 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).
Software-Verwaltung
- Bei der Installation kann je nach Einsatzzweck eine Vorauswahl von Paketen getroffen werden, darunter "Desktop", "Server", "Entwicklungssystem" und "minimal".
- Über eine Paketverwaltung, die sogenannten Ports, kann aus rund 18.000 Drittanbieter-Programmen eine Installation komfortabel durchgeführt werden. Hier finden sich die meisten Open-Source-Programme für Server und Desktop sowie einige proprietäre Programme. Die meisten Ports werden als Sourcecode geladen, meist aus dem Netz, und dann auf dem eigenen System kompiliert.
- Einige weit verbreitete Pakete oder Tools stehen auch als fertige Binaries zur Verfügung ('package'), und können dann ohne Kompilieren schneller installiert werden.
- Neben der eigenen Binärschnittstelle (ABI) unterstützt FreeBSD die Formate von GNU/Linux und UNIX System V R4. Damit kann auch speziell für diese Systeme entwickelte Software für FreeBSD genutzt werden. Für Linux-Kompatibilität steht weiterhin spezielle Software zur Verfügung.
Virtualisierung
FreeBSD stellt seit Version 4.X auch die Virtualisierungsumgebung jails zur Verfügung. Aus dem Innern eines Jails (dt. Gefängnis) ist kein Zugriff auf die System- und Konfigurationsdateien des Haupt-Systems möglich - es verwendet seine eigenen Dateien, Prozesse und auch User-Accounts, sodass die Umgebung sich (fast) nicht von der eines vollwertigen Systems unterscheidet. Gegenüber etwa Chroot bietet dies eine Reihe von Vorteilen, insbesondere im Blick auf Sicherheit, Administration und Performance. Im Vergleich zu Paketen wie Xen oder VMware wiederum ist die Umsetzung sehr viel einfacher und transparenter, bietet aber auch nicht die Möglichkeit, ein fremdes Betriebssystem zu betreiben.
In anderen Systemen sind Abwandlungen von FreeBSD-jails als sysjails bekannt.
Verbreitung
FreeBSD ist robust und stabil und ist deshalb vor allem bei Internet-Providern beliebt. Unter anderem setzt Yahoo das Open-Source-Betriebssystem 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 von Apples Betriebssystem Mac OS X, dessen Kernkomponente Darwin im Quellcode für PPC und i386 verfügbar ist, basieren auf FreeBSD. Das JunOS der Juniper-Router, VxWorks[1] und das DataONTAP des Speichersystem-Herstellers NetApp basieren ebenfalls auf FreeBSD.
Weitere BSD-Betriebssysteme sind NetBSD, OpenBSD und DragonFly BSD. 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 des Jahres 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 University of California wurden einige 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.
Im Oktober 1998 erschien Version 3.0, im März 2000 Version 4.0 und im Januar 2003 Version 5.0.
Version 5.5
Am 25. Mai 2006 wurde 5.5, die aktuelle Version der 5.x-Linie, veröffentlicht. Außer den zusätzlich unterstützten Architekturen wurden in dieser Version eine Reihe von neuen Funktionen implementiert:
- Verbesserte SMP-Unterstützung, Kernel Scheduled Entities, eine neue Multithreading-Implementation, optimiert für SMP-Systeme
- Mandatory Access Control (MAC) Policies, ein System zur Unterstützung von komplexeren Benutzerberechtigungen
- Ein neues Disk-I/O-System (GEOM), das eigens für das FreeBSD Projekt durch Poul-Henning Kamp und die Forschungsabteilung von Network Associates im Rahmen eines DARPA Forschungsprogrammes entwickelt wurde. Durch einfache Strukturierung der Schnittstellen zwischen fordernden und ausführenden Instanzen war es möglich, Zwischenschichten zwischen den eigentlichen Speichermedien und den ursprünglich fordernden Instanzen (verschiedene RAID-Level, Verschlüsselung (GBDE)) einzufügen.
- Das FFS-Dateisystem unterstützt den Dateisystemcheck im Hintergrund und das Erzeugen von Dateisystem-Schnappschüssen.
- Unterstützung von ACPI, Bluetooth, IEEE 1394 und Cardbus-Hardware
- Unterstützung von 802.11a/b/g-WLAN-Karten
- eine komplette Überarbeitung des Virtualisierungscontainers (jails)
Allerdings waren die SMP-Neuerungen der Version 5.x umstritten. Matt Dillon startete u.a. deshalb die auf Version 4.x aufsetzende Abspaltung DragonFly BSD.
Version 6.0
Am 3. November 2005 wurde Version 6.0 veröffentlicht. Wesentliche Neuerungen:
- Verbesserung der WLAN-Unterstützung. Es wird jetzt auch WPA unterstützt
- Eine experimentelle Version für PowerPC
- Eine SMP-fähige Schicht des virtuellen Dateisystem VFS
- Neue Bridge-Implementation mit Unterstützung des 802.1D Spanning Tree Protocol
Version 7.0
Im Februar 2008 brachte Version 7.0 folgende Neuerungen:
- Verbesserung der SMP-Skalierbarkeit, was in Benchmarks deutliche Fortschritte erbrachte.
- Eine neue Implementierung des ULE-Schedulers ist verfügbar.
- Referenzimplementierung des SCTP-Netzwerkprotokolls.
- Journaling für das UFS-Dateisystem.
- Experimentelle Unterstützung von Suns ZFS-Dateisystem.
- Lesezugriff auf SGIs XFS-Dateisystem.
- Unterstützung der ARM-CPU-Architektur.
Version 7.1
Am 5. Januar 2009 wurde Version 7.1 veröffentlicht. Die wichtigsten Neuerungen sind:
- Der ULE-Scheduler, der wesentliche Performance-Verbesserungen bringt, ist jetzt als Standard für den amd64- und den i386-Kernel aktiviert.
- Der Support von DTrace im Kernel wurde von OpenSolaris übernommen.
- Neuer und verbesserter NFS Lock Manager Client.
- Der Bootloader erlaubt nun das Booten von USB-Geräten und von GUID Partition Table (GPT)-Geräten.
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:
- Kernel: implementiert die APIs und Datenstrukturen des Betriebssystems, sowie die Gerätetreiber
- Userland: alle wichtigen Programme, vom Texteditor bis zum Compiler
- Ports: die nach FreeBSD portierten Anwendungen von Drittherstellern
Dieser Quelltextbaum wird mit Hilfe des CV-Systems verwaltet. Das System ist daher sehr homogen, da alle Systembestandteile von einer Entwicklergruppe gepflegt werden.
Bei FreeBSD spielt die Verfügbarkeit des Quelltexts auch praktisch eine große 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 nur die Ports oder das ganze System. Das dauert zwar länger, als ein Binärpaket zu installieren, dafür passen hinterher alle Systemkomponenten perfekt zusammen. Im CVS-Repository kann man 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 des FreeBSD-Kernels und -Userlands läuft in mehreren Zweigen parallel ab:
- CURRENT, in dem neue Features entwickelt und getestet werden und nur für Entwickler oder fortgeschrittene Anwender geeignet ist. (CVS-Tag: CURRENT, HEAD oder .)
- STABLE, der als genügend getestete Software aus dem CURRENT-Zweig hervorgegangen ist und von dem etwa alle 4–6 Monate neue Versionen veröffentlicht werden.
- RELEASE sind Schnappschüsse des jeweiligen RELEASE-Zweiges, welche wiederum aus einem STABLE-Zweig hervorgehen. Bei RELEASEs werden keine Änderungen mehr vorgenommen, sondern nur noch sicherheitsrelevante Änderungen eingepflegt.
Ein anschauliches Beispiel: RELENG_6_1_0_RELEASE (dies ist das CVS-Tag von FreeBSD RELEASE-6.1) ist ein Schnappschuss aus dem RELEASE-Zweig RELENG_6_1. RELENG_6_1 wurde aus dem STABLE-Zweig RELENG_6 abgezweigt. RELENG_6 wiederum wurde aus dem CURRENT-Zweig MAIN abgezweigt. Der aktuelle Stand des CURRENT-Zweiges MAIN trägt das CVS-Tag HEAD.
Der Wartungszeitraum beträgt je nach Release und Priorität zwischen 6 und 24 Monaten.
Die FreeBSD-Ports sind von Kernel und Userland unabhängig.
Die Kommunikation zwischen Entwicklern untereinander und mit Benutzern findet wie bei vielen Open-Source-Projekten hauptsächlich über das Internet statt (Mailinglisten, Newsgroups, IRC). Zusätzlich gibt es in verschiedenen Teilen der Welt so genannte BSDcons, bei denen Entwickler und interessierte Benutzer neue Projekte vorstellen und diskutieren.
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 ein Release Engineering Team, das die Veröffentlichung von neuen Versionen koordiniert und ein Security Team, das für die schnelle Behebung und Veröffentlichung von Sicherheitslücken zuständig ist.
Logo
Der BSD-Daemon ist das "Maskottchen" von BSD-Unix und wurde von Beginn an als Logo verwendet. Er wird oft Beastie genannt, obwohl ihn der Träger des Copyrights für namenlos erklärt.
Das Zeichen erwies sich jedoch teils schwer reproduzier- und skalierbar, daher riefen im Februar 2005 die Entwickler des FreeBSD-Projektes auf, ein Logo für FreeBSD zu entwerfen. Ende Juni 2005 wurden die Vorschläge verschiedener Grafiker eingereicht und Ende September 2005 wurde das neue Logo ausgewählt. Zum Schluss standen sieben Einsendungen in der engeren Wahl - gewonnen hat das Design von Anton K. Gural, wie oben rechts in diesem Artikel verwendet.
Es gab darauf - wie bei NetBSD - verschiedene Erwägungen, das traditionelle Maskottchen nicht weiter als Logo zu verwenden. Im Ergebnis bleibt der Dämon Beastie jedoch das Maskottchen des Projektes. Das neue Logo ist eine Anspielung auf den Kopf des Dämons mit seinen Hörnern.
FreeBSD-Derivate und Distributionen
Man unterscheidet grob zwischen Distributionen und Derivaten: Bei Distributionen handelt es sich um andere Zusammenstellungen von Software, während es sich bei Derivaten um Veränderungen und Abspaltungen (auch Forks) des Systems handelt. Da die Erstellung von BSD-Distributionen im Vergleich zu anderen Systemen, wie GNU/Linux, noch eine relativ neue Entwicklung ist, und Änderungen meist tiefgreifender als bei Linuxdistributionen sind, werden in der BSD-Welt häufig auch Distributionen als Derivate bezeichnet. In der FreeBSD-Community werden Forks häufig negativ bewertet.
FreeBSD-Derivate
- Data ONTAP, das Betriebssystem von NetApp-Speichersystemen[2]
- Darwin – Mach-Kernel und FreeBSD-Userland, Basis für Mac OS X
- Debian GNU/kFreeBSD - Eine Portierung des Debian GNU Systems auf den FreeBSD-Kernel
- DragonFly BSD
- JunOS, das Betriebssystem der Router von Juniper Networks
FreeBSD-Distributionen
- BSDeviant – eine Mini-Live-CD
- ClosedBSD – eine Firewall-Distribution
- DesktopBSD – ein Desktop-FreeBSD
- FreeNAS – für Network Attached Storage (NAS) konzipiert
- FreeSBIE – eine Live-CD-Version von FreeBSD
- Frenzy – eine Live-CD
- Gentoo/FreeBSD, ein FreeBSD, das u.a. das Paketverwaltungssystem Portage von Gentoo übernimmt
- pfSense – eine Firewall/Router-Distribution
- PC-BSD – ein Desktop-FreeBSD
- PicoBSD – eine Disketten-Version von FreeBSD
- TrueBSD – eine LiveCD
- TrustedBSD (keine eigenständige Betriebssystemdistribution, sondern eine Erweiterung mit dem Hauptgewicht auf Sicherheitseigenschaften)
- m0n0wall – eine Firewall-Distribution
Siehe auch
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)
- Harald Zisler: FreeBSD. Franzis, Juli 2006, ISBN 3772365388
- Michael Lucas: Absolute FreeBSD: The Ultimate Guide to FreeBSD. 2nd Edition, No Starch Press, November 2007, ISBN 1593271514
- Michael Urban, Brian Tiemann: FreeBSD 6 Unleashed. Sams, Juli 2006, ISBN 0672328755
- Michael Lucas: FreeBSD de Luxe. Unix-Serveradministration. Mitp-Verlag, Oktober 2003, ISBN 3826613430
Weblinks
- FreeBSD-Homepage
- FreeBSD-Handbuch
- FreeBSD - Das freie Betriebssystem für stabile Internet-Server – Chaosradio Express Sendung 048
- Links zum Thema FreeBSD im Open Directory Project
Quellen
- ↑ VxWorks 6 Product Note: http://www.windriver.com/products/product-notes/vxworks6-product-note.pdf Seite 4
- ↑ NetApp Data ONTAP mit FreeBSD-Basis: http://www.netapp.com/de/company/leadership/advanced-technology/atg-open-source-de.html
Wikimedia Foundation.