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.