FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution (BSD) abstammt. Mit einer Community aus fast 390 dauerhaft aktiven, offiziellen und Tausenden mitwirkenden Entwicklern gehört FreeBSD zu den größten Open-Source-Projekten. 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 Internetportalen wie zum Beispiel Yahoo, für Hochlastanwendungen wie Netflix, in Internet-Backbone-Systemen wie Hochleistungsroutern und Namensdiensten sowie als Webhosting-Plattform zum Einsatz.How the FreeBSD Project works, Vortrag von Robert N. M. Watson bei Google TechTalks 2007 (englisch)netcraft.com: Nearly 2.5 Million Active Sites running FreeBSD, Umfrage von 2004 (englisch) Dort belegt es regelmäßig die vordersten Plätze in der Liste der zuverlässigsten Systeme.netcraft.com: Most Reliable Hosting Company Sites in May 2009 and June 2011 (englisch)
Mehrere Standards im Bereich der Rechnernetze, wie beispielsweise IPv6, wurden von FreeBSD zuerst umgesetzt und verbreiteten sich von dort aufgrund der freizügigen 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 macOS basiert.
Geschichte 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.freebsd.org: About the FreeBSD Project (englisch) Das ursprünglich als 386BSD-Interim bezeichnete Projekt musste eingestellt werden, als 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., Eintrag von Axel S. Gruner
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.4BSD-Lite, 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 für die Herstellung einer funktionsfähigen Softwaredistribution, die als FreeBSD 2.0 veröffentlicht werden konnte, bis zum November 1994. Ältere Versionen dürfen 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.FreeBSD Release Information, Übersicht aller Releases inklusive unterstützter Hardwareplattformen (englisch) (englisch) 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.heise.de: FreeBSD der unbekannte Riese 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.
Der Sovereign Tech Fund, ein Förderprogramm des Bundesministeriums für Wirtschaft und Klimaschutz, unterstützt FreeBSD in den Jahren 2024 und 2025 mit insgesamt 686.400 €. Hierbei liegt der Fokus auf folgende fünf Themen: Zero-Trust-Builds, CI/CD-Automatisierung, Abbau technischer Schulden, Sicherheitskontrollen und SBOM-Verbesserungen.
Eigenschaften Das vollständige System umfasst folgende Komponenten: Kernel: implementiert die APIs und Datenstrukturen des Betriebssystems, sowie die Gerätetreiber Userland: alle wichtigen Programme, vom Texteditor bis zum Compiler oder auch Server-Anwendungen (Mailserver etc.) Ports: die nach FreeBSD portierten Anwendungen anderer Hersteller 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. für C99 und IEEE 1003.1-2001 (POSIX) inklusive der XSI Extensions. Neben der x86-, AMD64- und ehemals in Japan verbreiteten PC-98-Architektur werden eine Reihe weiterer Prozessortypen unterstützt. Dazu gehören SPARC und PowerPC sowie die ARM- und experimentell auch die MIPS-Architekturen für eingebettete Systeme. Da FreeBSD eine eigene Binärschnittstelle (ABI) anbietet, ist die Installation proprietärer Software problemlos möglich. Ebenso können Windows-Netzwerkgerätetreiber, deren Hersteller die Hardware-Spezifikationen nicht freigegeben haben, über die NDIS-Schnittstelle verwendet werden, z. B. Intels Centrino.freebsd.org: Network Setup, Using Windows NDIS Drivers (englisch)
Dateisysteme 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 Metadaten-Journaling und Softupdates, die die Konsistenz des Dateisystems im Falle eines Systemabsturzes gewährleisten. 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, ein modulares Framework, welches RAID, Verschlüsselung ganzer Festplatten, Journaling, Caching und Zugriff auf netzwerkbasierten Speicherplatz zur Verfügung stellt. Mit Hilfe von GEOM können komplexe Speicherlösungen aufgebaut 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 wird 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 Neben den Programmen aus dem Basissystem stehen über 26.000 Softwarepakete von Drittanbietern zur Verfügung. Über sie 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 prozessorspezifischen 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/OS X/macOS unter dem Namen MacPorts eingesetzt. Aufgrund der weitgehenden Quellcode-Kompatibilität dieser Systeme sind dafür höchstens kleine Änderungen an den Metadaten der Ports notwendig.
Netzwerk 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 netgraphNetgraph Manpage gibt es außerdem ein graphenbasiertes Kernelsubsystem, welches die modulare Implementierung neuer Protokolle und flexible Kombination vorhandener unterstützt. Ebenso arbeitet FreeBSD mit verschiedener Netzwerkhardware zusammen, u. a. 10-Gigabit-Ethernet, WLAN, ATM, ISDN, FDDI und UMTS.
Virtualisierung FreeBSD stellt ab Version 4.x die Virtualisierungsumgebung jails (dt. Gefängnisse) zur Verfügung. (englisch) Aus dem Inneren eines Jail 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 Hinblick auf Sicherheit, Administration und Performance. Im Vergleich zu Paketen wie Xen oder VMware wiederum ist die Umsetzung sehr viel einfacher und transparenter, bietet aber nicht die Möglichkeit, ein fremdes Betriebssystem zu betreiben. 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-Betriebssystem als auch als Virtualisierungshost, der virtuelle Maschinen beherbergt, zu betreiben.
Mit FreeBSD 10.0 hielt der extra für FreeBSD entwickelte Typ‑2-Hypervisor bhyve Einzug in das Betriebssystem. Er unterstützt zurzeit diverse FreeBSD-Versionen, Open-/NetBSD, Linux und Windows als Gast-Betriebssysteme.
FreeBSD ist als Xen-Gastsystem inklusive des paravirtualisierten PVH-Modus einsetzbar, ebenso hat FreeBSD mittlerweile Unterstützung als Hostsystem.
Binärkompatibilität FreeBSD 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). Der Benutzer wird auf Ausnahmen von dieser Regel bei Bedarf hingewiesen.
Linux FreeBSD bietet Linux-Binärkompatibilität. 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 oder Adobe Flash Player) unter FreeBSD zu nutzen. 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 Binärschnittstelle (ABI).
Windows