Efter halvandet år med udvikling er den femte betaudgave af operativsystemet Haiku R1 blevet offentliggjort. Projektet blev oprindeligt startet som en reaktion på lukningen af OS BeOS og udviklede sig under navnet OpenBeOS, men blev omdøbt i 2004 på grund af krav relateret til brugen af varemærket BeOS i titlen. For at vurdere det nye udgaves ydeevne er der forberedt flere bootable Live-images (x86, x86-64 1.4 GB). Kildekoden for størstedelen af OS Haiku distribueres under den åbne MIT-licens, undtagen nogle biblioteker, medie-codecs og komponenter lånt fra andre projekter.
OS Haiku er rettet mod personlige computere, bruger sin egen kerne bygget op omkring en modulær arkitektur, der er optimeret til høj responsivitet på brugerhandlinger og effektiv udførelse af multitrådede applikationer. Der er præsenteret et objektorienteret API til udviklere. Systemet baserer sig direkte på teknologier fra BeOS 5 og har til formål at være binært kompatibelt med applikationer til dette OS. Minimum hardwarekrav: CPU Pentium II eller AMD Athlon og 384 MB RAM (anbefalet Intel Core i3 eller AMD Phenom II og 2 GB RAM).
OpenBFS bruges som filsystem, som understøtter udvidede filattributter, journaling, 64-bit pegepinde, støtte til opbevaring af metadata (for hver fil kan attributter gemmes i form af nøgle=værdi, hvilket gør filsystemet ligesom en database) og specielle indekser til hurtigere forespørgsler. Til organisering af mappestrukturen anvendes „B+ tree“ træer. Filhåndtereren Tracker og statuslinjen Deskbar er inkluderet fra koden af BeOS, hvis kildekoder blev åbnet efter BeOS forlod scenen.
Hovednyhederne:
- I indstillingerne for udseendet er farvevalgsgrænsefladen blevet forenklet. I stedet for 30 standardparametre vises der nu tre (baggrundsfarve, statuslinjefarve og fanefarve), mens de øvrige beregnes automatisk i forhold til de valgte tre værdier. Ved automatisk farvevalg tages der hensyn til valget af mørkt eller lyst tema (for eksempel vælges lyse farver til teksten, når det mørke tema er aktivt). Der er en separat mulighed for at returnere visningen af det fulde sæt af alle parametre til manuel redigering.

- En betydelig portion rettelser er blevet indført, som sigter mod at forbedre understøttelsen af valgt mørkt tema.

- I ikonredaktøren Icon-O-Matic er der tilføjet støtte til perspektivomdannelse og visning af et referencebillede som baggrund (til at gentage konturerne i ikonet). Funktionerne til kopiering og indsætning er blevet betydeligt forbedret.

- Ved den første opstart, hvis der er opdaget batterier i systemet, sikres automatisk installation i PowerStatus-appletpanelet, som viser opladningsstatus og batteriparametre. Nøjagtigheden af oplysningerne om opladningsniveauet er forbedret. For at informere brugeren om lavt opladningsniveau er der tilføjet en lydsignal og en meddelelse.

- I filhåndteringen Tracker er arbejdet med kataloger og diskpartitioner, der kun er tilgængelige i skrivebeskyttet tilstand, blevet forbedret. Disse vises nu tydeligt med en mørkere baggrund (denne baggrund blev tidligere brugt til virtuelle kataloger). For skrivebeskyttede FS-elementer er menupunkter, der kræver skriveadgang, også deaktiveret.

- Udviklingen af porte til tredjepartsapplikationer er fortsat. Siden den seneste udgivelse er nye KDE-programmer blevet porteret, antallet af understøttede GTK-programmer er blevet udvidet, en port med debuggeren GDB 15 er blevet tilføjet (tidligere blev GDB 6 leveret), og en eksperimentel port af .NET Core 9-platformen er blevet realiseret.

- Ydeevnen af lagertjenesten for kompatibilitet med X11/Xlib er blevet forbedret. Det er nu muligt at bruge grafisk værktøjspakke FLTK (det bemærkes, at funktioner relateret til OpenGL ikke understøttes).

- Der er tilføjet support til lyd-enheder med USB-interface (automatisk lydskift ved tilslutning af USB-enhed fungerer endnu ikke, så et genstart af de systemmæssige multimedietjenester kræves for skift).
- Der er tilføjet en driver til netværksinterfaces TUN/TAP, som kan bruges til at oprette netværkstunneler og organisere arbejde. VPN.
- I TCP-stakken er der foretaget optimeringer, som har øget båndbredden mærkbart (ydelsen af TCP-forbindelser er steget med 8-10 gange, og båndbredden på loopback-interfacet (localhost) er steget med flere størrelsesordener). Tællerne til indsamling af statistik er blevet forbedret. Antallet af bufferkopieringsoperationer er blevet reduceret. Muligheden for at flytte beregninger af pakkesum-kontrol til netværkskortene er blevet tilføjet.
- Kapaciteten i terminalemulatoren er blevet udvidet, hvor der er tilføjet understøttelse af eksterne indsættelser fra udklipsholderen i tilfælde af brug i bærbar tekst med linjeskift og specielle tegn. Indstillingerne er blevet udvidet med muligheden for at ændre farveskemaet.
- Refaktoriseringen af TTY/PTY-laget er gennemført, koden for TTY og PTY er blevet ensartet, og der er tilføjet støtte til TTY-udvidelser som TIOCOUTQ.
- Ydelsen i kernen og driverne er optimeret, der er tilføjet mulighed for batchbehandling af input/output-operationer, brugen af låse ved programstart er optimeret, effektiviteten af filmapping i hukommelsen er forbedret, konkurrencen mellem låse ved side-mapping er reduceret, ydeevnen ved tildeling af midlertidige buffere er forbedret, og der er tilføjet optimeringer til input/output-systemet. I ELF-filens loader er der tilføjet støtte til DT_GNU_HASH.
- Arkitekturen af user_mutex-lockmekanismen, der minder om futex-systemet i Linux og bruges til at implementere pthread_mutex og pthread_rwlock, er blevet redesignet. Den nye arkitektur har løst tidligere problemer med race-tilstande og øget ydeevnen (for eksempel er kompileringstiden steget med 25%).
- Driveren til FAT-filsystemet er blevet udskiftet med en ny version, der er porteret fra FreeBSD. Udskiftningen af driveren har løst kompatibilitetsproblemer med andre implementeringer af FAT.
- En driver til UFS2 (Unix File System 2), der anvendes i FreeBSD, er blevet tilføjet. Driveren fungerer kun i læsetilstand indtil videre.
- En del af API'en til input/output-multiplexing kqueue er blevet implementeret.
- Mulighederne for tracing og profiling af processer er blevet udvidet ved hjælp af værktøjer som strace og profile.
- Kompatibiliteten med POSIX-specifikationerne er blevet forbedret. Funktioner som getentropy, arc4random, pthread_sigqueue, preadv og pwritev er blevet implementeret, og support til Unix-sockets (AF_UNIX) SOCK_DGRAM er blevet tilføjet.
- Der er udført betydeligt arbejde for at forbedre stabiliteten i hele systemet. Mange problemer, der førte til nedbrud og fejl i kernen og driverne, er blevet løst.
Kilde: opennet.ru







