Másfél éves fejlesztés után megjelent a Haiku R1 operációs rendszer ötödik béta kiadása. A projekt eredetileg a BeOS operációs rendszer bezárására adott válaszként indult, és OpenBeOS néven fejlődött, de 2004-ben átnevezték, mivel jogi kifogások merültek fel a BeOS márkanevének használatával kapcsolatban. Az új kiadás tesztelésére több Live image (x86, x86-64 1,4 GB) készült. A Haiku rendszer legtöbb forráskódját MIT szabad licenc alatt terjesztik, kivéve néhány könyvtárat, média kodeket és más projektektől kölcsönzött komponenseket.
A Haiku operációs rendszer a személyi számítógépekhez van optimalizálva, saját kernelt használ, amely moduláris architektúrára épül, és a felhasználói interakcióra való gyors válaszadásra és a több szálú alkalmazások hatékony futtatására van optimalizálva. A fejlesztők számára objektumorientált API áll rendelkezésre. A rendszer közvetlenül a BeOS 5 technológiáira épül, és a BeOS alkalmazásokkal való bináris kompatibilitásra törekszik. Minimális hardverigény: Pentium II vagy AMD Athlon CPU és 384 MB RAM (ajánlott Intel Core i3 vagy AMD Phenom II és 2 GB RAM).
Fájlrendszerként az OpenBFS változtatott fájlattribútumokat, naplózást, 64 bites pointereket, meta-tagek tárolásának támogatását (minden fájl esetében menthetők az attribútumok kulcs=érték formában, ami adatbázis-szerűvé teszi a fájlrendszert) és speciális indexeket a gyorsabb lekérdezésekhez. A könyvtárstruktúra szervezéséhez „B+ fa” fákat használnak. A Haiku részét képező fájlkezelő, a Tracker és a Deskbar, a BeOS kódjából származik, és a forráskódja nyilvánosságra került a BeOS eltűnése után.
Főbb újítások:
- A megjelenés beállításainál egyszerűsítették a színválasztási felületet. A korábbi 30 alapértelmezett paraméter helyett most három (panel háttér, státuszsor szín és fül szín) jelenik meg, a többi pedig automatikusan, a kiválasztott három érték szerint számítódik ki. Az automatikus színválasztás figyelembe veszi a sötét vagy világos téma kiválasztását (például sötét téma esetén világos színeket választanak a szöveghez). A teljes paraméterkészlet visszaállítására külön lehetőség áll rendelkezésre a manuális szerkesztéshez.

- Számos hiba javítása történt, amelyek a sötét téma kiválasztása során a támogatás javítására irányultak.

- Az Icon-O-Matic ikon szerkesztőbe támogatást adtak a perspektíva átalakításához és a referencia kép háttérként való megjelenítéséhez (az ikon körvonalainak megismétléséhez). Jelentősen javították a másolás és beillesztés funkcióit.

- Első indításkor, ha az akkumulátorok jelenléte meg van határozva a rendszerben, automatikusan telepítésre kerül a PowerStatus applet panelben, amely az akkumulátor töltöttségi állapotát és paramétereit mutatja. Növeltük a töltöttségi szintre vonatkozó információk pontosságát. A felhasználót az alacsony töltöttségi szintről hangeffektussal és értesítéssel tájékoztatjuk.

- A Tracker fájlkezelőben javítottuk a mappák és a csak olvasásra elérhető lemezosztók kezelését, amelyek most sötétebb háttérrel vannak kiemelve (ez a háttér korábban virtuális mappákhoz volt használva). A csak olvasásra elérhető fájlokhoz kapcsolódó menüpontokat pedig letiltottuk, amelyek írási hozzáférést igényelnek.

- Folyamatban van a harmadik féltől származó alkalmazások portjainak fejlesztése. A legutolsó kiadás óta új KDE programokat portoltunk, bővítettük a támogatott GTK programok számát, hozzáadtunk egy portot a 15-ös GDB hibakeresőhöz (korábban a 6-os GDB volt jelen), és végrehajtottunk egy kísérleti portot a .NET Core 9 platformhoz.

- Javítottunk az X11/Xlib kompatibilitás biztosítására szolgáló réteg működésén. Lehetővé vált a FLTK grafikus toolkit használata (a korlátozások között megjegyezzük, hogy az OpenGL-hez kapcsolódó funkciók nem támogatottak).

- Hozzáadtuk az USB interfészes hangkészülékek támogatását (az USB eszköz csatlakoztatásakor a hangkimenet automatikus váltása jelenleg nem működik, ezért a multimédiás szolgáltatások újraindítása szükséges a váltáshoz).
- Hozzáadtunk egy TUN/TAP interfészekhez készült drivert, amely hálózati alagutak létrehozására és működésének szervezésére használható. VPN.
- A TCP veremben optimalizálásokat hajtottunk végre, amelyek jelentősen megnövelték a sávszélt (a TCP kapcsolatok teljesítménye 8-10-szer növekedett, míg a loopback interfész (localhost) sávszélessége több nagyságrenddel nőtt). Javítottuk a statisztika felhalmozására vonatkozó számlálók kezelését. Csökkentettük a puffermásolási műveletek számát. Lehetővé tettük a kontrollösszeg-számítási műveletek átadását a hálózati kártyákra.
- Kibővítettük a terminálemulátor képességeit, amely mostantól támogatja a vágólapról származó szöveges beillesztést, ha a hordozható szövegben sortörések és speciális karakterek használatára van szükség. A beállításokba lehetőség került a színschema megváltoztatására.
- A TTY/PTY réteg refaktorálása megtörtént, egységesítve lett a TTY és PTY kódja, valamint támogatás került hozzáadásra a TTY kiterjesztésekhez, mint például a TIOCOUTQ.
- A kernel és illesztőprogramok teljesítményének optimalizálása megtörtént, hozzáadva a rendszerképességet a háttérben végzett I/O műveletekhez, optimalizálva lett a blokkolások használata programok indításakor, a fájlok memóriába való leképezése hatékonyabb lett, csökkentve ezzel a blokkolások közötti versenyt a memóriaoldalak leképezésekor, javítva a ideiglenes pufferek allokálásának teljesítményét, végül pedig az I/O rendszerben optimizáltak, valamint az ELF formátumú végrehajtható fájlok betöltőjéhez hozzáadva lett a DT_GNU_HASH támogatás.
- A user_mutex blokkolásmechanizmus architektúrája újra lett tervezve, amely képességei alapján közel áll a Linux futex rendszeréhez, és amelyet pthread_mutex és pthread_rwlock hívások megvalósítására használnak. Az új architektúra lehetővé tette a korábban felmerült versenyhelyzetek megoldását és a teljesítmény javítását (például a fordítási sebesség 25%-kal nőtt).
- A FAT fájlrendszerhez tartozó illesztőprogramot egy új verzióra cserélték, amely a FreeBSD-ből lett portolva. Az illesztőprogram cseréje lehetővé tette a kompatibilitási problémák megoldását más FAT megvalósításokkal.
- Hozzáadva egy UFS2 (Unix Fájl Rendszer 2) fájlrendszer illesztőprogram, amelyet a FreeBSD használ. Az illesztőprogram jelenleg csak olvasási módban működik.
- A kqueue bemeneti-kimeneti multiplexelési API egy részének megvalósítása megtörtént.
- A folyamatok nyomkövetési és profilozási lehetőségei bővítve lettek a strace és profile segédprogramok révén.
- Javítva lett a POSIX specifikációkkal való kompatibilitás. Megvalósításra kerültek a getentropy, arc4random, pthread_sigqueue, preadv és pwritev funkciók, valamint hozzáadva lett az Unix socketek (AF_UNIX) SOCK_DGRAM támogatása.
- Nagy munkát végeztek a rendszer általános stabilitásának javítása érdekében. Számos, a kernel és illesztőprogramok összeomlását és hibás működését okozó probléma megoldásra került.
Forrás: opennet.ru







