FreeBSD

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare
FreeBSD®
Terminal FreeBSD
Consolă FreeBSD
Dezvoltator The FreeBSD Project
Familie SO BSD
Stare Current
Model surse software liber
Ultima versiune stabilă 6.2-STABLE din 15 ianuarie 2007
Ultima preversiune 7.0-RELEASE
Tip de nucleu monolitic
Interfață implicită consolă
Licență BSD
Site web http://www.freebsd.org/

FreeBSD este un sistem de operare liber Unix-like descendent din AT&T UNIX® prin ramura Berkeley Software Distribution (BSD), mai exact provine din sistemele de operare 386BSD și 4.4BSD. Rulează pe calculatoare cu procesoare compatibile cu familia Intel x86, dar și pe procesoare DEC Alpha, UltraSPARC® (al firmei Sun Microsystems), Itanium (IA-64), AMD64, PowerPC, PC-98, ARM și MIPS.

FreeBSD este un sistem de operare complet, dezvoltat unitar. Nucleul, driverele pentru dispozitive și utilitarele din spațiul utilizatorului, cum ar fi interpretorul de comenzi sau shell-ul, sunt ținute în același arbore de urmărire a revizuirilor codului sursă (CVS). Această metodă de dezvoltare vine în contrast cu cea folosită pentru Linux (un sistem de operare similar, dar mai bine cunoscut), unde nucleul este dezvoltat de o echipă de dezvoltatori, utilitarele din spațiul utilizator și aplicațiile sunt dezvoltate de alte echipe (cum ar fi proiectul GNU), iar apoi toate acestea sunt împachetate împreună și publicate de alte echipe sub formă de distribuții Linux.

Ca sistem de operare, FreeBSD este privit în general ca fiind foarte fiabil și robust, iar dintre sistemele de operare ce raportează la distanță timpul de funcționare de la ultima inițializare a sistemului (uptime) [1], FreeBSD este cea mai populară alegere dintre sistemele de operare libere afișate în lista Netcraft a primelor 50 de servere web cu cel mai lung uptime [2] (uptime în unele versiuni de GNU/Linux nu poate fi calculat). Un uptime lung indică de asemenea faptul că nu au fost necesare actualizări ale nucleului sistemului de operare, pentru că instalarea unui nou nucleu implică reinițializarea sistemului și rescrierea de la zero a contorului sistemului.

Istorie și dezvoltare[modificare | modificare sursă]

Dezvoltarea inițială a sistemului FreeBSD a început în 1993, pornind de la sursele 386BSD. Totuși, din cauza îngrijorărilor privind legalitatea tuturor surselor folosite în 386BSD și a unui proces între Novell (pe atunci proprietarul drepturilor pentru UNIX) și Berkeley, FreeBSD a sfârșit prin reproiectarea unei mari părți a sistemului pentru versiunea FreeBSD 2.0 (ianuarie 1995), folosind versiunea 4.4BDS-Lite de la Universitatea din California, Berkeley. Manualul FreeBSD (în limba engleză) cuprinde mai multe date istorice despre geneza sistemului de operare FreeBSD.

Poate cel mai notabil câștig al versiunii FreeBSD 2.0 a fost restructurarea sistemului Mach Virtual Memory (memorie virtuală Mach) al CMU-ului original, care a fost optimizat pentru performanță sub încărcări mari, precum și crearea sistemului de porturi, care face ca descărcarea, construirea și instalarea de software din surse terțe foarte ușoară. FreeBSD echipează situri de mare succes cum ar fi: cdrom.com (un depozit imens de software care a doborât multe recorduri din internet), Hotmail și Yahoo!.

FreeBSD 3.0 a adus mai multe schimbări: mutarea la formatul binar ELF, suport inițial pentru sistemele SMP și de asemenea a adăugat suport pentru o nouă platformă pe 64 bit: Alpha. La vremea sa, ramura 3.X a fost sever criticată pentru că multe schimbări nu erau evidente în beneficiul și afectarea performanței, dar a fost un pas necesar pentru dezvoltarea a ceea ce avea să fie ramura de mare succes 4.X.

Inițial, FreeBSD a folosit și pe post de logo mascota BSD Daemon, dar în anul 2005 a fost organizată o competiție pentru un logo propriu. Pe data de 8 octombrie, 2005, competiția a luat sfârșit, iar proiectul propus de Anton K. Gural a fost ales să devină logo FreeBSD. BSD Daemon, rămâne însă mascota proiectului FreeBSD.

FreeBSD 5 — schimbări și dezvoltare[modificare | modificare sursă]

Versiunea FreeBSD finală și ultima din ramura 5-STABLE este 5.5, a fost lansată în mai 2006. Dezvoltatorii FreeBSD mențin (cel puțin) două ramuri de dezvoltări în același timp. O ramură -STABLE de FreeBSD este creată pentru fiecare număr de versiune majoră, pentru care sunt scoase versiuni odată la fiecare 4--6 luni. Ultima versiune de FreeBSD 4-STABLE este 4.11, care este și ultima din versiunile ramurii 4-STABLE. Prima versiune 5-STABLE a fost 5.3 (de la 5.0 la 5.2.1 au fost parte din ramura -CURRENT). Prima versiune 6-STABLE a fost 6.0. Ramura de dezvoltare, -CURRENT, în acest moment este 7.0-CURRENT și conține caracteristici agresive pentru un nucelu nou și pentru aplicații din spațiul utilizator. Dacă o caracteristică este suficient de stabilă și matură, atunci ea poate fi portată pe versiuni anterioare ale ramurii -STABLE (în slang-ul FreeBSD operația este denumită MFC, Merge from CURRENT). Modelul de dezvoltare FreeBSD este descris mai amănunțit într-un articol, în limba engleză, de Niklas Saers [3].

Marea diferență în FreeBSD 5 a fost o schimbare majoră în mecanismul de nivel jos al blocării nucleului care permite un suport mai bun pentru multiprocesor simetric (SMP, symmetric multiprocessor), eliberând o mare parte de nucleu de blocarea multiprocesorului, menționată uneori ca Big Giant Lock. Acum este posibilă executarea în același timp mai multor procese în mod nucleu.

Altă schimbare majoră include o soluție de thread-ing m:n, numită KSE, care acum este biblioteca implicită pentru threading (pthreads) începând cu 5.3 (crearea ramurii 5-STABLE). Terminologia m:n, unde m și n sunt întregi pozitivi, implică faptul că m fire de execuție (thread) din spațiul utilizator corespund la n fire de execuție ale nucleului. Multe alte caracteristici noi sunt legate de securitate. A fost format proiectul TrustedBSD de către Robert Watson cu scopul expres de a adăuga încredere în funcționalitatea sistemului de operare pentru FreeBSD. Un mediu extensibil pentru controlul obligatoriu al accesului (TrustedBSD MAC Framework, MAC este acronim pentru mandatory access control), un sistem de fișiere Access Control Lists (ACL, liste de control pentru acces) și noul sistem de fișiere UFS2 toate provin din TrustedBSD. Unele din funcționalitățile TrustedBSD au fost integrate de asemenea și în sistemele de operare NetBSD și OpenBSD.

FreeBSD 5 a schimbat de asemenea semnificativ stratul block I/O (bloc de intrare/ieșire) prin introducerea mediului de transformare a cererii intrare/ieșire pentru disc modular GEOM (GEOM modular disk I/O request transformation framework), contribuție a lui Poul-Henning Kamp. GEOM activează crearea simplă a multor feluri de funcționalitate, cum ar fi creare de imagini în oglindă, mirroring, (gmirror) și criptarea (gbde). Lansarea recentă a FreeBSD 5.4 a confirmat ramura FreeBSD 5.X ca pe o verisiune foarte stabilă și foarte performantă, în ciuda faptului că a avut o perioadă de concepție lungă din motive de set cuprinzător de caracteristici.

FreeBSD 6 și 7[modificare | modificare sursă]

FreeBSD 6.1 a fost lansat în 8 mai, 2006, iar 7.0-CURRENT este în dezvoltare activă. Aceste versiuni continuă să lucreze la optimizări SMP și threading, la zona funcționalității avansate a 802.11 și la auditarea evenimentelor de securitate TrustedBSD. Realizările primei versiuni ale acestora includ înlăturarea Giant lock din VFS, înlocuirea bibliotecii libthr cu o implementare 1:1 pentru threading care se execută mai bine, și adăugarea unei implementări de audit BSM, numită OpenBSM creată de proiectul TrustedBSD, care se bazează solid pe implementarea BSD găsită în producția Open Source de la Apple: Darwin, publicată sub o licență de tip BSD.

Compatibilitate cu Linux[modificare | modificare sursă]

FreeBSD oferă compatibilitate binară cu mai multe alte sisteme de operare de tip Unix, inclusiv cu Linux. Motivația din spatele acestui fapt este de obicei atribuită rulării aplicațiilor dezvoltate pentru Linux, adesea comerciale, și care sunt distribuite de obicei sub formă binară, astfel ele ne putând fi portate pe FreeBSD în lipsa acceptului acelor care controlează codul sursă.

Din linie de comandă, compatibilitatea permite utilizatorilor de FreeBSD să ruleze majoritatea aplicațiilor care sunt distribuite doar ca binare Linux. În comparație cu numărul vast de aplicații native disponibile pentru FreeBSD folosind colecția de porturi, aceste aplicații sunt minoritare. Aplicațiile folosite în nivel de compatibilitate Linux includ StarOfice, versiunea Linux de Netscape, Adobe Acrobat, RealPlayer, VMware, Oracle, WordPerfect, Skype, Doom 3, Quake 4, seria Unreal Tournaments, Sea Monkey, și altele. În general, pare să nu existe nici o diminuare notabilă a performanței când se rulează binarele Linux comparativ cu aplicațiile native FreeBSD.

Deși există multe aplicații care rulează fluent în stratul de compatibilitate, trebuie notat că stratul nu este complet, astfel ducând unele binare Linux în situația de nu putea fi folosite sau de a le limita funcționalitatea, probabil din cauza faptului că stratul de compatibilitate suportă doar apelurile de sistem pentru nucleul Linux 2.4.2, o distribuție care a făcut istorie. Un exemplu din această categorie este Cedega, produsul firmei TransGaming pentru rulat jocuri de Microsoft Windows sub Linux. Folosirea acestuia în acest moment este în mare măsură compromisă din cauza unui strat de compatibilitate incomplet. Există însă un succes limitat în folosirea lui la rularea jocurilor pe FreeBSD [4]. A fost acceptat un proiect pentru ediția 2006 Sumer of code, de a actualiza stratul de compatibilitate și de a implementa apeluri de sistem care lipsesc.

Pentru cele mai multe aplicații științifice, compatibilitatea Linux lucrează corect; aplicații precum nmrpipe, ccp, Mathematica sau Matlab lucrează conform așteptărilor.

Licență[modificare | modificare sursă]

Ca și sistemele de operare surori, codul din FreeBSD este publicat sub termenii diferitelor licențe. Totalitatea codului nucleului și cea mai nou creată de cod este publicată sub termenii licenței BSD cu două clauze, care permite tuturor să folosească și să redistribuie FreeBSD după dorință. Există de asemenea părți publicate sub alte licențe: GPL, LGPL, ISC, licență BSD cu trei clauze, licență BSD cu patru clauze.

Pentru unele funcționalități particulare, există de asemenea și binare fără cod sursă cum ar fi Atheros HAL pentru funcționalitate wireless și o unealtă doar în format binar pentru AAC RAID de la Adaptec.

Produse derivate din FreeBSD[modificare | modificare sursă]

O gamă largă de produse sunt bazate direct sau indirect pe FreeBSD. Această gamă cuprinde de la dispozitive de tip embedded (integrate), cum ar fi rutere Juniper Networks și sisteme de operare firewall de la Nokia, la porțiuni întregi ale altor sisteme de operare, cum ar fi RTOS WxWorks. Darwin, inima Mac OS X de la Apple, se bazează în mare măsură pe FreeBSD incluzând aici sistemul de fișiere virtual, stiva de rețea și componente din spațiul utilizator. Apple continuă să integreze cod nou din FreeBSD și contribuie înapoi către FreeBSD cu schimbări. Produsul open source OpenDarwin, dezvoltat original din codul de bază al Apple dar acum entitate separată, include de asemenea cod FreeBSD în mod substanțial. În plus există câteva sisteme de operare originale desprinse din sau bazate pe FreeBSD incluzând aici PC-BSD și DesktopBSD, care include îmbunătățiri destinate utilizatorilor de acasă sau stațiilor de lucru; distribuțiile FreeSBIE și Frenzy live CD; produsele firewall embedded m0n0wall și pfSense; DragonFly BSD o notabilă desprindere din FreeBSD 4.8 conceput pentru o strategie de sincronizare multiprocesor diferită care a fost apoi aleasă pentru FreeBSD 5 și dezvoltarea unor caracteristici microkernel (micronucleu); și nu în ultimul rând RoFreeSBIE, un proiect rezultat colaborării membrilor ROFUG.

TrustedBSD[modificare | modificare sursă]

Proiectul TrustedBSD oferă FreeBSD-ului un set de extensii de încredere pentru sistemul de operare, fiind inițiat de Robert Watson. Scopul proiectului a fost implementarea conceptelor de la Common Criteria pentru Information Technology Security Evaluation (evaluarea securității tehnologiei informațiilor) și Orange Book. Acest proiect rămâne încă în dezvoltare, și multe din aceste extensii de încredere au fost integrate în lista de dezvoltare a FreeBSD 5.X, 6.X și acum 7.X-CURRENT.

Pincipalul obiectiv al proiectului TrustedBSD este contribuția la Access Control Lists (listele de control al accesului), auditul evenimentului, atribuții extinse, capacități de acord fin și mandatory access control (control al accesului obligatoriu). Ca parte din proiectul TrustedBSD, există de asemenea un port care rulează pe FreeBSD al implementării FLASK/TE al NSA în SELinux. Contribuții mai recente includ dezvoltarea OpenBSM, o implementare open source a API-ului Basic Security Module (BSM, modul de securitate fundamentală) al companiei Sun și un format de fișiere pentru jurnale de audit, care suportă un sistem de audit pentru securitate extinsă care face parte din FreeBSD 6.1.

Deși majoritatea componentelor proiectului TrustedBSD sunt incluse în arborele sursă principal al FreeBSD, aceasta nu este singura lor destinație. Multe caracteristici, odată ajunse la maturitate, își găsesc locul în OpenBSD sau Darwin de la Apple Computer.

Legături externe[modificare | modificare sursă]

Commons
Wikimedia Commons conține materiale multimedia legate de FreeBSD