FreeBSD
De la Wikipedia, enciclopedia liberă
FreeBSD | |
---|---|
Consolă FreeBSD |
|
Dezvoltator: | The FreeBSD Project |
Familie SO: | BSD |
Model surse: | software liber |
Versiune stabilă: | 6.3-STABLE / 8 mai 2006 |
Preversiune: | 7.0-RELEASE / |
Tip de nucleu: | monolitic |
Interfaţă implicită: | consolă |
Stare: | Current |
Licenţă: | BSD |
Pagină web: | 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.
Cuprins |
[modifică] Istorie şi dezvoltare
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.
[modifică] FreeBSD 5 — schimbări şi dezvoltare
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. Ulitma 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.
[modifică] FreeBSD 6 şi 7
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.
[modifică] Compatibilitate cu Linux
FreeBSD oferă compatibilitate binară cu mai multe alte sisteme de operare Unix-like (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.
[modifică] Licenţă
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.
[modifică] Produse derivate din FreeBSD
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 incluzând aici Linux şi 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.
[modifică] TrustedBSD
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.
[modifică] Legături externe
- FreeBSD — Sit oficial
- FreshPorts — Locaţie pentru porturi
- software FreeBSD — Aplicaţii şi porturi FreeBSD
- FreeBSDwiki.net — Un wiki dedicat sistemului FreeBSD
- TrustedBSD
- RoFreeSBIE
- ROFUG — grupul de utilizatori de FreeBSD din România
- ROFUGpedia