FreeBSD 8.0 – Ce urmează…

Adăugat pe Sep 2 2009 - 11:52pm de osn.ro

freebsd8În următoarele luni vor fi lansate versiuni nou ale unor sisteme de operare majore: Mac OS X v10.6 (Snow Leopard) în septembrie, Windows 7 pe 22 Octombrie și Ubuntu 9.10 (Karmic Koala), tot în octombrie.

Au fost scrise deja multe articole despre aceste lansări, dar nu ar trebui să uităm nici de FreeBSD. Versiunea purtând numărul 7 a FreeBSD a fost publicată pe 27 februarie 2008, iar dezvoltatorii lucrează din greu de atunci și chiar dinainte de această dată la următoarea versiune majoră – FreeBSD 8 – progamată să fie lansată la sfarșitul septembrie.

FreeBSD 8 a fost destinat inițial să fie o versiune mai mult sau mai puțin evoluțională cu doar puține modificări majore. Vă amintiți de articolul “FreeBSD 8 won’t rewrite the book“? Pe atunci, nu era clar dacă versiunea 8.0 va fi de fapt o altă versiune majoră cu modificări inovative (release notes) sau doar una tranzițională.

Tradiționala înghețare a codului a fost anunțată pe 26 iunie, urmată de concentrarea dezvoltatorilor pe finisarea codului și rezolvarea erorilor și mai puțin pe adăugarea de noi facilități. Astfel, FreeBSD începe să se modeleze frumos: Beta1 și Beta2 au văzut deja lumina, iar Ken Smith a creat ramura RELEN_8 pe 3 August pentru pregătirea publicării finale a 8.0. După Beta3, programat pentru 17 August, nu vor mai fi adăugate facilități noi versiunii 8.0.

Dezvoltatorii lucrează acum din greu la modificările finale, amendamentele și fixările rămase. Datorită unei probleme cu exportul SVN către CVS, procesul de lansare a fost întârziat pentru o scurtă perioadă de timp. Cele mai multe probleme au fost deja rezolvate, alături de un număr de petice care așteptă să fie aprobate (mai multe despre procesul de lansare).

Așadar, la ce îmbunătățiri și facilități noi ne putem aștepta în FreeBSD 8? La multe. Următoarele sunt doar câteva dintre cele urmărite de mine:

* îmbunătățiri la Jail-uri
* DTtrace
* remedii pentru Virtual IEEE 802.11 și la virtualizarea stivei de rețea
* superpagini
* suport Xen DomU
* protecție stack-smashing
* rescrierea stratului TTY
* suport mult îmbunătăţit pentru ZFS
* stivă nouă pentru USB
* rescrierea NFS client/server şi introducerea NFSv4
* îmbunătăţiri pentru extensiile de dispozitiv mmap() care vor permite implementarea tehnică a driverului de display Nvidia pe 64 biţi pentru platforma amd64

Pe lângă aceste facilităţi noi sau îmbunătăţirea celor existente, mai există multe altele, plus ajustări de stabilitate şi îmbunătăţiri de cod.

Ivan Voras a menţinut la zi o foarte utilă pagină cu toate facilităţile nou introduse în 8.0, documentând toate modificările şi descriind detaliat difrenţele dintre 7.0 şi 8.0. Am luat câteva dintre aceste facilităţi şi le-am sumarizat mai jos. Pentru lista completă şi detalii vizitaţi “What’s cooking for FreeBSD 8.0“.

Build-uri de port paralele

Infrastructura porturilor pentru build-urile sursă a fost îmbunătăţit pentru a permite build-uri paralele a porturilor individuale. În era procesoarelor multi-nucleu asta înseamnă o scădere drastică în timpii de build a pachetelor. La bază, vor fi utilizate toate procesoarele logice.

Gestionare mai bună la îndepărtarea mediilor montate

Ecrane de panică la îndepărtarea “la cald” a dispozitivelor cu sisteme de fişiere montate de pe ele (exemplul canonic este îndepărtarea memoriilor USB în timp ce sistemul de fişiere a fost montat) sunt cele mai comune probleme raportate de către utilizatorii finali. Dezvoltarea şi îmbunătăţirile, finanţate de către Fundaţia FreeBSD, au rezolvat această problemă.

Jails v2

Subsistemul de jail-uri a fost îmbunătăţit, extins şi actualizat pentru a suporta facilităţile moderne ale FreeBSD. Adiţional suportului pentru adrese IP multiple per jail (sau niciuna), a fost implementat suportul for IPv6 şi SCTP, jail-urile pot fi imbricate ierarhic şi pot fi restricţionate pentru utilizarea doar pe procesoarele definite.

Suport Xen dom-U

Suportul Xen a fost integrat în FreeBSD 8, permiţând folosirea de sisteme de operare oaspete pe 32 de biţi pe versiuni recente ale Xen dom0, dar nu ca şi gazdă.

Stivă nouă USB

Stiva USB a trecut printr-o revizie generală și noul cod rezolvă multe probleme mai vechi.

MPSAFE TTY

Stratul TTY este interfața tradițională Unix pentru utilizatorii sistemului, oferind sesiuni interactive pentru rularea de shell-uri, etc. Stratul curent TTY din FreeBSD este, pentru majoritatea, stratul tradițional BSD TTY, care a fost acum actualizat și abstractizat de drivere și alte straturi.

Creșterea limitei de memorie Kernel pe AMD64

Până acum era posibilă alocarea a maxim 2 GB forkmem_max, ceea ce devenea un aspect cam depășit. Această limită a fost recent actualizată la 512 GB.

Fire de execuție Kernel

Firele de execuție pentru Kernel erau până acum doar procese intesive rulând în spațiul de adrese a kernelului. O nouă modificare introduce fire de execuție kernel ușoare, mult mai puțin consumatoare de resurse la nivel jos (blocaje de procese, harți de memorie). Permite de asemenea gruparea mai bună a firelor pentru scopul afișării.

TextDumps

Ceea ce se întâmplă după o panică a kernelului, este aruncarea kernelului din memorie, fie completă sau un “minidump”. Noua facilitate “textdump” nu stochează această ‘aruncare’ a kernelului actual, în schimb extrage informaţia comună necesară din ea, o stochează într-o arhivă tar sau fişier text şi şterge fişierul de aruncat. Acest lucru reduce nevoia de spaţiu pentru colectarea acestor informaţii, măreşte viteza de dezvoltare şi permite utilizatorilor să colecteze informaţii pentru o depanare ulterioară fără a fi nevoie de experienţa unui dezvoltator de kernel.

Superpagini

Majoritatea procesoarelor recente oferă suport pentru pagini de memorie de mărime mare, denumite superpagini. Superpaginile permit fiecărei intrări din zona de memorie tampon în translaţie (TLB) să mapeze o regiune mare a memoriei fizice într-un spaţiu de adresă virtuală. Astfel se creşte dramatic zona de acţiune TLB, reduce rateurile TLB şi promite îmbunătăţiri de performanţă pentru multe aplicaţii.

DTrace

DTrace este o unealtă şi un limbaj de programare dezvoltat de Sun Microsystems pentru a depanarea şi profilarea sistemelor de operare. Poate agrega informaţie din diferite părţi ale kernelului, iar analizarea acestora se realizează într-un mod mai uşor interpretabil de către utilizator.

Virtualizarea stivei de reţea

Proiectul virtualizării stivei de reţea are ca scop extinderea kernelului FreeBSD pentru a susţine instanţe independente multiple de stare a reţelei. Astfel se permite independenţa completă pe reţea între jailurile de pe un sistem, incluzând parafocuri separate pentru fiecare jail, interfeţe virtuale, limitări de cote, tabele de rutare şi configurări IPSEC.

Tabele de rutare multiple

Suportul pentru tablele de rutare multiple permite acum topologii avansate de reţea.

Rutare ECMP

Rutarea ECMP permite gestionarea de rute multiple de către kernel, incluzând rute de bază. Poate oferi o creștere substanțială de viteză dat de balansul traficului de încărcare prin căi multiple.

Suport NFSv4

NFSv4 reprezintă o revizuire generală a protocolului NFS, introducând facilități noi precum protocol stateful, îmbunătățiri de performanță și securitate crescută.

Noul driver experimental pentru AHCI

A fost integrat un nou driver experimental care suportă nativ AHCI prin sistemul CAM (common access method for storage).

gvinum 2

gvinum este un manager de volume logice bazat pe și compatibil cu vinum, managerul tradițional de volume al FreeBSD. Printre facilitățile acestuia se numără moduri JBOD, RAID 0, RAID 1 și RAID 5 pentru combinarea dispozitivelor de stocare în volume mai mari, iar datorită integrării noii versiuni cu GEOM, poate folosi și poate fi folosit de alte dispozitive și clase GEOM.

GEOM_PART devine partiționatorul de bază

GEOM_PART (gpart) este o nouă clasă de partiție GEOM (slicer) și utilitar care introduce suport pentru multe formate de partiționare (MBR, BSD, GPT etc.) într-o singură bază de cod.

Suport de inițializare pentru partiții GPT

Acest suport include sectorul de inițializare și încărcare care permite sistemelor obișnuite i386 cu un BIOS generic să inițializeze dispozitive partiționate GPT.

Extensia bsdlabel

bsdlabel a fost extinsă să poată suporta mai mult de opt partiții. Noua limită de 26 de partiții provine de la cele 26 de litere mici ale alfabetului.

ProPolice SSP (protecția stack-smashing)

ProPolice ajută la prevenirea exploatarea vulnerabilităților bazate pe stive tip buffer overflow prin fixarea unui număr întreg ales aleator în stivă chiar înainte de adresa de revenire.

Preluare, traducere și adaptare conform Licenței Creative Commons Attribution 3.0 de pe freebsdnews.net

Comentarii

  1. Anonim spune:

    Toate bune și frumoase până când dau de gagici ….
    Cum să nu treacă lumea la Linux, când ia uite ce minunăție de femeie …. :))

  2. Anonim spune:

    Ai gasit un splash screen interesant pentru articol :)

    Sper sa ajung sa il instalez si eu in kvm

  3. osn.ro g.ciprian spune:

    O minunăţie de imagine pentru o minunăţie de SO :)
    Eu sunt curios de Xen

  4. Anonim spune:

    fain articol.
    Abia astept versiunea 8, in speciala partea de jail,
    si vreau sa vad daca imi recunoaste by default placa mea de retea
    de pe laptop.