Wat is FreeBSD en wanneer kies je ervoor?

Auteur: Gepubliceerd

Kort samengevat: FreeBSD is een vrij Unix-achtig besturingssysteem dat als één samenhangend geheel wordt ontwikkeld: de kernel, de basisgereedschappen en de documentatie. FreeBSD Foundation ondersteunt het project, maar de ontwikkelaarsgemeenschap leidt het. FreeBSD heeft een sterke basis voor netwerktoepassingen. De bewering dat zijn netwerkstack altijd beter is dan die van Linux gaat echter te ver: het resultaat hangt af van de hardware, de configuratie en het soort verkeer.

Waarin verschilt FreeBSD van Linux?

FreeBSD komt voort uit de BSD-familie, oftewel Berkeley Software Distribution, die historisch verbonden is met de ontwikkeling van Unix aan de University of California, Berkeley. De term ‘Unix-achtig systeem’ duidt op een vergelijkbare manier van werken: gebruikers en rechten, een hiërarchisch bestandssysteem, processen en gereedschappen die je in scripts kunt combineren. Het betekent niet automatisch dat het systeem formeel gecertificeerd is onder het merk UNIX.

Het belangrijkste organisatorische verschil zit in de reikwijdte van het project. Linux is een kernel: het deel van het systeem dat de processor, het geheugen en de apparaten beheert. Distributies zoals Debian en Ubuntu combineren die kernel met gereedschappen en software uit allerlei projecten. FreeBSD ontwikkelt de kernel en de basissoftware voor gebruikers samen. Daardoor is het eenvoudiger om de documentatie en de configuratieregels consistent te houden.

Dat betekent niet dat alle applicaties binnen het FreeBSD-project worden ontwikkeld. WWW-servers, databases en grafische omgevingen installeer je meestal als kant-en-klare pakketten met het gereedschap pkg. Een alternatief is de Ports-collectie: een verzameling bouwrecepten waarmee je aanvullende software uit de broncode kunt bouwen.

De code van FreeBSD wordt grotendeels beschikbaar gesteld onder permissieve BSD-licenties. Die staan toe dat je de code ook in gesloten producten gebruikt en aanpast, zolang je aan de eisen van de betreffende licentie voldoet. Je mag er echter niet van uitgaan dat voor elk systeemonderdeel en elk aanvullend pakket dezelfde voorwaarden gelden.

Wie ontwikkelt het systeem en wat doet de stichting?

FreeBSD is een gemeenschapsproject. Ontwikkelaars werken aan de code, waaronder mensen die wijzigingen in de repositories mogen aanbrengen. Het Core Team neemt deel aan het bestuur van het project en wordt gekozen door de stemgerechtigde ontwikkelaars. Ook voor releases en afzonderlijke technische gebieden zijn er eigen teams die verantwoordelijk zijn voor het onderhoud.

FreeBSD Foundation is een non-profitorganisatie die het project ondersteunt. Ze financiert onder meer ontwikkelwerk, levert infrastructuur, ondersteunt onderwijs en de promotie van het systeem en helpt bij juridische kwesties. De stichting is geen bedrijf dat FreeBSD verkoopt en ook geen orgaan dat zelfstandig alle technische beslissingen neemt.

Dat onderscheid is belangrijk bij een zakelijke implementatie. Dat je het systeem gratis kunt downloaden, betekent niet dat je een ondersteuningscontract of een gegarandeerde reactietijd krijgt. Als een bedrijf zulke toezeggingen nodig heeft, moet het de benodigde expertise intern organiseren of een geschikte dienstverlener vinden.

Waar komt de reputatie van een betere netwerkstack vandaan?

De netwerkstack is het deel van het systeem dat de communicatie afhandelt: onder meer de TCP/IP-protocollen, de overdracht van pakketten, verbindingen en de samenwerking met stuurprogramma’s voor netwerkkaarten. Je kunt de kwaliteit beoordelen aan de hand van doorvoersnelheid, vertraging, processorbelasting, bestendigheid tegen overbelasting en het gemak waarmee je problemen kunt onderzoeken. Er is geen enkele maatstaf die al deze eigenschappen omvat.

De reputatie van FreeBSD is gebaseerd op de lange geschiedenis van netwerkontwikkeling binnen de BSD-familie en op het gebruik van het systeem in servers en netwerkapparaten. Ook de samenhang tussen het basissysteem, de diagnostische gereedschappen en de documentatie is een sterk punt. Dat zijn redenen om FreeBSD te overwegen, geen bewijs dat het voor elke toepassing beter is.

Ook Linux heeft een netwerkstack die intensief wordt doorontwikkeld, ondersteunt veel hardware en beschikt over mechanismen zoals eBPF en XDP. Die maken het onder meer mogelijk om netwerkverkeer met programmeerbare logica te verwerken en te observeren. Met XDP kunnen pakketten al heel vroeg in het ontvangsttraject worden verwerkt. Een vergelijking van moderne systemen mag dus niet uitsluitend op de historische reputatie van BSD berusten.

Een server die grote bestanden via HTTPS verstuurt, stelt bijvoorbeeld andere eisen dan een router die enorme aantallen kleine pakketten verwerkt. In het eerste geval spelen ook versleuteling, de WWW-server en het uitlezen van gegevens een rol. In het tweede geval gaat het om de snelheid van de pakketverwerking, wachtrijen en het stuurprogramma van de netwerkkaart. Zelfs een goed resultaat in een TCP-test bepaalt niet welk systeem de betere firewall zal zijn.

Waar kun je FreeBSD in de praktijk voor gebruiken?

Je kunt FreeBSD inzetten als WWW-server, bestandsserver, databaseserver of basis voor een netwerkapparaat. Een belangrijke functie zijn jails: omgevingen die processen en hun resources isoleren binnen één gedeelde kernel. Ze zijn geschikt om diensten van elkaar te scheiden, maar zijn niet hetzelfde als virtuele machines met afzonderlijke kernels.

Het systeem ondersteunt ook OpenZFS, dat het beheer van schijfruimte combineert met functies zoals snapshots en controles van de gegevensintegriteit. Die mogelijkheden zijn nuttig voor bestandsservers, al vervangt een snapshot op hetzelfde apparaat geen onafhankelijke back-up.

Op een pc kan FreeBSD met een grafische omgeving werken. Controleer vóór de installatie wel of je specifieke Wi-Fi-kaart, grafische hardware en benodigde applicaties worden ondersteund. Een programma dat voor Linux beschikbaar is, heeft niet noodzakelijk een versie die op FreeBSD werkt.

Hoe controleer je of het bij je project past?

Kies een systeem niet op basis van de slogan ‘een beter netwerk’, maar zet een korte test op:

  1. Controleer in de officiële documentatie welke hardware wordt ondersteund, welke applicaties beschikbaar zijn en hoelang de gekozen release ondersteuning krijgt.
  2. Draai de daadwerkelijke dienst op FreeBSD en op de distributie van Linux die je overweegt, onder vergelijkbare hardwareomstandigheden.
  3. Meet de doorvoersnelheid, de vertraging onder belasting, het CPU-gebruik en het gedrag bij overbelasting.
  4. Beoordeel ook updates, monitoring, gegevensherstel en de expertise van het team.

Installeer FreeBSD om te beginnen in een virtuele machine en oefen met het configureren van één dienst die je nodig hebt. Als je de netwerkprestaties beoordeelt, voer dan de volgende test uit op de hardware die je uiteindelijk wilt gebruiken: de virtualisatielaag kan het resultaat beïnvloeden.

Zie ook: Wat is AZURE?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.