- FreeBSD
-
FreeBSD ist ein freies, unixartiges 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 lief 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 verschiedenen Ebenen, zum Beispiel 802.1q VLANs, PPP, L2TP.
- Verschiedene Netzwerkhardware wird unterstützt: 10 Gigabit Ethernet, WLAN, ATM, ISDN, FDDI, UMTS
- Es stehen drei verschiedene Paketfilter-Implementierungen zur Verfügung: das auch für proprietäre Unixe verfügbare IPFilter, die Eigenentwicklung ipfw und der OpenBSD-Paketfilter pf. Mit dummynet steht weiterhin ein leistungsfähiger Trafficshaper zur Verfügung.
Hardware-Unterstützung
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).
Eine Liste unterstützter Hardware wird mit jeder FreeBSD Version (Release) als Datei mit der Bezeichnung HARDWARE.TXT ausgeliefert. Die Datei HARDWARE.TXT ist üblicherweise im Wurzelverzeichnis der jeweiligen FreeBSD Distribution oder im Dokumentationsmenü von sysinstall oder als Hyperlink Hardware-Notes auf der Webseite BSD Release Information[2] zur Einsicht vorhanden.
Software-Verwaltung
- Bei der Installation kann je nach Einsatzzweck eine Vorauswahl der zu installierenden Pakete getroffen werden.
- Über eine Paketverwaltung, die sogenannten Ports, kann aus über 20.000 Programmen anderer Anbieter 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 Quellcode geladen, meist aus dem Netz, und dann auf dem eigenen System kompiliert.
- Die meisten Pakete stehen auch als fertige Binaries zur Verfügung ('package') und können ohne Kompilieren direkt installiert werden, wobei dann allerdings die prozessorspezifische Optimierung und die Nutzung von Kompile-Zeit-Optionen entfallen.
- Neben der eigenen Binärschnittstelle (ABI) unterstützt FreeBSD die Formate von GNU/Linux. 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 Inneren eines Jails (dt. Gefängnis) ist kein Zugriff auf die System- und Konfigurationsdateien des Hauptsystems möglich – es verwendet seine eigenen Dateien, Prozesse und auch User-Accounts, so dass 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.
Des Weiteren kann über das Portsystem auch das Virtualisierungsprodukt VirtualBox in der Open-Source-Variante genutzt werden.
Verbreitung
FreeBSD ist robust und stabil und 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 ebenso das JunOS der Juniper-Router, VxWorks[3] und das DataONTAP des Speichersystem-Herstellers NetApp.
Weitere BSD-Betriebssysteme sind NetBSD, OpenBSD und DragonFly BSD. Zwischen den BSD-Betriebssystemen findet wegen der freien Lizenz und der durch die gemeinsame Herkunft vorhandenen Ähnlichkeit ein reger Quellcodeaustausch statt, so stammt beispielsweise der IPv6-Stack der verschiedenen BSD-Versionen von FreeBSD. Auch Linux hat den IPv6-Stack aus FreeBSD übernommen.
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 den Unix System Laboratories 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.
Version 5
5.0, die Erste Version des 5.x Zweigs erschien 2003. Am 25. Mai 2006 wurde Version 5.5, die letzte Version der 5.x-Linie, veröffentlicht.
Außer den zusätzlich unterstützten Architekturen wurden in der Version 5 eine Reihe von neuen Funktionen implementiert:
- verbesserte SMP-Unterstützung
- 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 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 die Dateisystemprüfung im Hintergrund und das Erzeugen von Dateisystem-Schnappschüssen.
- Unterstützung von ACPI, Bluetooth, IEEE 1394, Cardbus-Hardware und 802.11a/b/g-WLAN-Karten
Allerdings waren die SMP-Neuerungen der Version 5.x umstritten. Matt Dillon startete unter anderem deshalb die auf Version 4.x aufsetzende Abspaltung DragonFly BSD.
Version 6
Am 3. November 2007 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
- eine neue Bridge-Implementierung mit Unterstützung des 802.1D Spanning Tree Protocol
Version 7
Am 27. Februar 2008 brachte Version 7.0. Am 24. März 2010 wurde Version 7.3 veröffentlicht. Das 7.3-RELEASE ist das vorletzte Release aus dem 7er-Entwicklungszweig.
Die Version 7 brachte 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 Dateisystem UFS
- Unterstützung von Suns Dateisystem ZFS und SGIs Dateisystem XFS
- Unterstützung der ARM-CPU-Architektur
- Der Support von DTrace im Kernel wurde von OpenSolaris übernommen.
- ein 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.
- Unterstützung für mehrere IPv4- und IPv6-Adressen für jails
- Unterstützung von UltraSPARC-III-Prozessoren
Version 8.0
Am 26. November 2009 wurde Version 8.0 veröffentlicht. Die wesentlichen Neuerungen sind:
- Vollständig überarbeitete USB-Unterstützung
- Wesentlich erweiterte Maximalzahl von Slices
- NFSv4-Unterstützung
- Unterstützung für IEEE 802.11s
- Verbesserte ZFS-Unterstützung
Version 8.1
Am 23. Juli 2010 wurde Version 8.1 veröffentlicht. Die wesentlichen Neuerungen sind:
- Unterstützung für UltraSPARC IV, IV+ und SPARC64 V
- neue bzw. verbesserte Treiber für viele WLAN-Karten
- Booten von ZFS-Laufwerken möglich
- SMP-Unterstützung auf PowerPC-G5-Systemen
Version 8.2
Am 24. Februar 2011 wurde Version 8.2 veröffentlicht. Wesentliche Neuerungen sind:
- USB 3.0 und xHCI
Entwicklungsmodell
FreeBSD ist unter der BSD-Lizenz frei und kostenlos verfügbar und wird von über 350 Entwicklern aus der ganzen Welt und zahlreichen Benutzern kontinuierlich weiterentwickelt.
Die Entwickler des FreeBSD-Projektes pflegen einen Quelltextbaum, der 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 anderer Hersteller
Dieser Quelltextbaum wird mithilfe von CVS verwaltet. Das System ist daher sehr homogen, da alle Systembestandteile von der gleichen 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 vier bis sechs 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 Opensource-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.
Dokumentation
FreeBSD verfügt über eine umfangreiche Dokumentation, die auch in die deutsche Sprache übersetzt wurde.
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 nun doch 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
- Darwin – Mach-Kernel und FreeBSD-Userland, Basis für Mac OS X
- Data ONTAP, das Betriebssystem von NetApp-Speichersystemen[4]
- DragonFly BSD
- JunOS, das Betriebssystem der Router von Juniper Networks
FreeBSD-Distributionen
- BSDeviant – eine Mini-Live-CD
- Debian GNU/kFreeBSD – Eine Portierung des Debian GNU Systems auf den FreeBSD-Kernel
- DesktopBSD – ein Desktop-FreeBSD
- FreeNAS – für Network Attached Storage (NAS) konzipiert
- FreeSBIE – eine Live-CD-Version von FreeBSD
- Gentoo/FreeBSD, ein FreeBSD, das u. a. das Paketverwaltungssystem Portage von Gentoo übernimmt
- GhostBSD - ein Desktop-FreeBSD mit GNOME
- m0n0wall – eine Firewall-Distribution
- PC-BSD – ein Desktop-FreeBSD
- pfSense – eine Firewall/Router-Distribution
- PicoBSD – eine Disketten-Version von FreeBSD
- TrustedBSD (keine eigenständige Betriebssystemdistribution, sondern eine Erweiterung mit dem Hauptgewicht auf Sicherheitseigenschaften)
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
Commons: FreeBSD – Sammlung von Bildern, Videos und Audiodateien- 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
- Informativer Artikel inkl. Geschichte auf heise.de
Einzelnachweise
- ↑ von FreeBSD unterstützte Plattformen und deren Status
- ↑ Release Informationen unterstützter Hardware (siehe Hyperlink Hardware Notes): FreeBSD Release Information
- ↑ 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
Kategorien:- BSD-Betriebssystem
- Freies Betriebssystem
Wikimedia Foundation.