Na twee jaar ontwikkeling en een week na de 25ste verjaardag van het project is de zesde bètaversie van het Haiku R1-besturingssysteem uitgebracht. Het project werd oorspronkelijk gestart als reactie op de sluiting van het BeOS-besturingssysteem en heeft zich ontwikkeld onder de naam OpenBeOS, maar werd in 2004 hernoemd vanwege claims met betrekking tot het gebruik van de handelsnaam BeOS. Voor de evaluatie van de werking van de nieuwe release zijn verschillende opstartbare Live-images voorbereid (x86_64, x86 1.4 GB). De broncode van het grootste deel van het Haiku-besturingssysteem is beschikbaar onder de MIT-licentie, met uitzondering van enkele bibliotheken, media-codecs en componenten die afkomstig zijn van andere projecten.
Het Haiku-besturingssysteem is gericht op persoonlijke computers en gebruikt een eigen kernel, gebouwd op basis van een modulaire architectuur, geoptimaliseerd voor een hoge responsiviteit op gebruikersacties en efficiënte uitvoering van multi-threaded applicaties. Voor ontwikkelaars is er een objectgeoriënteerde API beschikbaar. Het systeem is direct gebaseerd op de technologieën van BeOS 5 en is gericht op binaire compatibiliteit met applicaties voor dit besturingssysteem. De minimale hardwarevereisten zijn een Pentium-CPU en 384 MB RAM (aangeraden is een Pentium 4 met 512 MB RAM, en bij het uitvoeren van een build b, 2 GB RAM).
Als bestandssysteem maakt het gebruik van OpenBFS, dat uitgebreide bestandsattributen ondersteunt, journaling, 64-bits pointers, ondersteuning voor het opslaan van meta-tags (voor elk bestand kunnen attributen in de vorm van sleutel=waarde worden opgeslagen, wat het bestandssysteem vergelijkbaar maakt met een database) en speciale indexen voor versnelde opvraging. Voor de organisatie van de directorystructuur worden ‘B+ tree’-bomen gebruikt. De bestandsbeheerder Tracker en de Deskbar zijn uit de code van BeOS in Haiku opgenomen, waarvan de broncode werd geopend na het vertrek van BeOS.
Belangrijkste vernieuwingen:
- Ondersteuning is toegevoegd voor de recente versies van Firefox en projecten gebaseerd op Mozilla-technologieën, zoals LibreWolf, Waterfox, Floorp en Icedove (Thunderbird), die nu via de HaikuDepot-repository kunnen worden geïnstalleerd.

- De NVMM-hypervisor (NetBSD Virtual Machine Monitor) is gepoort, waarmee QEMU nu virtuele machines kan draaien met behulp van de mechanismen voor hardwarevirtualisatie Intel VT-x en AMD-V.

- Het HaikuPorts-project biedt ondersteuning voor verschillende programmatuur, inclusief vele KDE- en GNOME-toepassingen. Er is een port van de compiler en runtime voor de programmeertaal Go toegevoegd aan de repository. De grafische stuurprogramma's van NVIDIA voor RTX 2xxx videokaarten en nieuwere zijn geport.

- Er zijn talrijke prestatie-optimalisaties doorgevoerd, die samen de bouwtijd van HaikuWebKit bijna hebben gehalveerd (van 4u53m naar 2u33m). De verwerking van MIME-types is 5-10 keer versneld. De implementaties van hashfuncties zijn verbeterd. In de kernel is de werking van locks in VFS en het geheugenbeheersysteem verbeterd. De prestaties van unnamed pipes zijn verhoogd. De effectiviteit van het cachen van directory-items en inodes is verbeterd, wat heeft geleid tot een aanzienlijke versnelling van operaties bij het werken met een groot aantal bestanden.
- Er is een herschikking van het geheugenbeheer doorgevoerd. De werking onder omstandigheden van geheugen tekort is verbeterd. Het geheugenverbruik van structuren in packagefs is met 20% verlaagd. De efficiëntie van het werken met geheugenattributen en mprotect-gebieden is verhoogd. In libc is een nieuwe implementatie van de malloc-functie toegevoegd, gebaseerd op code van OpenBSD. De implementatie van mmap is verbeterd. De doorgevoerde optimalisaties maken het mogelijk om Haiku in grafische modus te laden op een 32-bits systeem met slechts 128 MB RAM.
- In de bestandsbeheerder Tracker is het mogelijk om bij het indrukken van de Shift-toets, terwijl het menu open is, de actie van sommige menu-items te wijzigen (bijvoorbeeld in plaats van naar de prullenbak te verplaatsen, verschijnt er een knop voor verwijderen).
- In de interface voor het zoeken naar bestanden is de mogelijkheid toegevoegd om de zoekopdracht te beperken tot specifieke directories.

- In SoftwareUpdater is automatische verwijdering van oude pakketstatussen gerealiseerd, enige tijd na hun verwijdering. In de utility pkgman is een aanbeveling voor het uitvoeren van het commando 'pkgman cleanup' toegevoegd bij het detecteren van een groot aantal oude pakketstatussen.
- In de ingebouwde utility voor het maken van screenshots, aangeroepen met de PrintScreen-toets, is ondersteuning toegevoegd voor het selecteren van het op te slaan gebied op het scherm.
- In de Team monitor utility, opgeroepen met Ctrl+Alt+Del, is groepering van niet-GUI toepassingen, uitgevoerd door een programma met een grafische interface, mogelijk gemaakt.

- In de schijfbeheerder DriveSetup is een menu 'Disk image' toegevoegd voor het werken met schijfimages (het monteren van images, het kopiëren van de inhoud van schijfpartities naar images en vice versa).
- In de scherm- de server en vensterbeheerder app_server is ondersteuning voor het opnieuw verbinden van toepassingen en het herstellen van hun staat geïmplementeerd (na een ongeplande beëindiging van app_server worden nu alle eerder opgestarte toepassingen automatisch opnieuw verbonden).
- In de batterijstatusindicator PowerStatus is ondersteuning voor systemen met meerdere batterijen toegevoegd.
- In verschillende toepassingen is de ondersteuning voor de donkere modus en HiDPI verbeterd.
- In de launch_roster utility is de mogelijkheid geïmplementeerd om de status van alle services en werkzaamheden in tabelformaat weer te geven.
- Ondersteuning voor 4KB-sectoren en schijven groter dan 2TB is toegevoegd in het FAT-bestandssysteem. In BFS is het scannen van vrije blokken geoptimaliseerd.
- De ondersteuning voor hardware die in de afgelopen 5 jaar is uitgebracht is verbeterd. Geluidsuitvoeringsproblemen zijn opgelost. De ondersteuning voor Ethernet- en Wi-Fi-adapters met USB-interface is uitgebreid door het verplaatsen van stuurprogramma's uit FreeBSD en OpenBSD.
- Compatibiliteit met POSIX is uitgebreid, met ondersteuning voor de functies getresuid, setresuid, getresgid, setresgid, pipe3, dup2, mkostemp, reallocarray, memmem, qsort_r, posix_devctl, pthread_getcpuclockid en posix_spawn_file_actions_add[f]chdir, evenals de vlaggen O_CLOFORK, MSG_CMSG_CLOEXEC, MSG_CMSG_CLOFORK, SOCK_SEQPACKET, MSG_TRUNC, MSG_PEEK en WCOREDUMP.
- Ondersteuning voor functies die specifiek zijn voor GNU- en BSD-systemen is toegevoegd: getloadavg, closefrom en closerange.
- De compatibiliteit met de FUSE API, die wordt gebruikt in de implementaties van de squashfs en exFAT bestandssystemen, is verbeterd.
- De ontwikkeling van de poort voor de ARM64-architectuur is voortgezet, die nu succesvol wordt opgestart in een virtuele machine. Experimenten worden uitgevoerd met het uitvoeren van Haiku op systemen met Apple M1-chips.
Bron: opennet.ru





