FreeBSD

Allikas: Pingviini viki


FreeBSD
Freebsd-logo.jpg

{{{pildi allkiri}}}
Arendaja: The FreeBSD Project
OS perekond: BSD
Arendusmudel: vaba tarkvara
Viimane versioon: 8.1
27.07.2010
Vaikimisi kasutajaliides: shell
Pakihaldus: Ports
Litsents: BSD litsents
Staatus: aktiivne
Koduleht: www.freebsd.org
Foorum: www.freebsdforums.org
Ametlikud peeglid: ftp.estpak.ee
Mitteametlikud peeglid:

FreeBSD on tänapäeval BSD pere operatsioonisüsteemidest suurim. Peamiseks FreeBSD projekti fookuseks on läbi aegade olnud võimalikult kiire, stabiilse ja tervikliku serveri operatsioonisüsteemi loomine. Hiljuti on tekkinud küll ka mõned FreeBSD põhjale ehitatud distributsioonid, mis on fokusseerunud mugava desktop distributsiooni loomisele. 2000. aasta paiku tegi Apple suures osas FreeBSD koodile tuginedes oma MaxOSX süsteemi ja sellega tõusis BSD mõnes mõttes ilmselt maailma suurimaks desktop Unix süsteemiks.

Ajalugu

FreeBSD, nagu ka kõigi teiste BSD pere operatsioonisüsteemide, juured pärinevad 1970ndate lõpus Berkeley Ülikoolis loodud BSD operatsioonisüsteemil, mis algul kujutas endast täienduste paketti AT&T kommerts Unixile. BSD kood porditi 1992 alguses Bill Jolitzi poolt i386 arhitektuurile. Tolleks hetkeks oli kogu kood juba täiesti iseseisev operatsioonisüsteem, mis ei kasutanud töös originaalse AT&T Unixi koodi. Jolitzi BSD pordist tekkisid 1993 aastal NetBSD ja FreeBSD operatsioonisüsteemid. Algseteks projekti eestvedajateks olid Jordan K. Hubbard, Nate Williams, David Greenman ja Rod Grimes. Hubbardi ja Walnut Creeki koostöös toetati FreeBSD CDdel levitamist, esimene väljalase 1.0 tuli 1993.a. detsembris. Peale BSDI ja Walnud Creeki ühinemist (tekkis BSDi), laenas FreeBSD osa BSD/OS-i SMP koodist, mida kasutati kuigipalju FreeBSD 5.0 arendusversioonis.

90ndate teisel poolel ja selle sajandi alguses oli FreeBSD ka vabavaraliste operatsioonisüsteemide hulgas konkurentsitult kiireim, mistõttu teda kasutati paljudes suure koormusega keskkondades nagu:

  • cdrom.com FTP server, mis 90ndate lõpus püstitas regulaarselt päevase andmemahu edastamise rekordeid.
  • hotmail.com, kus ta hoidis ülal miljonite kasutajate maililiiklust. Mõned aastad peale seda, kui hotmail MSi omandusse läks koliti ilmselt poliitilistel põhjusel küll ringi Windowsi peale.
  • Juniper ruuterites, mida võib leida iga ISPi backbone võrgus.
  • yahoo.com serverites, kus ta on laias kasutuses siiani.
  • Üsna kindel on, et leiad FreeBSD masinaid ükskõik millise ISPi serveriruumidest :-)

Tänapäeval, kus ühest protsessorist maksimaalse jõudluse väljapigistamine pole enam, seoses riistvara tormilise arenguga, primaarne on veidi muutunud ka projekti eesmärgid. Rohkem on hakatud tegelema süsteemi portimisega erinevaile arhitektuuridele, eriti just embedded süsteemides kasutust leidvale ARM protsessorile. Viimased 6 aastat on projekti number 1 prioriteediks olnud ka süsteemi muutmine skaleeruvaks mitme protsessoriga süsteemides.

Täpsemalt võid (Free)BSD ajaloost ja arendusmudelist lugeda siit.

Litsents

2 klausliga minimalistlik BSD litsents mille praktiline sisu on lihtsalt, et tehke meie koodiga mida iganes tahate kuni:

  • Tunnistate et algne kood pärineb meilt.
  • Ei süüdista meid probleemides, mis võivad antud koodi kasutamisest tekkida.

Korrektses juriidilises sõnastuses litsentsi leiad siit.

Põhimõtteliselt tähendab see, et erinevalt GPList võite te võtta BSD litsentsi all oleva koodi, muuta seda nii kuidas pähe tuleb ja anda muudetud versioon välja kommertstootena olgu siis kas binaarina väi lähtekoodi kujul. Selline võimalus on teinud BSD läbi aegade ahvatlevaks riistvara tootjatele, kes üldjuhul kardavad oma toodete lähtekoodi avalikustamist.

Riistvara tugi

Arhitektuurid

 * i386 (32 bitine)
 * x86-64 - i386 64 bitised laiendused (AMD64, EM64T)
 * Sparc - muuhulgas ka näiteks suni Niagara pere protsessorid
 * PowerPC
 * ARM
 * IA64 - Inteli Itanium pere asjad
 * PC98

Vähemal määral on toetatud ka mitmed muud arhitektuurid nagu näiteks Alpha ja MIPS. Täielikku nimekirja hetkel toetatud arhitektuuridest leiad siit.

Seadmete tugi

Kõivõimalike arvuti komponentide ja lisaseadmete osas on FreeBSD tugi enamasti kõigist BSD pere süsteemidest parim, tänu oma suurimale kasutajaskonnale. Olemas on muuhulgas ka näiteks Nvidia poolt ametlikult toetatud binaardraiver nende graafikakaartidele.

Graafiline kasutajaliides / installer

Sisuliselt on toetatud kõik see, mis enamuste teistegi Unixiliste all, ehk siis Xorg, KDE, Gnome, XGL jne.

Installer on curses dialoogide põhine, ekraanitõmmiseid leiad siit.

Programmide paigaldamine

Erinevalt Windowsi maailmast käib pea kõigi tänapäevaste Unixite all tarkvara paigalduse läbi keskse repositooriumi. Sisuliselt tähendab see, et te ei tõmba tarkvara enamasti mitte kuskilt saidilt & seejärel ei paigalda vaid pigem kasutate nii vajaliku programmi leidmiseks, paigaldamiseks, kui ka hilisemaks uuendamiseks mingit operatsioonisüsteemi vahendit.

FreeBSD puhul on selliseks kolmandate osapoolte tarkvara halduseks portsude süsteem. Üldjuhul piisab teil vajaliku programmi paigaldamiseks üheainsa käsu andmisest, mille peale süsteem selle ise internetist alla laeb ja üles seab. Hetkel on keskrepositooriumis üle 16000 erineva programmi, mida võib veebis uurida siin.

FreeBSD omab mitmeid eri meetodeid portsudega tööks, mis võimaldavad paigaldada tarkvara nii käsurealt binaarina, käsurealt lähtekoodist kompileerituna, konsooli alt curses põhise programmiga, kui ka täiesti graafiliste vahenditega. Ka kõigi paigaldatud portsude uuendamise saab lihtsa vaevaga muuta soovikorral täisautomaatseks.

Põhjalik eestikeelne ettekanne FreeBSD portsude halduse süsteemi kasutamisest on siin. Inglise keelne käsiraamatu vastav peatükk on siin.

Emulatsioon

FreeBSD all toimib enamus Linuxi jaoks kompileeritud programme. Kasutades Wine tarkvara on võimalik käivitada ka paljusid Windowsi programme. i386 platvormil saab emuleerida ka SCO, BSDi ja Solarise programme. Alpha platvormil on võimalik kasutada OSF1 ja Linuxi programme.

Väljaannete tihedus/tsükkel

FreeBSD arendus käib kahes harus: stabiilne ja arendus. Stabiilsesse harusse tuuakse jooksvalt arendusharust väikemaid muudatusi, nagu näiteks uue riistvara tugi ja uuemat mitte liiga suuri struktuurimuudatusi nõudvaid funktsionaalsuse täiendusi. Jooksvalt tehakse stabiilsesse harusse ka turvaparandusi. Keskmiselt 4-5 kuu tagant tehakse stabiilsest harust uue väljaanne, mida näitab suurenev minor number versioonis, näiteks 6.0 -> 6.1 -> 6.2. Umbes iga 18 kuu tagant võetakse ette arendusharu stabiliseerimine ja seejärel toimub nn. major release, kus muutub versiooninumbri esimene koht. Seejuures saab endisest arendusharust uus stabiilne haru ja arenduseks luuakse uus eraldi haru.

Süsteemi uuendamine

Süsteemi võib uuendada kas binaarsete uuendustega või CVSist ise kompileerides.

  • Binaaruuendused võimaldavad paigaldada turvapaiku ja uuendada süsteemi uuemale väljaandele.
  • CVSist uuendamine võimaldab paigaldada suvalise ajahetke koodi pealt ehitatud süsteemi, mis on kasulik eeskätt siis, kui teil on mingil põhjusel vaja konkreetse väljaande asemel, masinas hoida kas stabiilse või arendusharu süsteemi.

Skaleeruvus SMP süsteemides

Kuna tänapäeval on kiirelt levimas üha rohkemate protsessoritega masinad ja igas protsessoris on ka aina rohkem tuumasid siis on ääretult oluliseks muutnud operatsioonisüsteemi skaleeruvus sellistel SMP süsteemidel. Ilmselgelt oleks ideaalne skaleeruvus lineaarne, st. iga protsessori lisamisega kasvaks jõudlus lisatud cpu/coreide pakutava jõudluse võrra. Praktikas see päris nii kunagi üheski operatsioonisüsteemis ei ole, kuna paratamatult on süsteemis ressursse, mida tahavad paljud protsessorid korraga kasutada, kuid andmete korrektsuse tagamiseks tuleb seda võimaldada ainult ühele protsessorile korraga. Peale FreeBSD 4.0 väljalaset 2000 aastal seati projekti esimeseks prioriteediks saavutada võimalikult hea SMP skaleeruvus. Kuna klassikaline Unix, mille üks näiteid ka FreeBSD üldjoontes on, oli mõeldud kasutamiseks 1 protsessoriga süsteemi (UP - UniProcessor system), siis tähendas selline ettevõtmine ülisuurt kerneli arhitektuuri ringitegemist. Esimeseks uue skaleeruvama SMP koodiga väljaandeks sai FreeBSD 5.0, mis oli paraku ka tänu suurele hulgale uuele koodile ebastabiilse võitu. Kiirelt järgnes sellele FreeBSD 6.X haru, kus on lõpuks suudetud SMP kood stabiilseks saada ja sisse on toodud suur hulk lisa optimisatsioone.

Üldiselt on skaleerub FreeBSD 6.X lineaarselt 4 tuumani, rohkemate tuumade puhul on küsimus juba selles milline on täpsemalt teie workload. 7.X haru skaleerub enamuste workloadide puhul lineaarselt vähemalt 8 tuumani.

Mälu

Üldiselt i386 süsteemidel on limiidiks 4GB, mis tuleneb 32 bitise raua arhitektuuri piirangutest. Alates umbes 4.9 väljaandest on toetatud ka PAE laiendused, mis võimaldavad kasutada ka üle 4GB mälu. Paraku on PAE rohkem ajutine häkk, kui praktiline lahendus, näiteks ühe protsessi mäluruumi suurus võib endiselt olla vaid 4G ja PAE kasutamine muudab süsteemi aeglasemaks. x86-64 (amd64, opteron, em64t) suudavad probleemideta kasutada ka oluliselt suuremaid mäluhulkasid.

Lingid

Allikas bsd.ee