Nakon dvije godine razvoja i tjedan dana nakon 25. obljetnice projekta, objavljeno je šesto beta izdanje operativnog sustava Haiku R1. Projekt je u početku stvoren kao odgovor na propast BeOS-a i razvijan pod nazivom OpenBeOS, ali je preimenovan 2004. godine zbog tvrdnji vezanih uz korištenje zaštitnog znaka BeOS u nazivu. Pripremljeno je nekoliko bootable Live slika (x86_64, x86 1.4 GB) za procjenu novog izdanja. Izvorni kod za većinu Haikua distribuira se pod besplatnom MIT licencom, s izuzetkom nekih biblioteka, medijskih kodeka i komponenti posuđenih iz drugih projekata.
Haiku OS je dizajniran za osobna računala i koristi prilagođenu jezgru izgrađenu na modularnoj arhitekturi, optimiziranu za visoku responzivnost i učinkovito izvršavanje višenitnih aplikacija. Objektno orijentirani API dostupan je programerima. Sustav je izravno baziran na BeOS 5 tehnologijama i teži binarnoj kompatibilnosti s BeOS 5 aplikacijama. Minimalni hardverski zahtjevi: Pentium CPU i 384 MB RAM-a (preporučuje se Pentium 4 i 512 MB RAM-a ili 2 GB RAM-a prilikom izgradnje BeOS 5).
Kao datotečni sustav koristi se OpenBFS koji podržava proširene atribute datoteka, vođenje dnevnika, 64-bitne pokazivače, podršku za pohranu meta oznaka (za svaku datoteku možete pohraniti atribute u obliku ključ=vrijednost, što čini datotečni sustav izgleda kao baza podataka) i posebni indeksi za ubrzavanje njihovog pretraživanja. B+ stabla se koriste za organiziranje strukture imenika. Od koda BeOS-a, Haiku uključuje upravitelj datoteka Tracker i Deskbar, koji su bili otvoreni nakon što je BeOS napustio scenu.
Glavne inovacije:
- Dodana je podrška za trenutna izdanja Firefoxa i projekata temeljenih na Mozilli kao što su LibreWolf, Waterfox, Floorp i Icedove (Thunderbird), koji se sada mogu instalirati putem HaikuDepot repozitorija.

- Hipervizor NVMM (NetBSD Virtual Machine Monitor) je portiran, omogućujući QEMU-u pokretanje virtualnih strojeva koristeći mehanizme virtualizacije hardvera Intel VT-x i AMD-V.

- Projekt HaikuPorts pruža podršku za portove raznih programa, uključujući mnoge KDE i GNOME aplikacije. U repozitorij je dodan kompajler i runtime port za programski jezik Go. NVIDIA grafički drajveri za RTX 2xxx i novije grafičke kartice su portirani.

- Implementirane su brojne optimizacije performansi, koje su zajedno smanjile vrijeme izrade HaikuWebKita za gotovo polovicu (s 4:53 na 2:33). Obrada MIME tipova ubrzana je 5-10 puta. Implementacije funkcija hashiranja su ubrzane. Poboljšano je rukovanje zaključavanjem jezgre u VFS-u i sustavu za upravljanje memorijom. Poboljšane su performanse neimenovanog cjevovoda. Poboljšano je predmemoriranje elemenata direktorija i inodea, što je rezultiralo znatno bržim operacijama pri radu s velikim brojem datoteka.
- Upravljanje memorijom je refaktorirano. Poboljšane su performanse u uvjetima malo memorije. Potrošnja memorije strukturama packagefs smanjena je za 20%. Poboljšane su performanse atributa memorije i mprotect područja. Nova implementacija malloc-a, temeljena na kodu iz OpenBSD-a, dodana je u libc. Implementacija mmap-a je poboljšana. Ove optimizacije omogućuju Haikuu pokretanje u grafičkom načinu rada na 32-bitnom sustavu sa samo 128 MB RAM-a.
- U upravitelju datoteka Tracker, pritiskom tipke Shift dok je izbornik otvoren sada se mijenja ponašanje nekih stavki izbornika (na primjer, umjesto premještanja u koš za smeće, prikazuje se gumb za brisanje).
- Sučelje za pretraživanje datoteka sada vam omogućuje ograničavanje pretraživanja na određene direktorije.

- SoftwareUpdater sada automatski uklanja stara stanja paketa nakon određenog vremenskog razdoblja. Uslužni program pkgman sada preporučuje pokretanje naredbe "pkgman cleanup" kada se otkrije veliki broj starih stanja paketa.
- Ugrađeni uslužni program za snimanje zaslona, koji se poziva tipkom PrintScreen, sada podržava odabir područja na zaslonu koje će se spremiti.
- Uslužni program Team monitor, koji se poziva pritiskom na Ctrl+Alt+Del, omogućuje grupiranje aplikacija koje nisu GUI, a pokreće ih program s grafičkim sučeljem.

- Upravitelj particija DriveSetup sada ima izbornik "Slika diska" za rad sa slikama diska (montiranje slika, kopiranje sadržaja particija diska na slike i obrnuto).
- Na zaslonu poslužitelja i upravitelj prozora app_server sada podržava ponovno povezivanje aplikacija i vraćanje njihovog stanja (nakon pada app_servera, sve prethodno pokrenute aplikacije sada se automatski ponovno povezuju).
- Indikator statusa baterije PowerStatus ažuriran je kako bi podržavao sustave s više baterija.
- Podrška za tamni način rada i HiDPI poboljšana je u raznim aplikacijama.
- Uslužni program launch_roster ima mogućnost prikaza statusa svih usluga i poslova u tabličnom obliku.
- FAT datotečni sustav sada podržava sektore od 4KB i diskove veće od 2TB. Skeniranje slobodnih blokova optimizirano je u BFS-u.
- Poboljšana podrška za hardver izdan u posljednjih 5 godina. Problemi s audio izlazom su riješeni. Podrška za USB Ethernet i Wi-Fi adaptere proširena je prenošenjem upravljačkih programa iz FreeBSD-a i OpenBSD-a.
- Proširena je POSIX kompatibilnost dodavanjem podrške za funkcije getresuid, setresuid, getresgid, setresgid, pipe3, dup2, mkostemp, reallocarray, memmem, qsort_r, posix_devctl, pthread_getcpuclockid i posix_spawn_file_actions_add[f]chdir, kao i zastavice O_CLOFORK, MSG_CMSG_CLOEXEC, MSG_CMSG_CLOFORK, SOCK_SEQPACKET, MSG_TRUNC, MSG_PEEK i WCOREDUMP.
- Dodana je podrška za funkcije specifične za GNU i BSD sustave: getloadavg, closefrom i closerange.
- Poboljšana kompatibilnost s FUSE API-jem koji se koristi u implementacijama datotečnih sustava squashfs i exFAT.
- Razvoj porta za ARM64 arhitekturu je nastavljen i sada se uspješno učitava u virtualni strojU tijeku su eksperimenti za pokretanje Haikua na sustavima s Apple M1 čipovima.
Izvor: opennet.ru





