Operacijski sistemi BSD
Ko uporabniki računalnika zaslišijo besede brezplačni operacijski sistemi, jih velika večina pomisli na Linux oziroma na katero od distribucij tega razvpitega operacijskega sistema (natančnejši bodo pripomnili, da Linux sploh ni operacijski sistem, temveč le njegovo jedro). Povprečnemu računalniškemu uporabniku pa je manj znano, da obstaja cela družina brezplačnih operacijskih sistemov, ki tako kot Linux izvirajo iz Unixa, očeta sodobnih operacijskih sistemov. To so operacijski sistemi iz družine BSD. Najbolj znani so FreeBSD, OpenBSD in NetBSD, nekoliko manj pa DragonFly BSD in Darwin. DragonFly se je pojavil lani, je izpeljanka iz FreeBSD in ga omenjamo samo mimogrede. Tudi Darwin izhaja iz FreeBSD in je osnova za Applov operacijski sistem MacOS X.
Vrtoglave številke zgodovine
PDP-7 je bil računalnik, ki so ga izdelali v podjetju DEC. Njegov procesor je opravljal operacije med 18 bitov dolgimi "besedami". Pomnilnik iz feritnih jeder je zmogel shraniti od 4000 do 32.000 takih besed. Na en magnetni trak je lahko shranil informacij za 148.000 besed. Predstavili so ga leta 1965, stal je 60 tisoč dolarjev, vsega pa so jih naredili 120. Uporabljali so ga v poslovne namene.
Preden spregovorimo več o sistemih BSD, se za hip ozrimo dobrih trideset let nazaj. Ameriška programerja Ken Thompson in Dennis Ritchie s še nekaj sodelavci iz Bellovih laboratorijev podjetja AT&T sta leta 1971 napisala operacijski sistem Unix, ki je postal uspešnica predvsem v univerzitetnem okolju. Ime Unix je bilo besedna igra, ki je namigovala na drugačnost novega operacijskega sistema v primerjavi z nekim drugim operacijskim sistemom Multics. Prva različica Unixa je bila napisana v zbirnem jeziku za računalnik PDP-7 in pozneje za PDP-11/20, do leta 1973 pa sta ga Thompson in Ritchie prepisala v programski jezik C. Unix je bil prvi operacijski sistem, v celoti napisan v Cju. To je omogočilo prenosljivost, kot je dotlej niso poznali. Okolje Unix so prenesli na različne strojne osnove (od velikih osrednjih sistemov - mainframeov, pa vse do osebnih računalnikov). Kljub uspešnosti Unixa pa AT&T z njim ni mogel kovati denarja, kot to danes počne Microsoft z Okni. AT&T je bil namreč monopolist na področju telefonije in se po sodni odločbi ni smel ukvarjati še s prodajo programske opreme. Zato so izvirno kodo Unixa za skromno vsoto kmalu licencirali univerzam, ki so v zameno obogatile zbirko programja, dostopnega za Unix. Eden večjih darovalcev je bil računalniški oddelek (Computer Systems Research Group - CSRG) kalifornijske univerze Berkeley (UCB). CSRG je prispeval zbirko programov, ki se je imenovala Berkeley Software Distribution. Iz imena zbirke tudi izhaja razvpita kratica BSD. Zbirko programov BSD so neutrudno razvijali naprej in jo pilili ter dopolnjevali. Nadomestili so skoraj vse dele UNIXa, na koncu je manjkalo samo še šest datotek, da bi BSD postal popoln operacijski sistem. Pomanjkljivost je postala izziv in vztrajni programerji so napisali nadomestne datoteke. Tako se je marca 1978 BSD dokončno ločil od AT&T Unixa.
Licenciranje
Tisti, ki želijo uporabljati enega od sistemov BSD v skladu s podeljeno licenco, bodo priznali, da so licenčni pogoji eni najbolj svobodnih, kar jih je moč najti v računalništvu. Licenca GPL, ki se večinoma (a ne izključno) uporablja v svetu Linuxa, omogoča uporabniku brezplačno uporabo. Pri spreminjanju (izboljševanju) programov pa je uporabnik (oziroma razvijalec) dolžan prepustiti izvirno kodo javni rabi po enakih pravilih. Po drugi strani licenca BSD prepušča uporabniku, da počne s kodo, karkoli hoče. Programerji jo lahko svobodno vključujejo v svoje programe. Za razliko od GPL lahko tako razvite programe mirno prodajajo naprej. Tudi svoje kode niso dolžni razkrivati. Licenca BSD ne prepoveduje, da bi kdo kodo v celoti licenciral komu drugemu naprej pod svojimi pogoji (če bi seveda kje našli kupce). Licenca zgolj zahteva, da se njeno besedilo razširja skupaj z izvirno in prevedeno kodo. Zaradi takega načina licenciranja najdemo dele kode BSD v večini komercialnih in tudi nekomercialnih operacijskih sistemov (Okna, Mac OS X, Linux).
Skupne značilnosti
Operacijski sistemi iz družine BSD imajo precej skupnih potez, saj izvirajo iz skupnih korenin. Vsi lahko tečejo na sorazmerno stari in skromni strojni opremi (npr. na računalniku s procesorjem Intel 80386 in 16 MB sistemskega pomnilnika), vsekakor pa tudi tu velja, da je novejše in zmogljivejše bolje za uporabnika. (Edina izjema pri tem so morda grafične kartice, saj najnovejše kartice praviloma kar nekaj časa od predstavitve ne podpirajo okenskih okolij X). Proces namestitve se razlikuje v podrobnostih, ima pa nekaj skupnih potez.
Mednje sodi priprava diska, ki je med zapletenejšimi postopki v namestitvi. Disk razdelimo na enega ali več razdelkov, ki lahko imajo različne datotečne zapise. Razdelek, ki je namenjen za namestitev BSD, pa še dodatno razdelimo na manjše dele - rezine (slices). Rezine (razen izmenjalne) imajo svoje priklopne točke. Poleg obveznih korenske (root, /) in izmenjalne (swap) rezine si lahko omislimo še rezine /tmp (za začasne datoteke), /var (primerna za dnevniške - log - datoteke najrazličnejših procesov, najraje pa poštnih in spletnih strežnikov), /usr. Vse sisteme lahko namestimo tako, da tečejo v tekstovnem okolju ukazne vrstice. Taka namestitev je primerna predvsem za strežnike vseh vrst, od poštnega in spletnega do datotečnega. Če nameravamo računalnik z BSD uporabljati kot delovno postajo, pa je seveda primernejša namestitev okenskega okolja X-Windows. To okolje podpirajo vsi sistemi BSD, ne pa tudi Applov Darwin. (Apple ima svoj komercialni grafični vmesnik Aqua, znotraj katerega je sicer mogoče poganjati X-Windows).
Vražji BSD
Vsak operacijski sistem iz družine BSD ima svojo maskoto. Ne nazadnje je to značilno tudi za Linux. Kdo med bralci ne pozna pingvina ali rdečega klobuka? V svetu BSD pa nastopa prijazno, vražičku podobno bitje z vilami. A ta lik ne namiguje na "hudičevsko" naravo sistema, temveč hoče spomniti na množico procesov, ki tečejo nevidno, v ozadju sistema. V angleško govorečem svetu te procese imenujejo daemons, demoni, in od tod izvira grafična podoba demona BSD. Njen tvorec je bil John Lasseter, ki je danes bolj znan kot režiser, scenarist in producent risanih filmov studia Pixar. Je tudi izvršni podpredsednik studia za področje kreativnosti. Še ena zanimivost: direktor Pixarja je Steve Jobs, ki sedi tudi za krmilom podjetja Apple. Applov operacijski sistem Mac OS X (oziroma njegov podsistem Darwin) pa temelji na FreeBSD.
FreeBSD
Najbolj razširjen med sistemi BSD je FreeBSD. Skupina programerjev, ki ga razvija, šteje največ članov, zanj pa je med vsemi BSDji tudi na voljo največ literature. Podprte so naslednje strojne osnove: x86 (od procesorjev 80386 pa do Pentiuma 4 med Intelovimi procesorji, AMD Athlon), AMD64 (64-bitni AMD), IA-64 (Intelov 64-bitni procesor Itanium), Alpha ter UltraSparc. Programerske ekipe si prizadevajo za prenos na arhitekture Macintosh (procesor PowerPC), ARM in MIPS.
FreeBSD izvira iz sistema 4.4 BSD-Lite. Njegovi začetki segajo v leto 1991, ko so programerji, nezadovoljni s svojim položajem pri razvoju sistema 386BSD (različica BSD za peceje z Intelovimi procesorji), zapustili skupino. FreeBSD (podobno kot Linux) razvijajo po dveh tirnicah. Prva veja (Release) je zelo stabilna in je namenjena tistim, ki prisegajo na preverjeno programsko opremo in si ne morejo (ali nočejo) privoščiti izgube podatkov zaradi morebitne nedorečenosti sistema. Druga veja (Stable) je bolj eksperimentalna in je namenjena tistim, ki živijo hitro in bi radi čim prej preizkusili novosti. Vsekakor je priporočljiva previdnost - na delujoče spletne ali poštne strežnike sodi preverjena veja FreeBSD.
Namestitev sistema FreeBSD sodi med enostavnejše v svetu Unixa in podobnih okolij. Mogoče ga je namestiti z nosilca CD-ROM (DVD-ROM) ali z razdelka MS-DOS (FAT16 ali FAT32) na disku. Če je računalnik povezan v omrežje, je namestitev mogoča tudi s strežnika ftp (ftp.freebsd.org in množica zrcalnih strežnikov po svetu) ali strežnika NFS v našem omrežju. Za namestitev prek omrežja potrebujemo le dve zagonski disketi. Po pripravi diska se lahko začne prava namestitev. Zbirka programov, ki so vključeni na dveh nosilcih CD-ROM, šteje več kot tisoč imen. V njej najdemo programe za uporabo na različnih področjih, od astronomije do zemljepisa. Z namestitvijo posebnega programskega paketa (Linux binary-compatibility package) lahko dosežemo binarno združljivost s programi, napisanimi za Linux. Pri poganjanju takih programov ni FreeBSD skoraj nič počasnejši, v nekaterih primerih pa naj bi bil celo hitrejši. S tem se uporabnost sistema in število programov, ki delujejo v sistemu, še poveča.
Najnovejša različica FreeBSD nosi oznako 5.3 in v primerjavi s prejšnjimi prinaša kar nekaj novosti. Eno od njih opazimo že pri namestitvi. Prej je bila v namestitev vključena že konfiguracija okenskega strežnika (to je bil XFree86). Pri FreeBSD 5.3 pa moramo okenski strežnik namestiti po končani namestitvi sistema. Sistem uradno podpira okenski strežnik Xorg (www.x.org), ki je brezplačen in je po načinu licenciranja precej podoben sistemom BSD. Tudi XFree86 je še zmeraj podprt, lahko pa si namestimo celo katerega od komercialnih okenskih strežnikov.
Kljub temu da sistemi BSD delujejo na računalnikih, ki so za današnje pojme zelo zastareli, pa so pri razvoju FreeBSD (končno) naredili rez. Različice od 5 naprej ne podpirajo več Intelovih procesorjev 386. Lastnikov računalnikov s tem častitljivim procesorjem vseeno ne bodo pustili na cedilu, saj razvijalci osvežujejo vejo z zaporedno številko 4 (tako imenovana "legacy release").
Poglavitna prednost FreeBSDja pred konkurenti je visoka zmogljivost pri delu z omrežji. Zato ni čudno, da kar 2,5 milijona spletišč po svetu poganja FreeBSD, med njimi jih največ gostuje pri ponudniku Yahoo. Še ena od prednosti je množica programov, ki jih je razvijalska skupnost pripravila za pretočitev z javnih strežnikov (www.freebsd.org/ports, njihovo število se približuje 6000).
FreeBSD
Kaj: Na Unixu zasnovan operacijski sistem.
Izdeluje: FreeBSD.org.
Najnovejša različica: 5.3 (november 2004).
Namestitev: CD-ROM (na voljo so brezplačne slike iso) ali s strežnika ftp.
Za: Obširna literatura, brezplačne slike iso, množica dostopnih programov.
Proti: Namestitev okenskega strežnika ni več združena z namestitvijo sistema (od 5.3 naprej).
OpenBSD 3.6
Sistem je začel razvijati kanadski programer Theo de Raadt, ki je tudi poglavitni skrbnik projekta. Pred tem je več let sodeloval pri razvoju NetBSD, a se je zaradi različnih pogledov na razvoj sistema razšel s skupino. Sledilo mu je nekaj somišljenikov. Ta skupina razvijalcev je v svet odprte kode vpeljala nekatere zamisli, ki jih imamo danes za samoumevne, npr. javni dostop do repozitorijev izvirne kode CVS. Skupina, zbrana pod zastavo OpenBSD, je kmalu postala znana po obsedenosti z varnostjo. OpenBSD spada med najvarnejše med sodobnimi operacijskimi sistemi. V zadnjih osmih letih so našli le eno razpoko v varnosti, in sicer v privzeti namestitvi sistema. To seveda ne pomeni, da nepreviden uporabnik tega ne more pokvariti z namestitvijo kompromitiranih programov ali z neustreznimi nastavitvami sicer varnostno ustreznih programov. Zato ga nameščajo predvsem v okoljih, kjer posvečajo največjo možno skrb varnosti delovanja sistema.
OpenBSD ni popolnoma brezplačen. Namestitvene cedeje moramo kupiti, iz tega denarja se namreč celotni projekt (delno) sofinancira. Za 45 evrov in stroške pošiljanja dobimo po pošti tri cedeje, s katerih lahko namestimo OpenBSD na strojne osnove i386, VAX, AMD64, Macintosh (procesor PowerPC) ter Sparc (32-bitni in 64-bitni). Na cedejih so tudi datoteke z izvirno kodo sistema, datoteke za namestitev okenskega okolja XFree86 in kopica programov, bodisi v izvirni bodisi v prevedeni obliki. Za nekaj drugih strojnih osnov, ki so podprte, je nujen prenos namestitvenih datotek s strežnika ftp.
Nič čudnega torej, da uradnih slik ISO ni mogoče najti v spletu. Licenca dovoljuje neuradne slike, na katerih pa mora biti razporeditev (layout) datotek drugačna kot na uradni distribuciji. Z zrcalnih strežnikov ftp lahko snamemo uradno sliko namestitvene plošče CD-ROM predzadnje različice. Če hočemo brezplačno namestiti najnovejšo različico OpenBSD (3.6), moramo s strežnika pretočiti namestitvene datoteke in namestitveno disketo.
Namestitev je (podobno velja za vse operacijske sisteme) najenostavnejša, če celotni disk prepustimo enemu sistemu. OpenBSD sicer dopušča tudi več sostanovalcev na disku - bodisi kateri drugi BSD, Linux ali pa celo Okna. Namestitev sistema poteka iz ukazne vrstice in je do uporabnika precej neprijazna. To še posebej velja za razdelitev diska, kjer OpenBSD po svoje poimenuje to, kar okenski uporabnik pozna kot razdelek in datotečni sistem. Preostanek namestitve je prijaznejši zgolj zato, ker so pojmi, ki jih uporablja namestitveni program, uporabniku bolj znani. Za uspešno namestitev je zelo priporočljivo imeti ob sebi priročnik ali pa odprto spletno stran na naslovu www.openbsd.org.
Nekateri prodajalci računalniške opreme uporabljajo OpenBSD kot osnovo za svoje komercialne rešitve (npr. vgradni sistemi). Nekateri pa ponujajo tudi računalnike z že nameščenim OpenBSD. S svojo varnostjo je sistem prav gotovo privlačen za upravitelje strežnikov, ki čutijo nelagodje ob uporabi Microsoftovih rešitev. Te so zaradi številnih ranljivosti namreč vsakdanja tarča piscev zlonamernih programov.
OpenBSD
Kaj: Na Unixu zasnovan operacijski sistem.
Izdeluje: OpenBSD.org.
Najnovejša različica: 3.6 (oktober 2004).
Namestitev: CD-ROM (45 dolarjev) ali s strežnika ftp.
Za: Med najvarnejšimi operacijskimi sistemi.
Proti: Uradnih slik iso ni mogoče dobiti, neprijazna namestitev.
NetBSD
Če je FreeBSD najbolj razširjen med uporabniki in OpenBSD najvarnejši, pa je NetBSD operacijski sistem, ki ga lahko poganjamo na največjem številu strojnih okolij. Razvijalcem ga je uspelo prenesti na več kot 50 strojnih osnov, med katerimi je večina manj znana. Med bolj priljubljenimi omenimo strojne osnove Digital Alpha in VAX, AMD (32- in 64-bitni procesorji), Commodore Amiga, Atari TT030, Sega Dreamcast in Sony Playstation (igralni konzoli), Macintosh (procesorji PPC in 680x0), Sun SPARC in seveda Intel x86. Na spletišču netbsd.org izvemo, da pripravljajo še prenos sistema v strojna okolja, kot so Nintendo 64, Psion 5 in Nokia Communicator. Med zanimivejše spada raba NetBSD v vgradnih sistemih.
Prva javno dostopna različica (0.8) je bila na voljo aprila 1993, oktobra naslednje leto pa je izšla različica 1.0. Razvoj je počasi tekel naprej, čisto pred kratkim je izšla različica z oznako 2.0 (december 2004), ki podpira že 48 strojnih okolij. Najlažja pot do namestitve pelje prek strežnika http://iso.netbsd.org, kjer si lahko pretočimo sliko iso namestitvenega nosilca CD-ROM. Za najbolj razširjene računalnike s procesorji Intel so na voljo trije cederomi. Prvi je namestitveni, drugi ("live") omogoča zagon z nosilca brez namestitve, tretji pa vsebuje dodatne uporabne programe (ports), brez katerih bi bil NetBSD precej manj privlačen za uporabnike. Skozi namestitveni program sysinst se uporabnik prebije prek menujev, ki so v različici 2.0 precej bolj prijazni kot v prejšnjih. Zato malo naprednejši uporabnik pri namestitvi ne bi smel imeti težav.
Ker programerske napake (ki bi drugače lahko ostale skrite) pri prenosu kode med več okolji hitreje odkrijemo, je koda sistema NetBSD sorazmerno prečiščena. Sistem je priporočljiv še posebej za zastarela strojna okolja, kjer njihov izvirni operacijski sistem že dlje časa ni bil posodobljen.
NetBSD
Kaj: Na Unixu zasnovan operacijski sistem.
Izdeluje: NetBSD.org.
Najnovejša različica: 2.0 (december 2004).
Namestitev: CD-ROM (na voljo so brezplačne slike iso) ali s strežnika ftp.
Za: Podpira veliko strojnih osnov, namestitev je prijaznejša kot v prejšnjih različicah.
Sklep
Po vsem, kar smo povedali, se zastavlja vprašanje, zakaj bi sploh uporabljali katerega od sistemov BSD, ko pa imamo na voljo razne distribucije Linuxa. Te je prijazneje namestiti, podpirajo širok nabor strojne opreme, ne nazadnje je zanje na voljo veliko število programov.
BSD na sodišču
Računalniška javnost je v letih 2003 in 2004 z zanimanjem spremljala sodni spor med podjetjema SCO in IBM, ki je spravil v negotovost uporabnike Linuxa. SCO je namreč zahteval odškodnino zaradi "nedovoljene uporabe lastniške izvirne kode" v jedru Linuxa od različice 2.4 naprej. Dolžine sojenja in izreka sodbe sicer ne moremo z gotovostjo napovedati, vse pa kaže, da bo podjetje SCO izgubilo in se zaradi finančnih posledic tožarjenja znašlo na smetišču zgodovine. Kljub temu se je kar nekaj podjetij, ki uporabljajo Linux, ustrašilo sodnih postopkov, in so raje plačala odškodnino SCO.
Tudi sistemi BSD so bili nekoč povezani s sodnimi postopki. Kot rečeno, se je BSD osamosvojil od AT&T Unixa. Leta 1984 se je AT&T reorganiziral in takrat je nastala tudi podružnica AT&T Computer Systems. Ta je med drugim tudi začela tržiti Unix. Na drugi strani je podjetje BSDi skušalo prodreti s komercialnim operacijskim sistemom na osnovi BSD. To je pripeljalo do resnejših trenj med AT&T in berkeleyjsko univerzo, ki so se končala na sodišču. AT&T je tožil univerzo in BSDi zaradi zlorabe blagovne znamke UNIX in zlorabe avtorskih pravic. Na koncu so dosegli poravnavo, saj so odkrili, da je tudi AT&T prekršil licenčne pogoje univerze. Da bi bila ironija popolna, je večina sporne kode izvirala iz BSD in ne iz izvirnega Unixa. (To zelo spominja na razmerje med SCO in IBM oziroma linuksovsko skupnostjo, kjer SCO po trditvah poznavalcev še zdaleč nima čistih rok)
Vse to je sicer res, vendar imajo sistemi BSD pred distribucijami Linuxa tudi ne tako malo prednosti. Njihov razvojni cikel je bolj umirjen kot pri Linuxu. To pomeni, da je nova koda temeljiteje preizkušena in je manj prostora za računalniške hrošče. Drugič, ker so sistemi BSD manj razširjeni, so tudi manj zanimivi za pisce zlonamernih programov. Poglavitna tarča slednjih so sicer Microsoftova Okna, priznati pa je treba, da so distribucije Linuxa po številu odkritih ranljivosti takoj za Okni. Ko govorimo o številu programov, ki so na voljo za posamezno okolje, pa moramo povedati, da so programi za sisteme BSD dodobra preizkušeni, preden se jim uspe uvrstiti v uradno zbirko. (Te najdemo na ustreznih strežnikih ftp v mapah packages oziroma ports)
Sistemi BSD so zanimivi za računalniške ljubitelje, programerske zanesenjake in za upravitelje (manjših in večjih) spletnih strežnikov. Ker je njihova izvirna koda prosto dostopna, se lahko ob njenem preučevanju naučimo mnogo novega o delovanju sodobnih operacijskih sistemov. Vsi temeljijo na Unixu, zato je poglobljeno delo z njimi lahko odskočna deska za spoznavanje drugih, komercialnih Unixovskih sistemov. Poznavanje slednjih pa je na trgu računalniške delovne sile še zmeraj visoko cenjeno.