Was ist FreeBSD und was unterscheidet es?

Autor: Veröffentlicht

Kurz gesagt: FreeBSD ist ein freies Unix-artiges Betriebssystem, dessen Kernel, grundlegende Werkzeuge und Dokumentation als zusammenhängendes Ganzes entwickelt werden. Die FreeBSD Foundation unterstützt das Projekt, geleitet wird es jedoch von der Entwicklergemeinschaft. FreeBSD bietet eine solide Grundlage für Netzwerkanwendungen. Die Behauptung, sein Netzwerkstack sei grundsätzlich besser als der von Linux, ist allerdings zu pauschal: Das Ergebnis hängt von Hardware, Konfiguration und Art des Datenverkehrs ab.

Was unterscheidet FreeBSD von Linux?

FreeBSD stammt aus der BSD-Familie, also der Berkeley Software Distribution, die historisch mit der Entwicklung von Unix an der University of California in Berkeley verbunden ist. „Unix-artiges System“ bezeichnet ein ähnliches Funktionsmodell: Benutzer und Berechtigungen, ein hierarchisches Dateisystem, Prozesse sowie Werkzeuge, die sich in Skripten kombinieren lassen. Eine formale Zertifizierung unter der Marke UNIX ist damit nicht automatisch verbunden.

Der wichtigste organisatorische Unterschied liegt im Umfang des Projekts. Linux ist ein Kernel, also der Teil des Systems, der Prozessor, Speicher und Geräte verwaltet. Distributionen wie Debian oder Ubuntu kombinieren ihn mit Werkzeugen und Software aus zahlreichen Projekten. FreeBSD entwickelt den Kernel und das Basissystem gemeinsam. Das erleichtert es, Dokumentation und Konfigurationsregeln konsistent zu halten.

Das bedeutet nicht, dass sämtliche Anwendungen im FreeBSD-Projekt entstehen. Webserver, Datenbanken oder grafische Desktop-Umgebungen werden üblicherweise als fertige Pakete mit dem Werkzeug pkg installiert. Eine Alternative ist die Ports-Sammlung: Sie enthält Bauanleitungen, mit denen sich zusätzliche Software aus dem Quellcode erstellen lässt.

Der Code von FreeBSD wird zu großen Teilen unter liberalen BSD-Lizenzen bereitgestellt. Diese erlauben es, den Code auch in proprietären Produkten zu verwenden und zu verändern, sofern die Anforderungen der jeweiligen Lizenz erfüllt werden. Allerdings sollte man nicht davon ausgehen, dass für jeden Systembestandteil und jedes zusätzliche Paket identische Bedingungen gelten.

Wer entwickelt das System und was macht die Foundation?

FreeBSD ist ein Gemeinschaftsprojekt. Am Code arbeiten Entwickler, darunter Personen, die Änderungen in die Repositorys einbringen dürfen. An der Projektleitung beteiligt sich das Core Team, das von den stimmberechtigten Entwicklern gewählt wird. Für die Pflege der Veröffentlichungen und einzelner technischer Bereiche sind außerdem eigene Teams zuständig.

Die FreeBSD Foundation ist eine gemeinnützige Organisation, die das Projekt unterstützt. Sie finanziert unter anderem Entwicklungsarbeiten, stellt Infrastruktur bereit, fördert Bildungsangebote und die Bekanntheit des Systems und hilft bei rechtlichen Fragen. Sie ist weder ein Unternehmen, das FreeBSD verkauft, noch ein Gremium, das sämtliche technischen Entscheidungen allein trifft.

Diese Unterscheidung ist beim Einsatz im Unternehmen wichtig. Dass sich das System kostenlos herunterladen lässt, bedeutet nicht, dass damit ein Supportvertrag oder eine garantierte Reaktionszeit verbunden ist. Benötigt ein Unternehmen solche Zusagen, muss es intern die nötigen Kompetenzen bereitstellen oder einen geeigneten Dienstleister finden.

Woher kommt der Ruf eines besseren Netzwerkstacks?

Der Netzwerkstack ist der Teil des Systems, der die Kommunikation abwickelt: unter anderem die TCP/IP-Protokolle, die Paketübertragung, Verbindungen und das Zusammenspiel mit den Treibern der Netzwerkkarten. Seine Qualität lässt sich anhand von Durchsatz, Latenz, Prozessorlast, Verhalten bei Überlastung und der Einfachheit der Fehlerdiagnose beurteilen. Es gibt keine einzelne Kennzahl, die all diese Eigenschaften abdeckt.

Der Ruf von FreeBSD beruht auf der langen Geschichte der Netzwerkentwicklung in der BSD-Familie sowie auf dem Einsatz des Systems in Servern und Netzwerkgeräten. Auch die Konsistenz von Basissystem, Diagnosewerkzeugen und Dokumentation ist ein Vorteil. Das sind Gründe, FreeBSD in Betracht zu ziehen, aber kein Beweis für eine Überlegenheit in jedem Einsatzbereich.

Auch Linux verfügt über einen intensiv weiterentwickelten Netzwerkstack, breite Hardwareunterstützung und Mechanismen wie eBPF und XDP. Diese ermöglichen unter anderem die programmierbare Verarbeitung und Beobachtung des Datenverkehrs. Mit XDP lassen sich Pakete bereits sehr früh im Empfangspfad verarbeiten. Ein Vergleich heutiger Systeme darf sich nicht allein auf den historischen Ruf von BSD stützen.

Ein Server, der große Dateien über HTTPS versendet, stellt beispielsweise andere Anforderungen als ein Router, der sehr viele kleine Pakete verarbeitet. Im ersten Fall spielen auch Verschlüsselung, Webserver und das Lesen der Daten eine Rolle; im zweiten sind die Paketverarbeitungsrate, Warteschlangen und der Netzwerkkartentreiber entscheidend. Selbst ein gutes Ergebnis in einem TCP-Test beantwortet nicht die Frage, welches System die bessere Firewall abgibt.

Wo lässt sich FreeBSD praktisch einsetzen?

FreeBSD kann als Webserver, Dateiserver, Datenbank-Host oder Grundlage eines Netzwerkgeräts dienen. Eine wichtige Funktion sind jails: Umgebungen, die Prozesse und ihre Ressourcen innerhalb eines gemeinsamen Kernels isolieren. Sie eignen sich zur Trennung von Diensten, sind aber nicht dasselbe wie virtuelle Maschinen mit jeweils eigenen Kerneln.

Das System unterstützt außerdem OpenZFS, das die Verwaltung des Speicherplatzes mit Funktionen wie Snapshots und der Prüfung der Datenintegrität verbindet. Diese Möglichkeiten sind für Dateiserver nützlich. Ein Snapshot auf demselben Gerät ersetzt jedoch keine unabhängige Sicherung.

Auf einem PC kann FreeBSD mit einer grafischen Desktop-Umgebung laufen. Vor der Installation muss man allerdings prüfen, ob die konkrete Wi-Fi-Karte, die Grafikhardware und die benötigten Anwendungen unterstützt werden. Ein für Linux verfügbares Programm muss nicht auch in einer unter FreeBSD lauffähigen Version vorliegen.

Wie prüfst du, ob FreeBSD zu deinem Projekt passt?

Wähle das System nicht allein aufgrund des Schlagworts „bessere Netzwerkleistung“, sondern bereite einen kurzen Test vor:

  1. Prüfe in der offiziellen Dokumentation die Hardwareunterstützung, die Verfügbarkeit der Anwendungen und den Supportzeitraum der gewählten Version.
  2. Betreibe einen tatsächlich benötigten Dienst auf FreeBSD und auf der Linux-Distribution, die du in Betracht ziehst, unter vergleichbaren Hardwarebedingungen.
  3. Miss Durchsatz, Latenz unter Last, CPU-Auslastung und das Verhalten bei Überlastung.
  4. Bewerte auch Updates, Monitoring, Datenwiederherstellung und die Kompetenzen des Teams.

Installiere FreeBSD zunächst in einer virtuellen Maschine und übe die Konfiguration eines benötigten Dienstes. Wenn du die Netzwerkleistung beurteilen möchtest, führe den nächsten Test auf der vorgesehenen Hardware durch: Die Virtualisierungsschicht kann das Ergebnis verändern.

Siehe auch: Was ist AZURE?

Lesen Sie auch

Wie PHP-FPM PHP-Anfragen verarbeitet, sich vom Webserver unterscheidet und wie du Prozesse an Last und Hosting-Ressourcen anpasst.
BIND ist offene DNS-Serversoftware. Erfahre, welche Aufgaben sie übernimmt und wann sich der Betrieb eines eigenen Servers lohnt.
Was Polens REGON-Register und seine Kennnummer bedeuten, wie sie sich von NIP und KRS unterscheiden und wie Sie Unternehmensdaten prüfen.