A FreeBSD technológiai előnyeiről
A FreeBSD számos remek adottsággal rendelkezik
Függetlenül attól, hogy mire is használjuk a számítógépünket, nyilvánvaló, hogy a
rendszer erőforrásait maximálisan ki szeretnénk használni. A FreeBSD pontosan ennek
eléréséhez a teljesítményre, hálózatkezelésre és adattárolásra összpontosít, kényelmes
hangolhatósággal és kiváló dokumentációval rendelkezik.
Egy teljes operációs rendszer a 4.4BSD alapjain
A FreeBSD előkelő gyökerei abból a BSD kiadásból származnak, amelyet annak
idején a kaliforniai Berkeley Egyetemen működő Computer Systems Research Group adott ki.
A BSD továbbfejlesztésére szánt több, mint tíz évnyi fejlesztői munka eredménye a
rendszerben megtalálható és az iparban egyedülálló többprocesszoros, többszálú és
hálózati teljesítmény, ahogyan az új karbantartási eszközök, állományrendszerek és
biztonsági funkciók. Ennek eredményeképpen a FreeBSD szerte az interneten megtalálható,
útválasztók belső operációs rendszereként, központi névszervereken, a jelentősebb
honlapok kiszolgálójaként, valamint széleskörben használt asztali gépek operációs
rendszereként egyaránt. Ez viszont csak a FreeBSD Projekt sokoldalúságának és az egész
világra kiterjedő elismertségének köszönhetően valósulhatott meg.
A FreeBSD rendelkezik a fejlett operációs rendszerek összes adottságával, így ideális
mindenféle rendszerhez, a beágyazott rendszerektől kezdve a felsőkategóriás
többprocesszoros szerverekkel bezárólag
A 2008 februárjában megjelent FreeBSD 7.0 rengeteg új funkciót és további
teljesítménybeli fejlődést tudhat magáénak. Az adattárolásra és a többprocesszoros
teljesítményre irányuló törekvéseknek köszönhetően a FreeBSD 7.0 támogatja a Sun
ZFS állományrendszerét és jól skálázható többprocesszoros teljesítménnyel
bír. A mérések kimutatták, hogy a FreeBSD MySQL és PostgreSQL rendszerekkel nyolcmagos
szervereken a jelenlegi Linux rendszereknél kétszer nagyobb teljesítményt nyújt.
- SMPng: A fejlett SMP-támogatás közel hét évnyi fejlesztése után a
FreeBSD 7.0 végre valóban egy finomhangolt zárolási rendszert valósít meg, így még 8
processzormagnál több esetén is lineáris skálázhatóságot kínál a legtöbb feladathoz. A
FreeBSD 7.0-ban már majdnem teljesen eltávolításra került a rendszerből az ún. Giant
Lock: kikerült a CAM tárolási rétegből és az NFS kliensből, a munka a hálózati
alrendszerben folytatódik a zárolási folyamatok még jobb kidolgozásához. Szintén jelentős
fejlesztések történtek a rendszermag ütemezőjében és a zárolási primitívekben, az
opcionális ULE ütemező pedig lehetővé teszi a szálak processzorokhoz kötését és a
processzoronkénti futási sorok kezelését, ezzel is igyekszik csökkenteni a terhelést és
növelni a gyorsítótár kihasználását. Az 1:1 szálkezelést megvalósító libthr szálkezelő
csomag alapértelmezetté vált. A mérések más UNIX® rendszerek teljesítményével szemben
azonos hardveren drámai előnyöket mutatnak, ezáltal remekül tükrözik a FreeBSD
rendszermagjának fejlődését a többprocesszoros technológiák irányába.
- ZFS állományrendszer: A Sun korszerű ZFS állományrendszere egyszerű
adminisztrációt, tranzakcionális szemantikát, végpontok közti adatintegritást és
rendkívüli skálázhatóságot nyújt. Az önkorrekció, a beépített tömörítés, a RAID, a
pillanatképek és a kötetkezelés segítségével a FreeBSD-t használó rendszergazdák
könnyedén képesek kezelni a nagyobb adattároló tömböket is.
- 10 Gbps-es hálózati optimizáció: A FreeBSD 7.0-ben megtalálható
hálózati protokollkészlet az összes jelentős 10 Gbps sebességű hálózati eszközt
támogató optimizált meghajtóinak köszönhetően nagyobb terhelésnél is sokkal jobban
teljesít, beleértve az automatikus méretezésű socket puffereket, a TCP Segment Offloadot
(TSO), a Large Receive Offloadot (LRO), a közvetlen hálózati szintű küldést, vagy a
TCP/IP terhelés elosztását több processzor, esetleg több hálózati interfész között. A
Chelsio, Intel, Myricom és Neterion cégek teljes körű támogatást nyújtanak
termékeikhez.
- SCTP: A FreeBSD 7.0 az IETF által kidolgozott új Stream Control
Transmission Protocol (SCTP) protokoll referencia implementációja VoIP szolgáltatásokat,
telekommunikációt és egyéb olyan felhasználási területeket hivatott támogatni, amelyek
nagy megbízhatóságot és változó minőségű átvitelt igényelnek olyan szolgáltatásokkal
együtt, mint a többutas átvitel, a hibatűrés és a többsávos streamelés.
- Vezeték nélküli hálózatok: A FreeBSD 7.0 vezeték nélküli hálózatkezelése
jelentősen javult, többek közt támogatja a nagy teljesítményű Atheros alapú kártyák
kezelését, illetve további új meghajtókat tartalmaz a Ralink, Intel és ZyDAS kártyákhoz,
és megtalálható benne a WPA-támogatás, keresés és roaming a háttérben, a 802.11n
támogatás.
- Új hardverarchitektúrák: A FreeBSD 7.0 különösen fejlett módon támogatja
a beágyazott ARM architektúrákat, a Sun Ultrasparc T1 platform pedig még bevezetés alatt
áll.
A FreeBSD nagy múlttal rendelkezik a fejlett operációs rendszerekre jellemző
adottságok kifejlesztésében, íme közülük néhány:
- Az összevont virtuális memória és állományrendszer gyorsítótár folyamatosan
szabályozza a szoftverek által felhasznált memóriát és a lemez gyorsítótárát. Ennek
eredményeképpen a szoftverek kiváló memóriakezelést és nagy teljesítményű
lemezhozzáférést nyernek, aminek köszönhetően a rendszergazda mentesül ezen gyorsítótárak
finomhangolásából eredő terhek alól.
- A kompatibilitási modulok lehetővé teszik, hogy Linux, SCO UNIX és System V
Release 4 szoftvereket futtassunk a FreeBSD rendszereken.
- A Soft Updates rendszer fejlett állományrendszeri teljesítményt nyújt a
biztonság és stabilitás feláldozása nélkül. Az állományrendszer a metaadatokra vonatkozó
végzendő műveleteit elemzi, ezzel igyekszik elkerülni azt, hogy ne kelljen minden ilyen
műveletet szinkronban kezelnie. Egy belső nyomkövetést végez a metaadatok változásairól,
ezzel egyfajta gyorsítótárat létrehozva a metaadatok számára. Az azonos állományokhoz
érkező későbbi metaadatokat közvetlenül a gyorsítótárban frissíti, majd úgy rendezi
azokat, hogy hatékonyabban feldolgozhatóak legyenenk. Az állományrendszer háttérben
végezhető ellenőrzése vagy éppen az állományrendszerbeli pillanatképek készítése, illetve
a további hasonló funkciók a Soft Updates rendszerrel együttműködve és annak
teljesítménybeli megfontolásai alapján készültek.
- Az állományrendszerek pillanatképei lehetővé teszik a rendszergazdák számára,
hogy az állományrendszer szabad területét kihasználva biztonsági mentés céljából
pillanatképeket készítsen, de emellett ezen a módon lehetővé válik az állományrendszer
ellenőrzése a háttérben, így a rendszer egy nagyobb vizsgálat elvégzésekor anélkül
léphet többfelhasználós módba, hogy ezzel fennakadást okozna.
- Az IP Security (IPsec) protokoll fejlett hálózati biztonságot kínál és
támogatja az internet következő generációs protokollját, az IPv6-ot. A FreeBSD IPsec
implementációja emellett kriptografikus gyorsító hardverek széles választékát
támogatja.
- Az alaprendszerben található IPv6 támogatás a KAME IPv6 protokollkészleten
keresztül biztosítja, hogy a FreeBSD minden nehézség nélkül integrálható a jövő hálózati
környezeteibe. Ezenkívül a FreeBSD mellé sok olyan szoftver jár, amely támogatja az IPv6
protokollt!
- A többszálú SMP technológia támogatásával a rendszer képessé válik arra, hogy
párhuzamosan több processzoron futtassa a rendszermagot, és a rendszermag
megszakíthatóságának támogatásával a nagyobb fontosságú rendszegmagbeli feladatok
elsőbbséget nyerhetnek a többi magbeli folyamattal szemben, ezzel a csökkentve a korábban
ebből fakadó késedelmeket. Ide tartozik többek közt a többszálon futó hálózati
protokollkészlet és a többszálú virtuális memória alrendszer. A FreeBSD 6.X
változata óta a teljesen párhuzamos VFS rendszernek köszönhetően az UFS állományrendszer
folyamatai is képesek egyszerre több processzoron futhatni, ezáltal is lehetővé téve a
processzort igénybevevő I/O folyamatok szétosztását.
- Az M:N típusú szálkezelés (pthreads) révén a szálak futtatása több
processzoron is jól skálázódik, leképezve a felhasználói szintű szálakat kis számú
Kernel Schedulable Entity-kbe. A Scheduler Activation modell átvételével ez
a típusú szálkezelés számos alkalmazás speciális igényeinek eleget tesz.
- A Netgraph hálózati protokollkészlet segítségével a fejlesztők egy jól
átlátható felépítésen keresztül könnyen és dinamikusan képesek bővíteni a hálózati
protokollokat. A Netgraph csomópontok új hálózati szolgáltatások széles körét támogatják,
mint például az encapsulation, tunneling szolgáltatásokat, a titkosítást és a
teljesítmény átdolgozását. Ennek eredményeként gyorsan és kevesebb hibával készülhet
prototípus és kereskedelmi célú telepítés a kifejlesztett hálózati
szolgáltatásokból.
- A TrustedBSD MAC keretrendszerrel bővíthető rendszermag szintű védelem
lehetővé teszi, hogy az operációs rendszer aktuális biztonsági modelljét a különböző
környezetek szerint szabjuk testre, a megerősítő szabályoktól kezdve a kötelezően
elrendelt bizalmassági címkézésig. Ezekbe a szabályokba beletartozik például a
Multi-Level Security (MLS) vagy a Biba integritásvédelem. A kiegészítő
modulok közt továbbá megtalálható még a SEBSD és a Type Enforcement egy
FLASK alapú változata.
- A TrustedBSD Audit egy biztonsági eseményeket naplózó rendszer, amely jól
testreszabható, biztonságos és megbízható naplózó szolgáltatást nyújt az audit
szolgáltatáson keresztül. A rendszergazdák a felhasználók, az állományműveletek, a
végrehajtott parancsok, a hálózati aktivitás, a bejelntkezések és rengeteg egyéb folyamat
nyomonkövetéséhez be tudják állítani a naplózás módját és részletességét. Az
audit-csővezetékek lehetővé teszik az IDS eszközök számára, hogy a rendszermag audit
szolgáltatásához csatlakozzanak és feliratkozzanak olyan eseményekhez, amelyekre
szükségük van a biztonsági felügyelet ellátásához. A FreeBSD támogatja az ipari
szabványnak számító BSM audit állományformátumot és API-t, ezáltal lehetővé teszi, hogy
meglévő BSM eszközöket használjunk módosítás nélkül, vagy éppen kisebb mödosításokkal.
Ezt a formátumot használjuk Solaris és Mac OS X rendszereken is, így
biztosítják az iménti rendszerek közti átjárhatóságot és az egységesített elemzést.
- A GEOM moduláris lemezkezelő réteg alkalmazásával új lemezkezelő
szolgáltatásokat tudunk kifejleszteni és könnyedén beilleszteni a FreeBSD lemezkezelő
alrendszerébe. A GEOM egy megbízható modellt biztosít a lemezek felderítéséhez és rétegbe
szervezéséhez, amivel így egyszerűsíti az olyan szolgáltatások használatát, mint például
a RAID, vagy éppen a kötetek kezelését.
- A GEOM-alapú lemeztitkosítás (GBDE) a GEOM keretrendszer használatán keresztül
nyújt egy erős kriptográfiai védelmet. Képes állományrendszerek, lapozóeszközök vagy más
egyéb tárolóeszközök védelmét ellátni.
- A Kernel Queues segítségével az alkalmazások hatékonyabban képesek válaszolni
a különböző típusú aszinkron eseményekre, mint például az állomány- és socket I/O, ezzel
is növelve az adott alkalmazás és a rendszer teljesítményét.
- Az Accept Filters alrendszer az olyan kapcsolatintenzív szolgáltatások, mint
például webszerverek számára lehetővé teszi, hogy a feladataik egy részét a rendszermagon
belül futtassák, növelve ezzel a teljesítményt.
A FreeBSD rengeteg biztonsági funkcióval rendelkezik a hálózatok és kiszolgálók
védelmére
A FreeBSD fejlesztői ugyanúgy törődnek a biztonsággal akár a teljesítménnyel vagy a
megbízhatósággal. A FreeBSD rendszermag szintjén támogatja az állapottartó
IP-tűzfalakat és más egyéb szolgáltatásokat is, mint például az IP proxy
átjárókat, hozzáférés-vezérlési listákat, a kötelező
hozzáférés-vezérlést, jail alapú virtuális rendszerek kezelését és a
titkosítással védett lemezeket. Ezek a funkciók olyan magas biztonsági igényű
szolgáltatások védelmére használhatóak fel, például a kölcsönösen bizalmatlan
szolgáltatók és ügyfelek között, vagy a hálózati szegmensek megerősített elkülönítésére
és biztonságos információáramlást biztosító csatornák létrehozására.
A FreeBSD ezenkívül támogat különböző kriptográfiai szoftvereket; biztonságos
shelleket; Kerberos alapú hitelesítést; jailekkel megvalósított virtuális
szervereket
; a szolgáltatások chroot környezetbe zárását, amellyel így korlátozni
tudjuk az állományrendszerek elérést a szoftverek felől; biztonságos RPC szolgáltatást; a
TCP wrappereket támogató szoftverek számára pedig hozzáférés-vezérlési listákat a TCP
wrappers-t támogató alkalmazások számára.