FreeBSD The Power to Serve

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.