Po dvou letech vývoje a týden po 25. výročí projektu byla vydána šestá beta verze operačního systému Haiku R1. Projekt byl původně vytvořen jako reakce na zánik systému BeOS a vyvíjen pod názvem OpenBeOS, ale v roce 2004 byl přejmenován kvůli tvrzením týkajícím se použití ochranné známky BeOS v názvu. Pro otestování nové verze bylo připraveno několik bootovacích Live obrazů (x86_64, x86 1.4 GB). Zdrojový kód většiny Haiku je distribuován pod bezplatnou licencí MIT, s výjimkou některých knihoven, mediálních kodeků a komponent vypůjčených z jiných projektů.
Haiku OS je navržen pro osobní počítače a používá vlastní jádro postavené na modulární architektuře, optimalizované pro vysokou odezvu a efektivní spouštění vícevláknových aplikací. Pro vývojáře je k dispozici objektově orientované API. Systém je přímo založen na technologiích BeOS 5 a usiluje o binární kompatibilitu s aplikacemi BeOS 5. Minimální hardwarové požadavky: procesor Pentium a 384 MB RAM (doporučeno Pentium 4 a 512 MB RAM, nebo 2 GB RAM při sestavování BeOS 5).
OpenBFS se používá jako souborový systém, který podporuje rozšířené atributy souborů, protokolování, 64bitové ukazatele, podporu ukládání meta tagů (pro každý soubor mohou být atributy uloženy ve tvaru klíč=hodnota, díky čemuž je systém souborů podobný databáze) a speciální indexy pro urychlení jejich vyhledávání. „Stromy B+“ se používají k uspořádání adresářové struktury. Z kódu BeOS obsahuje Haiku správce souborů Tracker a Deskbar, které byly oba open-source poté, co BeOS opustil scénu.
Hlavní inovace:
- Byla přidána podpora pro aktuální verze Firefoxu a projektů založených na Mozille, jako jsou LibreWolf, Waterfox, Floorp a Icedove (Thunderbird), které lze nyní nainstalovat prostřednictvím repozitáře HaikuDepot.

- Hypervizor NVMM (NetBSD Virtual Machine Monitor) byl portován, což umožňuje QEMU spouštět virtuální stroje pomocí mechanismů virtualizace hardwaru Intel VT-x a AMD-V.

- Projekt HaikuPorts poskytuje podporu pro porty různých programů, včetně mnoha aplikací pro KDE a GNOME. Do repozitáře byl přidán kompilátor a běhový port pro programovací jazyk Go. Byly portovány grafické ovladače NVIDIA pro grafické karty RTX 2xxx a novější.

- Byla implementována řada optimalizací výkonu, které dohromady zkrátily dobu sestavení HaikuWebKitu téměř o polovinu (z 4:53 na 2:33). Zpracování MIME typů bylo zrychleno 5–10krát. Implementace hašovacích funkcí byla zrychlena. Bylo vylepšeno zpracování zámků jádra v systému VFS a správy paměti. Byl vylepšen výkon nepojmenovaného kanálu. Bylo vylepšeno ukládání elementů adresáře a inodů do mezipaměti, což má za následek výrazně rychlejší operace při práci s velkým počtem souborů.
- Správa paměti byla refaktorována. Byl vylepšen výkon při nízkém využití paměti. Spotřeba paměti strukturami packagefs byla snížena o 20 %. Byl vylepšen výkon atributů paměti a oblastí mprotect. Do knihovny libc byla přidána nová implementace malloc, založená na kódu z OpenBSD. Byla vylepšena implementace mmap. Tyto optimalizace umožňují spuštění Haiku v grafickém režimu na 32bitovém systému s pouhými 128 MB RAM.
- Ve správci souborů Tracker se nyní po stisknutí klávesy Shift, když je otevřená nabídka, změní chování některých položek nabídky (například místo přesunutí do koše se zobrazí tlačítko pro odstranění).
- Rozhraní pro vyhledávání souborů nyní umožňuje omezit vyhledávání na konkrétní adresáře.

- SoftwareUpdater nyní automaticky odstraňuje staré stavy balíčků po zadané době. Nástroj pkgman nyní doporučuje spuštění příkazu „pkgman cleanup“, pokud je detekován velký počet starých stavů balíčků.
- Vestavěný nástroj pro snímání obrazovky, který se volá klávesou PrintScreen, nyní podporuje výběr oblasti obrazovky, která se má uložit.
- Nástroj Team monitor, který se spouští stisknutím kláves Ctrl+Alt+Del, umožňuje seskupování aplikací bez grafického rozhraní spuštěných programem s grafickým rozhraním.

- Správce oddílů DriveSetup nyní obsahuje nabídku „Obraz disku“ pro práci s obrazy disků (připojování obrazů, kopírování obsahu diskových oddílů do obrazů a naopak).
- Na displeji server a správce oken app_server nyní podporuje opětovné připojení aplikací a obnovení jejich stavu (po havárii app_server se nyní všechny dříve spuštěné aplikace automaticky znovu připojí).
- Indikátor stavu baterie PowerStatus byl aktualizován pro podporu systémů s více bateriemi.
- V různých aplikacích byla vylepšena podpora tmavého režimu a HiDPI.
- Nástroj launch_roster dokáže zobrazit stav všech služeb a úloh v tabulkovém formátu.
- Souborový systém FAT nyní podporuje sektory o velikosti 4 KB a disky větší než 2 TB. V systému BFS bylo optimalizováno skenování volných bloků.
- Vylepšená podpora hardwaru vydaného v posledních 5 letech. Problémy s audio výstupem byly vyřešeny. Podpora pro USB ethernetové a Wi-Fi adaptéry byla rozšířena portováním ovladačů z FreeBSD a OpenBSD.
- Rozšířená kompatibilita s POSIX přidáním podpory pro funkce getresuid, setresuid, getresgid, setresgid, pipe3, dup2, mkostemp, reallocarray, memmem, qsort_r, posix_devctl, pthread_getcpuclockid a posix_spawn_file_actions_add[f]chdir, a také pro příznaky O_CLOFORK, MSG_CMSG_CLOEXEC, MSG_CMSG_CLOFORK, SOCK_SEQPACKET, MSG_TRUNC, MSG_PEEK a WCOREDUMP.
- Přidána podpora funkcí specifických pro systémy GNU a BSD: getloadavg, closefrom a closerange.
- Vylepšená kompatibilita s rozhraním FUSE API používaným v implementacích souborových systémů squashfs a exFAT.
- Vývoj portu pro architekturu ARM64 pokračoval a nyní se úspěšně načítá v virtuální strojProbíhají experimenty se spouštěním Haiku na systémech s čipy Apple M1.
Zdroj: opennet.ru





