FreeBSD

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
FreeBSD
FreeBSD-Logo
Bildschirmfoto
Screenshot of FreeBSD 6.2
FreeBSD mit Message of the Day
Basisdaten
Entwickler The FreeBSD Project
Erscheinungsdatum 1. November 1993
Aktuelle Version 10.0
(20. Januar 2014)[1]
Abstammung Früher (bis Version 1.x):
UNIX
↳ BSD
↳ 386BSD
↳ FreeBSD
Seit Version 2.0:
BSD
↳ FreeBSD
Kernel monolithisch
Architekturen x86 und x86-64 vollständig, und diverse andere teilweise[2]
Lizenz BSD-Lizenz
Website www.freebsd.org

FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution abstammt. Mit einer Community aus fast 390 dauerhaft aktiven, offiziellen[3] und tausenden mitwirkenden Entwicklern gehört FreeBSD zu den größten Open-Source-Projekten überhaupt. Obwohl der Fokus der Entwickler auf der Erstellung einer stabilen Software-Plattform für Server und Appliances liegt, wird es auch auf Desktop-Computern verwendet. FreeBSD kommt hauptsächlich bei Internetdienstanbietern wie zum Beispiel Yahoo und Strato, in Internet-Backbone-Systemen wie Hochleistungsroutern und Namensdiensten sowie als Webhosting-Plattform zum Einsatz.[4][5] Dort belegt es regelmäßig die vordersten Plätze in der Liste der zuverlässigsten Systeme.[6]

Mehrere Standards im Bereich der Rechnernetze, wie beispielsweise IPv6, wurden von FreeBSD zuerst umgesetzt und verbreiteten sich von dort aufgrund der liberalen BSD-Lizenz auch auf andere Systeme, unter anderem nach OpenBSD und Linux. Außerdem ist FreeBSD teilweise die Grundlage für Darwin, die Open-Source-Plattform von Apple, auf der Mac OS X basiert.

Geschichte[Bearbeiten]

Ursprünglich als inoffizielle Sammlung von Patches zur Fehlerbereinigung von 386BSD gedacht, gründeten Nate Williams, Rod Grimes und Jordan K. Hubbard 1993 ein eigenständiges Projekt, nachdem die Pflege des Patchkit-Mechanismus zu aufwändig wurde.[7] Das ursprünglich als 386BSD-Interim bezeichnete Projekt musste eingestellt werden, nachdem der Autor von 386BSD, Bill Jolitz, seine Mitarbeit an dem Projekt und auch 386BSD selbst aufgab. Als man einen neuen Namen suchte, wurde FreeBSD von Bill Greenman vorgeschlagen, einem Mitarbeiter des Unternehmens Walnut Creek CDROM, bei der die Software des Projekts auf Datenträgern und mittels FTP vertrieben wurde.[8]

Genau wie bei dem kurz zuvor von anderen Autoren des Patchkits gegründeten NetBSD entschloss man sich gleich zu Beginn des Projekts im Juli 1993 dazu, die Software zentral mithilfe eines CVS-Archivs zu entwickeln. Man griff dafür bei den ersten Versionen von FreeBSD auf die Quellen von 4.3BSD-Lite (Net/2) zurück und auf 386BSD, welches die Berkeley Software Distribution auf die Intel 80386-Prozessorplattform portierte. Als jedoch die Unix System Laboratories begannen, die Anbieter von BSD-Software aufgrund von Lizenzverletzungen zu verklagen, änderte sich die Basis von FreeBSD auf 4.4BSDLite, welches die UC Berkeley 1994 veröffentlichte, nachdem der Rechtsstreit eingestellt worden war. Diese Version enthielt keinerlei Quellcode aus den Unix Laboratories mehr. Da hierdurch auch Teile des Betriebssystems fehlten, die zum Booten notwendig waren, dauerte es bis zum November 1994 um eine funktionsfähige Softwaredistribution herzustellen, die als FreeBSD 2.0 veröffentlicht werden konnte.[7] Ältere Versionen dürfen aus rechtlichen Gründen nicht mehr vertrieben werden.

Seither wurde das Betriebssystem auf diverse andere Plattformen portiert und hat sowohl an Funktionen als auch an nativ unterstützter Software von Drittanbietern zugenommen.[9][10] Aufgrund seiner Projektgröße und Verbreitung, ohne dabei öffentlich in Erscheinung getreten zu sein, wird FreeBSD auch inoffiziell als unbekannter Riese unter den freien Betriebssystemen bezeichnet.[11] Neben diversen Derivaten haben sich aus dem Projekt heraus mehrere Organisationen gegründet, die sich die Förderung von FreeBSD und der BSD-Familie zum Ziel gesetzt haben. Hierzu gehören z. B. die FreeBSD Foundation und die BSD Certification Group[12].

Eigenschaften[Bearbeiten]

Das vollständige System umfasst folgende Komponenten:

FreeBSD ist als unixartiges System weitgehend POSIX-konform. Es unterstützt alle grundlegenden Funktionen des POSIX.1-Standards, jedoch nicht alle Erweiterungen des X/Open System Interfaces. Aus diesem Grund darf es auch nicht den rechtlich geschützten Namen UNIX tragen. An einer Herstellung der vollständigen Unterstützung der Schnittstellen von C99, POSIX und des XSI wird aber gearbeitet.[13] Neben der x86-, AMD64- und in Japan verbreiteten PC-98-Architektur werden eine Reihe weiterer Prozessortypen unterstützt. Dazu gehören IA-64, SPARC und PowerPC sowie die ARM- und experimentell auch die MIPS-Architekturen für eingebettete Systeme.[2] Da FreeBSD eine eigene Binärschnittstelle (ABI) anbietet, ist die Installation proprietärer Software problemlos möglich. Ebenso können Windows-Netzwerkgerätetreiber über die NDIS-Schnittstelle verwendet werden, deren Hersteller die Hardware-Spezifikationen nicht freigegeben haben, z. B. Intels Centrino.[14]

Dateisysteme[Bearbeiten]

FreeBSD hat einige besondere Funktionen in Bezug auf die Speicherung von Daten.

Das UFS-Dateisystem, das häufig von den BSD-Betriebssystemen genutzt wird, verfügt über Softupdates, die die Konsistenz des Dateisystems im Falle eines System-Absturzes sicherstellen. Schnappschüsse von Dateisystemen können in kürzester Zeit effizient erzeugt werden. Sie ermöglichen unter anderem zuverlässige Backups von laufenden Dateisystemen. Des Weiteren verfügt FreeBSD über GEOM. Dies ist ein modulares Framework, welches RAID, Verschlüsselung ganzer Festplatten, Journaling, Caching und Zugriff auf netzwerk-basierten Speicherplatz regeln kann. Mit Hilfe von GEOM können komplexe Speicherlösungen erzeugt werden, die mehrere dieser Mechanismen gleichzeitig nutzen.

Ein weiteres häufig eingesetztes Dateisystem unter FreeBSD ist das von Sun entwickelte ZFS. Dieses wurde zunächst aus freien Quellen, die mit OpenSolaris veröffentlicht wurden, auf FreeBSD portiert und ist seit FreeBSD 8.0 als stabil eingestuft. Inzwischen werden im Rahmen von OpenZFS Verbesserungen des Dateisystems entwickelt, die dann zum Teil für FreeBSD übernommen werden. ZFS wird vor allem wegen seiner einfachen Bedienung, Flexibilität und Stabilität geschätzt. Seit FreeBSD 10.0 ist es möglich, ausschließlich über den System-Installer ein komplett auf ZFS basierendes System zu installieren. Zuvor musste dies manuell erfolgen.

Software-Verwaltung[Bearbeiten]

Neben den Programmen aus dem Basissystem stehen über 23.000 Softwarepakete von Drittanbietern zur Verfügung. Über diese kann teilweise bereits während der Installation je nach Einsatzzweck eine Vorauswahl getroffen werden. Die meisten Pakete stehen auch als Binärdateien (package) zur Verfügung und können somit direkt vom Installationsmedium oder einem regionalen Projektrepository installiert werden.

Häufiger kommen jedoch die sogenannten Ports als Paketverwaltung zum Einsatz. Neben einer größeren Auswahl liegen die Vorteile der FreeBSD-Ports in der komfortablen Abhängigkeitsauflösung, einer möglichen prozessorspezifische Optimierung und der Nutzung von Compilezeit-Optionen. Die meisten Ports werden als Quellcode geladen, meist aus dem Netz, und dann auf dem eigenen System kompiliert. Hier finden sich die meisten Open-Source-Programme für Server und Desktop sowie einige proprietäre Programme. Die Flexibilität und einfache Bedienung der FreeBSD-Ports haben zu einer Verbreitung dieser Paketverwaltung auch auf anderen Systemen geführt. Neben NetBSD, DragonFly BSD (als DPorts) und OpenBSD werden die Ports auch auf Darwin und Mac OS X unter dem Namen MacPorts eingesetzt. Aufgrund der weitgehenden Quellcode-Kompatibilität dieser Systeme sind dafür keine bis kaum Änderungen an den Metadaten der Ports notwendig.

Netzwerk[Bearbeiten]

Aufgrund der Ausrichtung des Projekts liegen die Stärken von FreeBSD im Netzwerkbereich. So waren wegen des KAME-Projekts die BSDs unter den ersten Betriebssystemen mit IPv6- und IPsec-Unterstützung. Es stehen mehrere redundante Paketfilter-Implementierungen zur Verfügung: das auch für proprietäre Unices verfügbare IPFilter, die Eigenentwicklung ipfw und pf aus OpenBSD. Des Weiteren existiert mit dummynet ein leistungsfähiger Trafficshaper.

FreeBSD beherrscht Netzwerkprotokolle auf verschiedenen Ebenen, zum Beispiel 802.1q VLANs, PPP, L2TP. Mit netgraph[15] gibt es außerdem ein graphenbasiertes Kernelsubsystem, welches die modulare Implementierung neuer und flexible Kombination vorhandener Protokolle unterstützt. Ebenso arbeitet FreeBSD mit verschiedener Netzwerkhardware zusammen: 10 Gigabit Ethernet, WLAN, ATM, ISDN, FDDI und UMTS.

Virtualisierung[Bearbeiten]

FreeBSD stellt seit Version 4.x die Virtualisierungsumgebung jails (dt. Gefängnis) zur Verfügung.[16] Aus dem Inneren eines Jails 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.[17] In anderen Systemen sind Abwandlungen von FreeBSD-Jails als sysjails oder container bekannt.

Die Open-Source-Edition der Virtualisierungssoftware VirtualBox ist in den Ports enthalten und ermöglicht es, FreeBSD sowohl als Gast-Betriebssytem als auch als Virtualisierungshost, der virtuelle Maschinen beherbergt, zu betreiben.

Mit FreeBSD 10.0 hielt der extra für FreeBSD entwickelte Typ-1-Hypervisor bhyve Einzug in das Betriebssystem.[18] Dieser unterstützt zur Zeit diverse FreeBSD-Versionen, OpenBSD und Linux als Gast-Betriebssysteme.[19] Unterstützung für andere Gast-Systeme (Windows, NetBSD, DragonFly BSD) soll folgen.

Binärkompatibilität[Bearbeiten]

FreeBSD[Bearbeiten]

Die FreeBSD-Entwickler sind sehr darauf bedacht, neue Versionen des Betriebssystems abwärtskompatibel zu halten. Das bedeutet, dass Programme, die unter einer älteren Version des Betriebssystems ausgeführt werden konnten, auch unter der neueren Version noch ausgeführt werden können. Dieser Anspruch wird für alle Teile des Betriebssystems erhoben (insbesondere auch Kernel-Module).[20] Der Benutzer wird auf Ausnahmen von dieser Regel bei Bedarf hingewiesen.

Linux[Bearbeiten]

FreeBSD bietet Linux-Binärkompatibilität.[21] Das bedeutet, dass Programme, die für GNU/Linux geschrieben und kompiliert wurden, unter FreeBSD ausgeführt werden können. Dies bietet vor allem die Möglichkeit, Programme, die nur in kompilierter Form für Linux erhältlich sind (wie z. B. Adobe Reader, Adobe Flash Player, Skype) unter FreeBSD zu nutzen. Zur Zeit können allerdings nur 32-Bit-Linux-Programme auf diese Weise ausgeführt werden. Die Linux-Binärkompatibilität wird häufig Linux Emulator oder linuxulator genannt. Technisch gesehen nutzt dieses Feature allerdings keine Emulation, sondern es beruht auf der Implementierung einer ABI.[22]

Entwicklung[Bearbeiten]

Die Entwicklungszweige des Quelltextes werden durch zentrale Subversion/CVS-Archive zur Verfügung gestellt. Das System ist sehr homogen, da alle Systembestandteile von der gleichen Entwicklergruppe gepflegt werden. Diese Archive werden regional gespiegelt um das Netzwerk des Hauptarchivs zu entlasten. Aus Gründen der Performance und um Inkonsistenzen zu vermeiden, sind die Archive mit direktem Schreibzugriff getrennt von denen, die gelesen werden können.[4]

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 über das Netz mit einem zentralen Quelltextarchiv (Repository). Dadurch ist es möglich, ein lokales System genau für seinen Einsatzzweck anzupassen, indem z. B. der Kernel mit systemspezifischen Treibern neu gebaut oder Software des Basissystems bzw. aus den Ports angepasst werden kann. Im 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.

Projektorganisation[Bearbeiten]

Die Pflege des Quelltextes wird von drei Gruppen der FreeBSD-Entwicklergemeinde übernommen:

  • src: In diesem Teil des Quelltextbaums sind der Kernel und das Userland enthalten. Committer mit Zugriff auf den src-Baum treiben daher auch die Entwicklung des Systems voran.
  • ports: Benannt nach der gleichnamigen Paketverwaltung, wird hier die Software von Drittanbietern eingepflegt. Die FreeBSD-Ports sind von Kernel und Userland unabhängig.
  • doc: Committer mit Zugriff auf diesen Teil des Quelltextbaums sind verantwortlich für die Pflege des sehr umfangreichen Handbuchs und der Manpages, die mit FreeBSD ausgeliefert werden.

Zusätzlich zu diesen drei Gruppen gibt es noch Teams, die für das Releasemanagement, die Administration der Projektserver, das Einpflegen von Sicherheitsupdates, etc. zuständig sind. Dabei gibt es personelle Überlappungen zwischen all diesen Gruppen.[4]

Koordiniert wird die Entwicklung vom Core Team, das alle zwei Jahre von den aktiven Entwicklern mit CVS-Zugriff gewählt wird.

Die Kommunikation zwischen Entwicklern untereinander und mit Benutzern findet wie bei vielen Opensource-Projekten hauptsächlich über das Internet statt (Mailinglisten, Newsgroups, IRC, Foren).

Community-Treffen[Bearbeiten]

Jedes Jahr werden weltweit mehrere Konferenzen abgehalten, sogenannte BSDcons. Entwickler und interessierte Nutzer stellen BSD-bezogene Projekte vor, diskutieren sie und erlernen in Workshops den Umgang mit ihnen. Im Rahmen der Konferenzen finden gesonderte Entwicklertreffen statt (sog. DevSummits), auf denen zukünftige Entwicklungen des Projektes diskutiert und koordiniert werden.[23] Häufig finden die Konferenzen in universitärem Umfeld statt. Meist werden sie von der FreeBSD Foundation finanziell und logistisch unterstützt. So verwendet die FreeBSD Foundation einen Teil ihres Budgets, um Entwicklern die Teilnahme an Konferenzen zu finanzieren. Namhafte Firmen (darunter Google, Netflix, IXsystems), die in die Entwicklung von FreeBSD involviert sind oder FreeBSD in größerem Umfang nutzen, treten auch als Sponsoren von Konferenzen auf. Die Konferenzen werden geschätzt, da sie die Möglichkeit des Austausch zwischen Programmierern, System-Administratoren, Studenten, Professoren und IT-Firmen bieten. Immer häufiger werden Teile der Konferenzen live gestreamt oder es sind Mitschnitte von Vorträgen oder andere Konferenzmaterialien (Präsentationen, Handouts) online über die jeweilige Webseite zur Konferenz abrufbar.

Folgende Konferenzen finden regelmäßig statt:

  • AsiaBSDCon (Asien, Japan)
  • BSDCan (USA, Canada)
  • EuroBSDcon (Europa)
  • KyivBSD (Ukraine, Kiew)
  • NYCBSDCon (USA, New York City)
  • ruBSD (Russland)

Zusätzlich zu den Konferenzen finden unregelmäßige Zusammentreffen statt, sogenannte BSDDays. Sie dienen demselben Zweck wie die Konferenzen, sind aus Mangel an Zeit oder Finanzen, aber nicht so umfangreich.

Des Weiteren gibt es noch in vielen Ländern sogenannte User Groups. Dies sind Gruppen, die aus Benutzern von FreeBSD oder solchen die es werden wollen, bestehen. Sie dienen primär dem persönlichen Erfahrungsaustausch. Wann, wo und wie sich Mitglieder solcher Gruppen treffen ist gruppen-spezifisch und wird häufig auf den Webseiten dieser Gruppen öffentlich bekannt gegeben.

Entwicklungszweige[Bearbeiten]

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.

Um zum Beispiel sicherheitsrelevante Änderungen zwischen den einzelnen Zweigen austauschen zu können oder Verbesserungen aus dem Stable-Zweig auch in Current einfließen lassen zu können, wird im Hintergrund auf eine Versionsverwaltung mit Perforce zurückgegriffen, da sich mit CVS keine zweigübergreifenden Änderungen durchführen lassen.[4] Der Wartungszeitraum beträgt je nach Release und Priorität zwischen 6 und 24 Monaten.

Versionstabelle[Bearbeiten]

Version Veröffentlichung[9] Unterstützung bis[24] wesentliche Änderung
Ältere Version; nicht mehr unterstützt: 1.0 1. November 1993 erste Version
Ältere Version; nicht mehr unterstützt: 1.1 Mai 1994 Wartungsrelease mit Bugfixes für 386BSD-Import, portierte Programme (XFree86, nntp) hinzugefügt[25]
Ältere Version; nicht mehr unterstützt: 1.1.5
Ältere Version; nicht mehr unterstützt: 1.1.5.1 Juli 1994
Ältere Version; nicht mehr unterstützt: 2.0 22. November 1994 Codebasis von 386BSD wurde durch BSD-Lite 4.4 ersetzt, wegen des Vergleichs zwischen USL und BSDi[26], neuer Installer und Bootmanager, Unterstützung anderer Dateisysteme (FAT, unionfs, kernfs), dynamisch ladbare Kernelmodule aus NetBSD importiert[27]
Ältere Version; nicht mehr unterstützt: 2.0.5 10. Juni 1995 vollständige Unterstützung von NIS-Client und Server, T/TCP, ISDN, FDDI und Fast Ethernet-Karten (100Mbit), Übersetzung der Dokumentation in diverse Sprachen, Ports auf dem Installationsmedium enthalten[28]
Ältere Version; nicht mehr unterstützt: 2.1 19. November 1995
Ältere Version; nicht mehr unterstützt: 2.1.5 Juli 1996
Ältere Version; nicht mehr unterstützt: 2.1.6 Dezember 1996
Ältere Version; nicht mehr unterstützt: 2.1.7 Februar 1997
Ältere Version; nicht mehr unterstützt: 2.2 März 1997 NFSv3, Linux-Emulations-Schicht inklusive ELF, Einführung der man section 9 für Kernelfunktionen[29]
Ältere Version; nicht mehr unterstützt: 2.2.1 April 1997
Ältere Version; nicht mehr unterstützt: 2.2.2 Mai 1997
Ältere Version; nicht mehr unterstützt: 2.2.5 22. Oktober 1997 Unterstützung aktueller Cyrix- und AMD-Prozessoren, neue VGA-Bibliothek[30]
Ältere Version; nicht mehr unterstützt: 2.2.6 25. März 1998 Unterstützung für Plug and Play[31]
Ältere Version; nicht mehr unterstützt: 2.2.7 22. Juli 1998 Unterstützung für FAT32, Update zur PC-98-Architektur[32]
Ältere Version; nicht mehr unterstützt: 2.2.8 29. November 1998 Traffic-Shaping mit dummynet, Paketfilterung mit ipfw, Unterstützung von IDE-Laufwerken größer als 8 GiB[33]
Ältere Version; nicht mehr unterstützt: 3.0 Oktober 1998 Unterstützung symmetrischer Multiprozessorsysteme (SMP), SCSI und VESA[34]
Ältere Version; nicht mehr unterstützt: 3.1 15. Februar 1999 Einführung von USB und PAM[35]
Ältere Version; nicht mehr unterstützt: 3.2 17. Mai 1999
Ältere Version; nicht mehr unterstützt: 3.3 17. September 1999 Unterstützung des Advanced Power Management zur Energieverwaltung[36]
Ältere Version; nicht mehr unterstützt: 3.4 20. Dezember 1999
Ältere Version; nicht mehr unterstützt: 3.5 24. Juni 2000
Ältere Version; nicht mehr unterstützt: 4.0 14. März 2000 Import von IPv6 und IPsec aus dem KAME project, Integration von OpenSSH in das Basissystem, Emulation für SVR4 Binärdateien, USB-Ethernet, telnet-Verschlüsselung[37]
Ältere Version; nicht mehr unterstützt: 4.1 27. Juli 2000 Erweiterung der Unterstützung von Alpha-Prozessoren[38]
Ältere Version; nicht mehr unterstützt: 4.1.1 27. September 2000 Virtueller Ethernet-Gerätetreiber für Bridge-Konfigurationen, Unterstützung von ATA100-Controllern [39]
Ältere Version; nicht mehr unterstützt: 4.2 21. November 2000 Unterstützung von USB-Scannern, USB-Modems, Umstrukturierung der Ports[40]
Ältere Version; nicht mehr unterstützt: 4.3 20. April 2001
Ältere Version; nicht mehr unterstützt: 4.4 20. September 2001 Erkennung neuer Prozessoren (Transmeta Crusoe et al.), Unterstützung von Streaming SIMD Extensions (SSE) und SMB-Dateisystemen[41]
Ältere Version; nicht mehr unterstützt: 4.5 29. Januar 2002 31. Dezember 2002 TCP hinsichtlich Durchsatz, Performance und Robustheit gegen DoS-Attacken überarbeitet, Unterstützung des Bootloaders für Dateisysteme mit 16K-Blöcken[42]
Ältere Version; nicht mehr unterstützt: 4.6 15. Juni 2002 Mai 2003
Ältere Version; nicht mehr unterstützt: 4.6.2 15. August 2002 Mai 2003
Ältere Version; nicht mehr unterstützt: 4.7 10. Oktober 2002 Dezember 2003
Ältere Version; nicht mehr unterstützt: 4.8 3. April 2003 31. März 2004 Unterstützung von Firewire und Hyper-Threading, Framework aus OpenBSD zur Verschlüsselungsunterstützung des Kernels importiert[43]
Ältere Version; nicht mehr unterstützt: 4.9 28. Oktober 2003 31. Oktober 2004 Experimentelle Unterstützung von Physical Address Extensions[44]
Ältere Version; nicht mehr unterstützt: 4.10 27. Mai 2004 Mai 2006 Unterstützung von USB 2.0 [45]
Ältere Version; nicht mehr unterstützt: 4.11 25. Januar 2005 31. Januar 2007
Ältere Version; nicht mehr unterstützt: 5.0 14. Januar 2003 30. Juni 2003 Unterstützung von UltraSPARC- und IA-64-Prozessoren, SMP-Unterstützung durch Umwandlung des Giant lock in kleinere Locks, GEOM, Mandatory Access Control aus TrustedBSD importiert, fsck im Hintergrund, Bluetooth, ACPI, CardBus, devfs, UFS2, Universal Disk Format, Treiber für die Direct Rendering Infrastructure (DRI), Pluggable Authentication Modules, Unterstützung für 80386-Prozessoren, kernfs und UUCP entfernt, Perl aus dem Basissysem in die Ports verschoben, das rc.d Framework aus NetBSD importiert[46]
Ältere Version; nicht mehr unterstützt: 5.1 9. Juni 2003 Februar 2004 Experimentelle Unterstützung von AMD64-Prozessoren, 1:1- und M:N-Thread-Bibliotheken für Multithreading, Name Service Switch und des ULE-Schedulers, Unterstützung von Physical Address Extensions, zwingende Verwendung von GEOM und devfs, IPv6 Unterstützung des Linux-Emulators, Beginn der Dokumentationsübersetzung ins Dänische[47]
Ältere Version; nicht mehr unterstützt: 5.2 9. Januar 2004 31. Dezember 2004 AMD64 als Tier1-Architektur unterstützt, Protocol Independent Multicast, ATA-Treiber aus dem Giant lock entfernt, Unterstützung des NFSv4-Client, Start der Dokumentationsübersetzung ins Türkische,[48] Einführung von Cardbus- und 802.11a/b/g-Treibern, experimentelle Unterstützung für die Filterung und Forwarding von IP-Daten in mehreren Threads[49]
Ältere Version; nicht mehr unterstützt: 5.2.1 25. Februar 2004 31. Dezember 2004
Ältere Version; nicht mehr unterstützt: 5.3 6. November 2004 31. Oktober 2006 ALTernate Queueing, eintrittsinvariante Netzwerk- und Socketsubsysteme in mehreren Threads, Einführung des Kernel debugger frameworks (KDB), dynamische und statische Linkerunterstützung für Thread-local Storage, Import der pf-Firewall aus OpenBSD, native Ausführungsunterstützung von NDIS-Treibern, Ersetzung von XFree86 durch X.org, Kryptographie-Unterstützung durch Basissystem[50]
Ältere Version; nicht mehr unterstützt: 5.4 9. Mai 2005 31. Oktober 2006 Import des Common Address Redundancy Protocol aus OpenBSD[51]
Ältere Version; nicht mehr unterstützt: 5.5 25. Mai 2006 31. Mai 2008 Beide Kerne von Dual-Core-Prozessoren sind per Voreinstellung durch SMP-Kernel nutzbar[52]
Ältere Version; nicht mehr unterstützt: 6.0 4. November 2005 31. Januar 2007 Experimentelle Unterstützung für PowerPC, WPA, Treiber weiterer Wireless-Karten hinzugefügt, vollständige Unterstützung von 802.11g, 802.11i, 802.1x und WME/WMM, Verbesserung von Zugriffen auf Dateisysteme und direkt auf Datenträger, SMP-fähige Schicht des virtuellen Dateisystems VFS, Import der Bridge-Implementierung mit Unterstützung des 802.1D Spanning Tree Protocol aus NetBSD[53]
Ältere Version; nicht mehr unterstützt: 6.1 8. Mai 2006 31. Mai 2008 Tastatur-Multiplexer, automatische Konfiguration vieler Bluetooth-Geräte, Treiber für Ethernet, SAS und SATA-RAID-Controller[54]
Ältere Version; nicht mehr unterstützt: 6.2 15. Januar 2007 31. Mai 2008 Unterstützung der Xbox-Architektur, OpenBSM, ipfw-Tags für Pakete, Einführung von freebsd-update für binäre Sicherheitsupdates und Patches und OpenIPMI als Intelligent Platform Management Interface[55]
Ältere Version; nicht mehr unterstützt: 6.3 18. Januar 2008 31. Januar 2010 Reimplementierung von UnionFS, Hinzufügen eines Upgrade-Schalters zu freebsd-update[56]
Ältere Version; nicht mehr unterstützt: 6.4 28. November 2008 30. November 2010 Unterstützung des Camellia-Algorithmus zur Verschlüsselung, Ermöglichen des Bootens von USB-Datenträgern und Geräten mit GPT-BIOS, buffer corruption protection bei der Speicherallokierung[57]
Ältere Version; nicht mehr unterstützt: 7.0 27. Februar 2008 30. April 2009 Unterstützung von ZFS, XFS und GPT, Referenzimplemenation von SCTP, Unterstützung für die ARM-Architektur und das High Definition Audio Interface (HDA) von Intel hinzugefügt, jhkmalloc durch jemalloc,[58] Unterstützung für DEC Alpha eingestellt[59]
Ältere Version; nicht mehr unterstützt: 7.1 4. Januar 2009 28. Februar 2011 DTrace von OpenSolaris übernommen, ULE-Scheduler wird voreingestellter Scheduler für i386- und AMD64-Platformen[60]
Ältere Version; nicht mehr unterstützt: 7.2 4. Mai 2009 30. Juni 2010 Unterstützung der UltraSPARC-III-Prozessoren, transparente Verwendung von Superpages im Virtual-Memory-Subsystem, Verbesserungen an den FreeBSD jails[61]
Ältere Version; nicht mehr unterstützt: 7.3 23. März 2010 31. März 2012 Neuer Bootloader gptzfsboot mit Unterstützung für GPT und ZFS, Unterstützung für VIA-Nano-Prozessoren[62]
Ältere Version; nicht mehr unterstützt: 7.4 24. Februar 2011 28. Februar 2013 Unterstützung für UltraSPARC-IV, -IV+ und SPARC64-V-Prozessoren hinzugefügt, IEEE 802.3 Vollduplex[63]
Ältere Version; nicht mehr unterstützt: 8.0 25. November 2009 30. November 2010 Neuer USB-Stack, Unterstützung für IEEE 802.11s, Verwendung von Superpages, Erhöhung der Anzahl maximaler Slices und Unterstützung von NFSv4[64]
Ältere Version; nicht mehr unterstützt: 8.1 23. Juli 2010 31. Juli 2012 Hochverfügbarkeitsspeicher, SMP für PowerPC G5-Systeme, threadsicheres MS-DOS-Dateisystem, zfsloader, NFSv4-ACL für UFS und ZFS[65]
Ältere Version; nicht mehr unterstützt: 8.2 24. Februar 2011 31. Juli 2012 Import von V4L in den Linux-Emulator, Unterstützung von USB 3.0 und des Extensible Host Controller Interface[66]
Ältere Version; nicht mehr unterstützt: 8.3 18. April 2012 30. April 2014 Unterstützung der TRIM-Funktion für SSDs, GNOME Version 2.32.1, KDE Version 4.7.4[67]
Aktuelle Version: 8.4 3. Juni 2013 30. Juni 2015 Dateisystem tmpfs kann nun produktiv eingesetzt werden, KDE Version 4.10.1[68]
Ältere Version; nicht mehr unterstützt: 9.0 12. Januar 2012 31. März 2013 Userland DTrace, UFS SoftUpdates+Journal, SMP-Support für mehr als 32 Prozessoren, Einführung der Non-Uniform Memory Architecture[69]
Ältere Version; noch unterstützt: 9.1 31. Dezember 2012 31. Dezember 2014 Neuer Intel-Grafiktreiber mit GEM/KMS-Unterstützung[70]
Ältere Version; noch unterstützt: 9.2 30. September 2013 31. Dezember 2014 Unterstützung von TRIM sowie LZ4-Kompression unter ZFS[71]
Aktuelle Version: 9.3 16. Juli 2014 30. Dezember 2016 Unterstützung von ZFS-bookmarks, Einführung von /usr/lib/private, Aktualisierung zahlreicher Bibliotheken[72]
Aktuelle Version: 10.0 20. Januar 2014 31. Januar 2015 Umstellung auf Clang/LLVM als Standardcompiler[73]; Linux-inotify-Emulation[74]
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Folgende Zeitleiste stellt den Lebenszyklus unterschiedlicher FreeBSD-Versionen dar. Bis zum End of life einer Version werden Sicherheitslücken und Softwarefehler beseitigt und essentielle neue Features, die in künftigen Versionen vorhanden sind, zurückportiert.

[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

FreeBSD-Distributionen[Bearbeiten]

Hardwareanforderungen[Bearbeiten]

Die Hardwareanforderungen hängen vom Einsatzgebiet ab. Ein Embedded System beispielsweise hat andere Anforderungen als ein Webserver oder ein Desktop.

Abgesehen von den anwendungsspezifischen Anforderungen existieren für die verschiedenen Architekturen grundlegende Anforderungen, die gegeben sein müssen, um ein lauffähiges System zu erhalten. Für eine minimale Installation auf i386 sind dies zum Beispiel 24 MB RAM und 150 MB Festplattenspeicher.[76] Eine realistischere Installation (zum Beispiel als Intranetserver mit Dateiserverfunktion auf i386) benötigt etwa 2 bis 3 GB Festplattenspeicher (alleine für den Portstree etwa 1 GB), für den laufenden Betrieb allerdings immer noch weit weniger als 100 MB RAM.

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  • 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)
  • Marshall Kirk McKusick, George V. Neville-Neilu nd Robert N.M. Watson: The Design and Implementation of the FreeBSD Operating System, Second edition, Addison-Wesley, 2015, ISBN 0-321-96897-2 (neue Auflage, beschreibt den FreeBSD-11-Kernel)
  • 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, Poing 2006, ISBN 3-7723-6538-8
  • Michael Lucas: Absolute FreeBSD: The Ultimate Guide to FreeBSD. 2nd Edition, No Starch Press, San Francisco 2007, ISBN 1-59327-151-4
  • Michael Urban, Brian Tiemann: FreeBSD 6 Unleashed. Sams, Juli 2006, ISBN 0-672-32875-5
  • Michael Lucas: FreeBSD de Luxe. Unix-Serveradministration. Mitp-Verlag, Bonn 2003, ISBN 3-8266-1343-0
  • Benedikt Nießen: Der eigene Server mit FreeBSD 9. dpunkt.verlag, Heidelberg, Juni 2012, ISBN 978-3-89864-814-1

Weblinks[Bearbeiten]

 Commons: FreeBSD – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. BSD Family tree. 22. Februar 2014, abgerufen am 18. März 2014.
  2. a b von FreeBSD unterstützte Plattformen und deren Status
  3. http://www.freebsd.org/doc/en/articles/contributors/staff-committers.html
  4. a b c d How the FreeBSD Project works, Vortrag von Robert N. M. Watson bei Google TechTalks 2007 (englisch)
  5. netcraft.com: Nearly 2.5 Million Active Sites running FreeBSD, Umfrage von 2004 (englisch)
  6. netcraft.com: Most Reliable Hosting Company Sites in May 2009 and June 2011 (englisch)
  7. a b freebsd.org: About the FreeBSD Project (englisch)
  8. bsdwiki.de: Geschichte von BSD, Eintrag von Axel S. Gruner
  9. a b FreeBSD Release Information, Übersicht aller Releases inklusive unterstützter Hardwareplattformen (englisch)
  10. ibm.com: Why FreeBSD (englisch)
  11. heise.de: FreeBSD der unbekannte Riese
  12. http://www.bsdcertification.org/
  13. Statusseite des Projekts zur Herstellung der API für C99 und IEEE 1003.1-2001 (POSIX) inklusive der XSI Extensions.
  14. freebsd.org: Network Setup, Using Windows NDIS Drivers (englisch)
  15. Netgraph Manpage
  16. freebsd.org: FreeBSD jails introduction (englisch)
  17. grunix.de: Jails unter FreeBSD
  18. FreeBSD 10.0-RELEASE Release Notes. Abgerufen am 15. März 2014.
  19. bhyve Frequently Asked Questions. Abgerufen am 15. März 2014.
  20. Why Choose FreeBSD? - Stability. Abgerufen am 26. März 2014 (englisch): „[...] Backwards compatibility is very important to the FreeBSD team, and any release in a major release series is expected to be able to run any code—including kernel modules—that ran on an earlier version. [...]“
  21. Linux-Binärkompatibilität - Übersicht. Abgerufen am 26. März 2014.
  22. Linux-Binärkompatibilität - Weiterführende Themen. Abgerufen am 26. März 2014: „[...]Es ist eine Implementierung eines ABIs, keine Emulation.[...]“
  23. FreeBSD Developer Summits. Abgerufen am 26. März 2014 (englisch): „[...] FreeBSD developer summits [...] are usually held immediately before or after BSD-oriented conferences.[...]“
  24. http://www.freebsd.org/security/security.html
  25. RELEASE NOTES - FreeBSD - Release 1.1. The FreeBSD Project. Abgerufen am 30. April 2011.
  26. bell-labs.com: USL vs. BSDI documents (englisch)
  27. FreeBSD 2.0 Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  28. FreeBSD 2.0.5 Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  29. FreeBSD 2.2 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  30. FreeBSD 2.2.5 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  31. FreeBSD 2.2.6 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  32. FreeBSD 2.2.7 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  33. FreeBSD 2.2.8 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  34. FreeBSD 3.0 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
  35. FreeBSD 3.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  36. FreeBSD 3.3 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  37. FreeBSD 4.0 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  38. FreeBSD 4.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  39. FreeBSD 4.1.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  40. FreeBSD 4.2 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
  41. FreeBSD/i386 4.4-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  42. FreeBSD/i386 4.5-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  43. FreeBSD/i386 4.8-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  44. FreeBSD/i386 4.9-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  45. FreeBSD/i386 4.10-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
  46. FreeBSD/i386 5.0-RELEASE Release Notes. The FreeBSD Project. 14. Januar 2003. Abgerufen am 29. April 2011.
  47. FreeBSD/i386 5.1-RELEASE Release Notes. The FreeBSD Project. 28. Mai 2003. Abgerufen am 29. April 2011.
  48. FreeBSD/amd64 5.2-RELEASE Release Notes. The FreeBSD Project. 1. Januar 2004. Abgerufen am 29. April 2011.
  49. FreeBSD 5.2-RELEASE Announcement. The FreeBSD Project. 1. Januar 2004. Abgerufen am 29. April 2011.
  50. FreeBSD/amd64 5.3-RELEASE Release Notes. The FreeBSD Project. 11. März 2004. Abgerufen am 29. April 2011.
  51. FreeBSD/amd64 5.4-RELEASE Release Notes. The FreeBSD Project. 5. Mai 2005. Abgerufen am 29. April 2011.
  52. FreeBSD/amd64 5.5-RELEASE Release Notes. The FreeBSD Project. 22. Mai 2006. Abgerufen am 29. April 2011.
  53. FreeBSD/amd64 6.0-RELEASE Release Notes. The FreeBSD Project. 21. Oktober 2005. Abgerufen am 29. April 2011.
  54. FreeBSD/amd64 6.1-RELEASE Release Notes. The FreeBSD Project. 5. Mai 2006. Abgerufen am 29. April 2011.
  55. FreeBSD/amd64 6.2-RELEASE Release Notes. The FreeBSD Project. 11. Januar 2007. Abgerufen am 29. April 2011.
  56. FreeBSD/amd64 6.3-RELEASE Release Notes. The FreeBSD Project. 15. Januar 2008. Abgerufen am 29. April 2011.
  57. FreeBSD/amd64 6.4-RELEASE Release Notes. The FreeBSD Project. 25. November 2008. Abgerufen am 29. April 2011.
  58. Ivan Voras: What's cooking for FreeBSD 7?. Abgerufen am 27. April 2011.
  59. FreeBSD 7.0-RELEASE Release Notes. The FreeBSD Project. 16. Februar 2008. Abgerufen am 27. April 2011.
  60. FreeBSD 7.1-RELEASE Release Notes. The FreeBSD Project. 31. Dezember 2008. Abgerufen am 27. April 2011.
  61. FreeBSD 7.2-RELEASE Release Notes: Release Highlights. The FreeBSD Project. 30. April 2009. Abgerufen am 29. April 2011.
  62. FreeBSD 7.3-RELEASE Release Notes: Release Highlights. The FreeBSD Project. 30. März 2010. Abgerufen am 29. April 2011.
  63. FreeBSD 7.4-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 27. April 2011.
  64. Ivan Voras: What's cooking for FreeBSD 8?. Abgerufen am 27. April 2011.
  65. FreeBSD 8.1-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 24. Juli 2017.
  66. FreeBSD 8.2-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 27. April 2011.
  67. FreeBSD 8.3-RELEASE Release Notes. The FreeBSD Project. 9. April 2012. Abgerufen am 18. April 2011.
  68. FreeBSD 8.4-RELEASE Release Notes. The FreeBSD Project. 2. Juni 2013. Abgerufen am 9. Juni 2013.
  69. FreeBSD 9.0-RELEASE Release Notes. The FreeBSD Project. 12. Januar 2012. Abgerufen am 12. Januar 2012.
  70. FreeBSD 9.1-RELEASE Release Notes. The FreeBSD Project. 31. Dezember 2012. Abgerufen am 31. Dezember 2012.
  71. FreeBSD 9.2-RELEASE Release Notes. The FreeBSD Project. 30. September 2013. Abgerufen am 1. Oktober 2013.
  72. Vorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatGlen Barber: FreeBSD 9.3-RELEASE Announcement. 15. Juli 2014, abgerufen am 19. Juli 2014.
  73. heise online:Freies Unix-Derivat FreeBSD 10.0: GCC und make fehlen in Standardinstallation
  74. FreeBSD 10.0 - FreeBSD wiki
  75. NetApp Data ONTAP mit FreeBSD-Basis: http://www.netapp.com/de/company/leadership/advanced-technology/atg-open-source-de.html
  76. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install-hardware.html offizielle Web-Seite