Kaks aastat kestnud arendustööst ja nädal pärast projekti 25. aastapäeva on välja antud kuues beetaversioon operatsioonisüsteemist Haiku R1. Alguses loodi projekt vastusena BeOSi sulgemisele ja arendati nime all OpenBeOS, kuid see nimetati 2004. aastal ümber, kuna tekkisid kaubamärgi BeOS kasutamisega seotud nõuded. Uue väljaande toimimise hindamiseks on valmis saanud mitu Live-bootimist (x86_64, x86 1.4 GB). Suur osa Haiku operatsioonisüsteemi lähtekoodist levitatakse MIT vabatahtlik litsentsi alusel, välja arvatud mõned teegid, meedia-koodekid ja komponendid, mis on laenatud teistelt projektidelt.
Haiku operatsioonisüsteem on suunatud isiklikele arvutitele, kasutab oma tuum, mis põhineb modulaarse arhitektuuri põhimõttel, optimeeritud kõrge reageerimisvõime tagamiseks kasutaja tegevustele ja tõhusaks mitme lõimega rakenduste käitamiseks. Arendajatele on esitatud objektorienteeritud API. Süsteem põhineb otseselt BeOS 5 tehnoloogiatel ja on suunatud binaarse ühilduvuse tagamisele selle operatsioonisüsteemi rakendustega. Riistvaralised nõuded: CPU Pentium ja 384 MB RAM (soovitatav Pentium4 ja 512 MB RAM, samas kui versiooni b ülesehitamiseks — 2 GB RAM).
Failisüsteemina kasutatakse OpenBFSi, mis toetab failide laiendatud atribuute, ajakirjastamist, 64-bitiseid ponteerijaid, meta-siltide toetust (iga faili jaoks saab salvestada atribuute võtme=väärtus kujul, mistõttu on failisüsteem sarnane andmebaasiga) ja spetsiaalseid indekseid nende järgi päringute kiirendamiseks. Kaustastruktuuri korraldamiseks kasutatakse "B+ tree" puid. BeOSi koodist kuulub Haiku koosseisu failihaldur Tracker ja Deskbar paneel, mille algtekstid avati pärast BeOSi lahkumist.
Peamised uuendused:
- Täiendatud on tugi kaasaegsete Firefoxi väljaannete ja Mozilla tehnoloogiate põhjal loodud projektide, näiteks LibreWolf, Waterfox, Floorp ja Icedove (Thunderbird) jaoks, mida saab nüüd installida HaikuDepo kaudu.

- Portitud on hüpervisor NVMM (NetBSD Virtual Machine Monitor), mille abil saab nüüd QEMU-s käivitada virtuaalmasinaid, kasutades Intel VT-x ja AMD-V riistvaralist virtualiseerimist.

- Projekti HaikuPorts kaudu on tagatud erinevate programmide portide toimetamine, sealhulgas paljude KDE ja GNOME rakenduste tugi. Repositooriumisse on lisatud Go programmeerimiskeele kompilaatori ja runtime'i port. Portitud on NVIDIA graafikadraiverid RTX 2xxx ja uuematele videokaartidele.

- Tehti mitmeid jõudluse optimeerimisi, mis kokku vähendas HaikuWebKiti koostamisaega peaaegu poole võrra (4h53m-lt 2h33m-le). MIME-tüübi töötlemine on kiirenenud 5-10 korda. Häkkimise funktsioonide realiseerimised on kiirenenud. Süsteemi tuumas on parandatud VFS ja mälu haldamise blokeeringutega töötamise efektiivsust. Suurendatud on anonüümsed kanalite jõudlust. Katalooge ja inode'i elementide vahemälu efektiivsus on paranenud, mis on toonud kaasa operatsioonide olulisema kiirenemise, kui töötatakse suurte failihulkadega.
- Tehti mälu haldamise refaktoorimine. Parandatud on toimimist mälunälga tingimustes. packagefs struktuuride mälukulu on vähenenud 20%. Suurendatud on efektiivsust mäluaatribuutide ja mprotect-tsoonide töötluses. libc-s on lisatud uus malloc-funktsiooni realiseerimine, mis põhineb OpenBSD koodil. Parandatud on mmapi realiseerimist. Tehtud optimeerimised võimaldasid laadida Haiku graafilises režiimis 32-bitises süsteemis, millel on ainult 128 MB RAM-i.
- Failihalduris Tracker on Shift-klahvi vajutamisel avatud menüü elementide tegevuse muutmine (näiteks prügikasti asemel kuvatakse kustutamise nupp).
- Failide otsingu liidesesse on lisatud võimalus otsingut piirata teatud kataloogidega.

- SoftwareUpdateris on rakendatud automaatne vanade paketiseisundite eemaldamine, teatud aja möödudes pärast nende eemaldamist. Tööriistas pkgman on rakendatud soovituse kuvamine käsu 'pkgman cleanup' käivitamiseks, kui tuvastatakse suur hulk vanu paketiseisundeid.
- Sisseehitatud ekraanipildi loomise tööriista, mille käivitamiseks vajutatakse PrintScreen klahvi, on lisatud toetust ekraanil salvestatava ala valimiseks.
- Tööriistas Team monitor, mis käivitub Ctrl+Alt+Del vajutamisel, on tagatud mitte-GUI rakenduste grupeerimine, mis jooksutatakse graafilise kasutajaliidese kaudu.

- DriveSetup'i partitsioonihaldurisse on lisatud menüü 'Disk image' diskide piltide haldamiseks (piltide montaaž, kettaosade sisu kopeerimine piltidesse ja vastupidi).
- Näidik serveris ja aknahaldur app_serveris on rakendatud rakenduste uuendamise ja nende oleku taastamise tugi (pärast app_serveri kokkuvarisemist on kõik varasemalt käivitatud rakendused nüüd automaatselt uuesti ühendatud).
- PowerStatus'i aku seisundi indikaatorisse on lisatud tugi mitme akuga süsteemidele.
- Erinevates rakendustes on paranenud tumeda režiimi ja HiDPI toe tase.
- Launch_roster utiliidis on rakendatud kõigi teenuste ja tööde oleku kuvamise võimalus tabelivormingus.
- FAT failisüsteemis on lisatud 4KB sektorite ja üle 2TB suuruste ketaste tugi. BFS-is on optimeeritud vabade plokkide skaneerimine.
- Parandatud on 5 aasta jooksul välja antud riistvara tuge. Lahendatud on heliga seotud probleemid. Laiendatud on Etherneti ja Wi-Fi adapterite toe tase USB liidese kaudu, tuues draiverid FreeBSD ja OpenBSD-st.
- Tugi POSIX-ile on laienenud, sealhulgas on lisatud funktsioonid getresuid, setresuid, getresgid, setresgid, pipe3, dup2, mkostemp, reallocarray, memmem, qsort_r, posix_devctl, pthread_getcpuclockid ja posix_spawn_file_actions_add[f]chdir, samuti lipud O_CLOFORK, MSG_CMSG_CLOEXEC, MSG_CMSG_CLOFORK, SOCK_SEQPACKET, MSG_TRUNC, MSG_PEEK ja WCOREDUMP.
- Lisatud on GNU ja BSD süsteemidele spetsiifilised funktsioonid: getloadavg, closefrom ja closerange.
- API FUSE ühilduvust, mida kasutatakse squashfs ja exFAT failisüsteemides, on parendatud.
- ARM64 arhitektuuri portimise kallal on jätkuvalt tööd tehtud ja see käivitub nüüd edukalt. virtuaalses masinas. Katsetatakse Haiku käivitamist Apple M1 kiipidega süsteemidel.
Allikas: opennet.ru





