Over FreeBSD's technologische voortgang
FreeBSD biedt vele uitgebreide mogelijkheden
Welke applicatie u ook gebruikt, u wilt dat de mogelijkheden van uw systeem maximaal
gebruikt worden. De focus van FreeBSD op prestatie, netwerk, en opslag gaan samen met
eenvoudig systeemonderhoud en uitstekende documentatie om u in staat te stellen om
precies dat te doen.
Een compleet besturingssysteem gebaseerd op 4.4BSD
De wortels van FreeBSD liggen bij de BSD software-uitgaven van de Computer
Systems Research Group aan de University of California, Berkeley. Er is meer dan tien
jaar werk besteed aan het verbeteren van BSD, het toevoegen van industrieleidende SMP,
multithreading en netwerkprestatie, alsmede aan nieuwe beheergereedschappen,
bestandssystemen, en beveiligingsmogelijkheden. Als resultaat hiervan kan FreeBSD overal
op het Internet, in het besturingssysteem van kernrouterproducten, in draaiende
rootnaamservers, voor het hosten van grote websites, en als de basis van veelgebruikte
besturingssystemen voor het bureau gevonden worden. Dit is alleen mogelijk vanwege het
diverse en wereldwijde lidmaatschap van het vrijwillige FreeBSD Project.
FreeBSD biedt geavanceerde mogelijkheden van besturingssystemen, waardoor het ideaal
is over meerdere systemen, van embedded omgevingen tot krachtige servers met meerdere
processors.
FreeBSD 7.0, uitgegeven in februari 2008, brengt vele nieuwe mogelijkheden
en prestatieverbeteringen. Met een speciale focus op de prestatie van opslag en
multiprocessing werd FreeBSD 7.0 geleverd met ondersteuning van Sun's
ZFS-bestandssysteem en hoog schaalbare multiprocessing prestaties.
Benchmarks hebben aangetoond dat FreeBSD tweemaal de prestatie van MySQL en PostgreSQL
biedt als huidige Linux-systemen op 8-core servers.
- SMPng: Na zeven jaar ontwikkeling aan geavanceerde SMP-ondersteuning
realiseert FreeBSD 7.0 de doelen van een fijnkorrelige kernel waardoor het mogelijk
is om vele werklasten lineair tot over 8 CPU-cores te schalen. In FreeBSD 7.0 is het
Giant-slot bijna geheel geëlimineerd, het is verwijderd uit de CAM-opslaglaag en de
NFS-cliënt en in het netwerkdeelsysteem wordt naar een fijnkorreligere locking
toegewerkt. Er is ook significant werk verricht om kernel-scheduling en
locking-primitieven te optimaliseren, en de optionele ULE-scheduler staat CPU-affiniteit
voor threads en per-CPU draairijen toe om overhead te verminderen en
cache-vriendelijkheid te vergroten. Het threading-pakket libthr, dat 1:1-threading biedt,
is nu de standaard. Benchmarks laten een groot prestatievoordeel zien ten opzichte van
andere UNIX® besturingssystemen op identieke multicore-hardware en reflecteren een
lange investering in SMP-technologie voor de kernel van FreeBSD.
- ZFS-bestandssysteem: Sun's ZFS is state-of-the-art bestandssysteem dat
eenvoudig beheer, transactiesemantiek, end-to-end gegevensintegriteit en immense
schaalbaarheid biedt. Van zelfreparatie tot ingebouwde compressie, RAID, snapshots, en
volumebeheer, ZFS zal FreeBSD-systeembeheerders in staat stellen om eenvoudig grote
opslagrijen te beheren.
- 10Gbps-netwerkoptimalisatie: Met geoptimaliseerde apparaatstuurprogramma's van
alle grote verkopers van 10Gbps-netwerkkaarten is de netwerk-stack in FreeBSD 7.0
uitgebreid geoptimaliseerd voor hoog presterende werklasten, inclusief zelfschalende
socket-buffers, TCP Segment Offload (TSO), Large Receive Offload (LRO), direct dispatchen
van de netwerk-stack, en het balanceren van TCP/IP-werklasten over meerdere CPU's op
10Gbps-kaarten die dit ondersteunen of wanneer meerdere netwerkinterfaces gelijktijdig
gebruikt worden. Volledige verkopersondersteuning is beschikbaar van Chelsio, Intel,
Myricom en Neterion.
- SCTP: FreeBSD 7.0 is de referentie-implementatie van het nieuwe IETF
Stream Control Transmission Protocol (SCTP), bedoeld om VoIP, telecommunicatie en andere
toepassingen met sterke betrouwbaarheid en verzenden met variabele kwaliteit te
ondersteunen middels eigenschappen zoals multi-pad-aflevering, fail-over en
multi-streaming.
- Draadloos netwerken: FreeBSD 7.0 wordt geleverd met significant
verbeterde ondersteuning voor draadloos netwerken, inclusief op Atheros gebaseerde
kaarten met hoog vermogen, nieuwe stuurprogramma's voor Ralink-, Intel- en ZyDAS-kaarten,
WPA, scannen en roamen op de achtergrond en 802.11n.
- Nieuwe hardware-architecturen: FreeBSD 7.0 bevat significant verbeterde
ondersteuning voor de embedded ARM-architectuur, alsmede beginnende ondersteuning voor
het platform Sun Ultrasparc T1.
FreeBSD heeft een lange geschiedenis van ontwikkeling van geavanceerde mogelijkheden
van besturingssystemen; enkele van deze mogelijkheden staan hieronder:
- Virtueel geheugen en buffer cache voor het bestandssysteem samengevoegd
waardoor de hoeveelheid geheugen voor programma's en schijf-cache voortdurend wordt
geoptimaliseerd. Het resultaat daarvan is dat programma's zowel erg goed geheugenbeheer
en betere prestaties voor schijftoegang hebben en een beheerder hoeft niet langer de
cache-groottes te optimaliseren.
- Compatibiliteitsmodules maken het mogelijk om programma's van andere
besturingssystemen op FreeBSD te draaien, waaronder programma's voor Linux, SCO UNIX en
System V Release 4.
- Soft Updates bieden verbeterde prestaties voor het bestandssysteem zonder
daarvoor veiligheid en betrouwbaarheid op te geven. Hiermee worden bewerkingen op
meta-gegevens op het bestandssysteem geanalyseerd om te voorkomen dat al die operaties
synchroon moeten worden uitgevoerd. In plaats daarvan wordt een interne status
bijgehouden voor nog uit te voeren bewerkingen op meta-gegevens en wordt deze informatie
gebruikt om meta-gegevens te cachen, worden bewerkingen op meta-gegevens gecombineerd om
opeenvolgende bewerkingen op hetzelfde bestanden te herschrijven en wordt de volgorde van
bewerkingen op meta-gegevens gewijzigd zodat ze efficiënter verwerkt kunnen worden.
Mogelijkheden zoals het op de achtergrond controleren van bestandssystemen en snapshots
van bestandssystemen zijn gebouwd op het fundament van de consistentie en prestaties van
soft-updates.
- Snapshots van bestandssystemen, waardoor beheerders 'atomic' snapshots van hun
bestandssystemen kunnen maken voor reservekopiën, daarbij gebruik makend van de vrije
ruimte op een bestandssysteem en ook voor het faciliteren van fsck op de
achtergrond, waardoor een systeem naar meergebruikersmodus kan schakelen zonder te
wachten op het opschonen van bestandssystemen na een stroomstoring.
- Ondersteuning voor IP Security (IPsec) biedt verbeterde beveiliging en
ondersteuning voor het volgende generatie Internet Protocol, IPv6. De IPsec-implementatie
van FreeBSD bevat ondersteuning voor een brede selectie aan hardware
crypto-versnellers.
- Out of the box ondersteuning voor IPv6 via de KAME IPv6 stack stelt FreeBSD in
staat om naadloos te integreren met de volgende generatie netwerkomgevingen. FreeBSD
bevat zelfs veel applicaties die standaard ondersteuning bieden voor IPv6!
- Een multi-threaded SMP architectuur die in staat is om de kernel parallel op
meerdere processoren uit te voeren en met kernel preemption mogelijkheden biedt om
kerneltaken met een hoge prioriteit voorrang te geven boven andere kerneltaken, wat
minder vertraging oplevert. Dit geldt onder andere voor de multi-threaded
netwerk-stack en een multi-threaded subsysteem voor virtueel geheugen.
Beginnend met FreeBSD 6.X met ondersteuning voor een volledig parallel VFS, is het
mogelijk de UFS-bestandssysteem tegelijkertijd op meerdere processoren te draaien,
waardoor belasting voor CPU-intensive I/O optimalisatie gedeeld kan worden.
- M:N applicatie-threading via pthreads staat threads toe om schaalbaar te
draaien op meerdere CPU's door veel gebruikers-threads af te beelden op een klein aantal
Kernel Schedulable Entities. Door het adopteren van het Scheduler
Activation model, kan de threading aangepast worden op de specifieke eisen van een
breed spectrum aan applicaties.
- De Netgraph pluggable netwerk-stack stelt ontwikkelaars in staat om eenvoudig
en dynamisch de netwerk-stack uit te breiden met nette gelaagde netwerkabstracties. Met
netgraph nodes kan een breed scala aan nieuwe netwerkdiensten aangeboden worden,
waaronder encapsulatie, tunneling, encryptie en prestatie-adaptatie. Als resultaat is het
mogelijk om verbeterde netwerkdiensten sneller, eenvoudiger en met minder bugs te
prototypen en in productie te nemen.
- TrustedBSD MAC Framework extensible kernel security stelt ontwikkelaars in
staat om het beveiligingsmodel voor het besturingssysteem aan te passen voor specifieke
omgevingen. Van het maken van hardening-beleiden tot het uitrollen van verplichte
gelabelde vertrouwelijkheid van integriteitsbeleid. Geleverd voorbeeldbeleid bevat
Multi-Level Security (MLS) en Biba integriteitsbeveiliging. Een module van
derden is onder andere SEBSD, een op FLASK gebaseerde implementatie van Type
Enforcement.
- TrustedBSD Audit is een logdienst voor beveiligingsevenementen, dat
fijnkorrelige, veilige, betrouwbare logging biedt van systeemevenementen via de
audit-dienst. Beheerders kunnen de aard en granulariteit van loggen op gebruiker, het
volgen van bestandstoegangen, uitgevoerde commando's, netwerkactiviteit,
systeemaanmeldingen, en een scala aan ander systeemgedrag configureren. Audit-pijpen
staan IDS-gereedschappen toe om zich aan de audit-dienst van de kernel te koppelen en
zich te abonneren op evenementen die ze nodig hebben voor het in de gaten houden van de
beveiliging. FreeBSD ondersteunt BSM, de industriestandaard voor audit-trail
bestandsformaten en APIs, waardoor bestaande BSM-gereedschappen met weinig of geen
aanpassingen kunnen draaien. Dit bestandsformaat wordt gebruikt op Solaris en MAC OS X,
waardoor directe interoperabiliteit en gezamenlijke analyse mogelijk is.
- De GEOM pluggable opslaglaag, dat het mogelijk maakt om nieuwe opslagdiensten
snel te ontwikkelen en netjes te integreren in het opslagsubsysteem van FreeBSD. GEOM
biedt een consistent en coherent model voor het ontdekken en in lagen verdelen van
opslagapparaten, waardoor het mogelijk wordt om diensten als RAID en volumebeheer
eenvoudig in lagen te verdelen.
- FreeBSD's GEOM-Based Disk Encryption (GBDE), levert sterke cryptografische
bescherming met het GEOM Framework en kan bestandssystemen, wisselbestandapparaten en
andere opslagmedia beschermen.
- Kernel Queues maken het mogelijk dat programma's efficiënter reageren op een
variëteit van asynchrone gebeurtenissen waaronder bestands- en socket-IO, waardoor de
prestaties van applicaties en een systeem toenemen.
- Accept Filters maken het mogelijk om verbindingsintensieve applicaties, zoals
webservers, netjes een deel van hun functionaliteit naar de kernel te verplaatsen
waardoor prestaties verbeteren.
FreeBSD levert veel beveiligingsmogelijkheden om netwerken en servers te
beschermen
De FreeBSD ontwikkelaars zijn net zo bezig met beveiliging als met prestaties en
stabiliteit. FreeBSD bevat kernelondersteuning voor stateful IP firewalling en ook
voor andere diensten als IP proxy gateways, toegangscontrolelijsten,
verplichte toegangscontrole, jail-gebaseerde virtuele hosting en
cryptografisch beschermde opslag. Hiermee is het mogelijk om veilig meerdere
klanten of consumenten van dienst te zijn die elkaar wederzijds niet vertrouwen,
netwerksegmenten scherp te partitioneren en veilige pipelines te maken voor informatie
scrubbing en informatie flow-beheer.
FreeBSD biedt ook ondersteuning voor encryptiesoftware, secure shells,
Kerberos-authenticatie, "virtuele servers" gemaakt met jails, het chroot-en van diensten
om applicatietoegang tot het bestandssysteem te beperken, Secure RPC mogelijkheden en
toegangslijsten voor diensten die TCP wrappers ondersteunen.