După un an și jumătate de dezvoltare, a fost lansată a cincea versiune beta a sistemului de operare Haiku R1. Inițial, proiectul a fost creat ca o reacție la închiderea sistemului de operare BeOS și s-a dezvoltat sub numele OpenBeOS, dar a fost redenumit în 2004 din cauza unor pretenții legate de utilizarea mărcii comerciale BeOS în denumire. Pentru evaluarea funcționării noului release, au fost pregătite mai multe imagini Live-bootabile (x86, x86-64 1.4 GB). Codul sursă pentru cea mai mare parte a sistemului de operare Haiku este distribuit sub licența liberă MIT, cu excepția unor biblioteci, codec-uri media și componente împrumutate din alte proiecte.
Sistemul de operare Haiku este destinat PC-urilor personale, folosind un nucleu propriu, construit pe baza unei arhitecturi modulare, optimizată pentru un răspuns rapid la acțiunile utilizatorului și pentru executarea eficientă a aplicațiilor multi-thread. Pentru dezvoltatori, este disponibil un API orientat pe obiecte. Sistemul se bazează direct pe tehnologiile BeOS 5 și vizează compatibilitatea binară cu aplicațiile pentru acest sistem de operare. Cerințele minime de hardware sunt: CPU Pentium II sau AMD Athlon și 384 MB RAM (recomandat Intel Core i3 sau AMD Phenom II și 2 GB RAM).
Sistemul de fișiere folosește OpenBFS, care suportă atribute extinse ale fișierelor, jurnalizare, indicatoare pe 64 de biți, suport pentru stocarea meta-tag-urilor (pentru fiecare fișier pot fi salvate atribute sub formă de cheie=valoare, ceea ce face ca FS să semene cu o bază de date) și indecși speciali pentru accelerarea interogărilor pe acestea. Structura directorului este organizată folosind arbori de tip „B+ tree”. Din codul BeOS a fost inclus managerul de fișiere Tracker și bara de instrumente Deskbar, a căror sursă a fost deschisă după ce BeOS a ieșit de pe scenă.
Noutăți principale:
- În setările de aspect, interfața de selecție a culorilor a fost simplificată. În loc de 30 de parametri din default, acum sunt afișate trei (culoarea fundalului pentru panou, culoarea barei de stare și culoarea tab-urilor), iar ceilalți sunt calculați automat în funcție de cele trei valori selectate. Când se selectează automat o culoare, se ține cont de alegerea unui tema întunecată sau deschisă (de exemplu, în cazul în care tema întunecată este activă, se aleg culori deschise pentru text). Pentru a reveni la afișarea complete a setului de parametrii pentru editare manuală, este prevăzută o opțiune separată.

- Au fost realizate o serie mare de corecturi, vizând îmbunătățirea suportului pentru utilizarea temelor întunecate.

- În editorul de pictograme Icon-O-Matic a fost adăugată suportul pentru transformarea perspectivei și pentru afișarea unei imagini de referință ca fundal (pentru a repeta contururile în pictogramă). Funcțiile de copiere și lipire au fost semnificativ îmbunătățite.

- La prima inițiere, dacă există baterii detectate în sistem, instalarea automată a panelului aplicației PowerStatus este asigurată, arătând starea de încărcare și parametrii bateriei. Precizia informațiilor despre nivelul de încărcare a fost îmbunătățită. Pentru a informa utilizatorul despre un nivel scăzut de încărcare, au fost adăugate un semnal sonor și o notificare.

- În managerul de fișiere Tracker, a fost îmbunătățită interacțiunea cu directoarele și partițiile de disc disponibile în modul doar pentru citire, care acum sunt evidențiate printr-un fundal mai închis (acest fundal era anterior utilizat pentru directoarele virtuale). Pentru elementele FS disponibile doar pentru citire, sunt, de asemenea, dezactivate elementele de meniu ce necesită acces pentru scriere.

- Continuarea dezvoltării porturilor pentru aplicațiile terțe. De la ultima lansare, au fost portate noi aplicații KDE, a fost extins numărul aplicațiilor GTK suportate, a fost adăugat un port cu debuggerul GDB 15 (anterior era furnizat GDB 6) și a fost implementat un port experimental pentru platforma .NET Core 9.

- A fost îmbunătățită funcționarea straturilor de compatibilitate cu X11/Xlib. A fost oferită posibilitatea utilizării toolkit-ului grafic FLTK (între limitări se remarcă lipsa suportului pentru funcțiile legate de OpenGL).

- A fost adăugat suport pentru dispozitive audio cu interfață USB (schimbarea automată a ieșirii audio la conectarea unui dispozitiv USB nu funcționează momentan, astfel că pentru comutare este necesară repornirea serviciilor multimedia ale sistemului).
- A fost adăugat un driver pentru interfețele de rețea TUN/TAP, care poate fi folosit pentru a crea tuneluri de rețea și a organiza funcționarea. VPN.
- În stiva TCP au fost realizate optimizări, care au crescut semnificativ capacitatea de transfer (performanța conexiunilor TCP a crescut de 8-10 ori, iar capacitatea de transfer a interfeței loopback (localhost) a crescut cu câteva ordine). A fost îmbunătățită gestionarea contorilor pentru acumularea de statistici. A fost redus numărul operațiunilor de copiere a bufferelor. A fost adăugată posibilitatea de a muta operațiile de calcul al sumelor de verificare ale pachetelor pe partea plăcilor de rețea.
- Funcționalitățile emulatorului de terminal au fost extinse, fiind adăugat suportul pentru inserții cu caractere de escape din clipboard pentru utilizarea în textul portabil cu întreruperi de linie și caractere speciale. În setări a fost adăugată opțiunea de a schimba schema de culori.
- A fost realizat un refactoring al stratului TTY/PTTY, codul TTY și PTY a fost unificat, adăugată suport pentru extensiile TTY, cum ar fi TIOCOUTQ.
- A fost realizată o optimizare a performanței nucleului și driverelor, a fost adăugată posibilitatea de a efectua operațiuni I/O în mod lot, s-a optimizat utilizarea blocărilor la lansarea programelor, a fost crescută eficiența mapării fișierelor în memorie, s-a redus competiția între blocări în timpul mapării paginilor de memorie, s-a crescut performanța alocării bufferelor temporare, au fost adăugate optimizări în sistemul I/O, iar încărcătorul pentru fișierele executabile în format ELF a primit suport pentru DT_GNU_HASH.
- Arhitectura mecanismului de blocare user_mutex a fost reexaminată, fiind similară cu sistemul futex din Linux și utilizată pentru implementarea apelurilor pthread_mutex și pthread_rwlock. Noua arhitectură a permis soluționarea problemelor anterioare legate de starea de competiție și a crescut performanța (de exemplu, viteza de compilare a crescut cu 25%).
- Driverul pentru sistemul de fișiere FAT a fost înlocuit cu o nouă variantă, portată din FreeBSD. Înlocuirea driverului a rezolvat problemele de compatibilitate cu alte implementări FAT.
- A fost adăugat un driver pentru sistemul de fișiere UFS2 (Unix File System 2), utilizat în FreeBSD. Driverul funcționează în prezent doar în modul de citire.
- A fost implementată o parte din API-ul de multiplexare a intrării-ieșirii kqueue.
- Capabilitățile de trasare și profilare a proceselor au fost extinse prin intermediul utilitarilor strace și profile.
- A fost îmbunătățită compatibilitatea cu specificațiile POSIX. Au fost implementate funcțiile getentropy, arc4random, pthread_sigqueue, preadv și pwritev, precum și suportul pentru socketuri Unix (AF_UNIX) SOCK_DGRAM.
- A fost realizat un lucru considerabil pentru creșterea stabilității întregului sistem. Au fost corectate multe probleme care duceau la terminări necontrolate și erori în funcționarea nucleului și driverelor.
Sursa: opennet.ro







