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.