Na bijna twee jaar ontwikkeling is de versie 0.9 van het besturingssysteem Redox uitgebracht, ontwikkeld met de programmeertaal Rust en het microkernel-concept. De projectontwikkelingen worden verspreid onder de MIT-licentie. Voor het testen van Redox OS zijn er live omgevingen aangeboden voor echte hardware en systeembeelden voor virtuele machines (512 MB en 1,5 GB), voorbereid voor de architecturen x86_64 en i686.
De demonstratie-beeld bevat de DOSBox-emulator, een selectie van games (DOOM, Neverball, Neverputt, sopwith, syobonaction), educatieve programma's, de muziekspeler rodioplay met ondersteuning voor de formaten FLAC en WAV, de webbrowser Netsurf, een afbeeldingsviewer, de console teksteditor Sodium, een bestandsbeheerder, een terminalemulator en de teksteditor van het COSMIC-project. De gebruikersomgeving is gebouwd op de eigen grafische interface Orbital en de toolkit OrbTk, die een API biedt die lijkt op Flutter, React en Redux. Ondersteuning voor GUI-bibliotheken zoals Slint, Iced en winit is beschikbaar.

Het besturingssysteem ontwikkelt zich volgens de Unix-filosofie en leent enkele ideeën van SeL4, Minix en Plan 9. Redox gebruikt het microkernel-concept, waarbij op het niveau van de kernel alleen interactie tussen processen en resourcebeheer wordt verzorgd, terwijl alle andere functionaliteit wordt ondergebracht in bibliotheken die zowel door de kernel als door gebruikersapplicaties kunnen worden gebruikt. Alle stuurprogramma's worden uitgevoerd in de gebruikersruimte in geïsoleerde sandbox-omgevingen. Voor compatibiliteit met bestaande applicaties is er een speciale POSIX-laag die het mogelijk maakt om veel programma's zonder portering uit te voeren.
Het project ontwikkelt zijn eigen pakketbeheerder, een set standaardhulpprogramma's (binutils, coreutils, netutils, extrautils), de commandoregel interface ion, de standaard C-bibliotheek relibc, de vim-achtige teksteditor sodium, de netwerktech stack en het bestandssysteem. De configuratie wordt ingesteld in de Toml-taal.
Onder de ondersteunde apparatuur bevinden zich invoerapparaten met een USB-interface (toetsenborden, muizen, touchpads), grafische uitvoer via de API VESA BIOS of UEFI GOP (drivers voor GPU's worden niet ondersteund), geluidschips AC'97 en Intel HD Audio, SATA (AHCI, IDE) en NVMe. Ondersteuning voor Wi-Fi en opslagapparaten met een USB-interface is nog niet klaar. De werking met een grafische omgeving is getest op Lenovo IdeaPad Y510P, System76 Galago Pro en System76 Lemur Pro. Met enkele beperkingen is ondersteuning geboden voor de laptops Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 en ASUS Eee PC 900. Van de ARM-systemen wordt de Raspberry Pi 3 Model B+ ondersteund.
Belangrijkste wijzigingen:
- De mogelijkheden met betrekking tot het beheer van processen, threads, geheugen en signalen zijn aanzienlijk uitgebreid, wat heeft geleid tot verbeterde prestaties van veel toepassingen. De systeemstatus is nu zodanig dat het mogelijk is om eenvoudige programma's te compileren met de compilers GCC en Rust, hoewel ondersteuning voor zelfbouwen nog niet is bereikt.
- Uit de gebruikersomgeving COSMIC zijn de bestandsbeheerder, de teksteditor en de terminalemulator, die in grafische modus werken, naar Redox overgebracht.
- De draagbaarheid met programma's van Linux- en BSD-systemen is verbeterd. Het totale aantal applicatiepoorten bedraagt nu ongeveer 1700. Tot de belangrijkste prestaties behoort de portering van de HTTP-server Apache, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5, en de teksteditors GNU Nano en Helix.
- Diverse prestatieoptimalisaties zijn doorgevoerd en veel problemen zijn verholpen die de stabiliteit van het systeem beĆÆnvloedden. De prestaties van het bestandssysteem RedoxFS, het geheugensysteem, systeemaanroepen en contextwisselingen zijn verbeterd. De snelheid is aanzienlijk verhoogd in virtuele machines.
- In het display server Orbital heeft ondersteuning toegevoegd voor de GUI-bibliotheken Slint, Iced en winit. Via winit is in Orbital de mogelijkheid gerealiseerd om vensters aan de clientzijde te decoreren, verborgen vensters te maken en vensters over het volledige scherm weer te geven. Er is ook de mogelijkheid toegevoegd om muziek en video af te spelen vanuit GUI-programma's met een dubbele muisklik. De desktopomgeving Orbital is verbeterd.

- In plaats van adressering via URL (bijvoorbeeld voor logregistratie kon de URL 'log://' worden gebruikt en voor netwerken 'tcp://') is de traditionele bestandspadindeling van Unix-systemen gebruikt, wat een positieve invloed heeft gehad op de compatibiliteit met programma's en bibliotheken van POSIX/Linux.
- De implementatie van de standaard C-bibliotheek Relibc is verbeterd, die naast libm nu helemaal in Rust is geschreven. De ondersteuning voor POSIX-functies is uitgebreid. Er zijn initiatieven voorgesteld voor het bieden van een stabiele ABI voor de gebruikersruimte. Alle systeemcomponenten zijn overgezet van redox_syscall naar libredox.
- De werking van de bootloader voor UEFI is verbeterd.
- De ondersteuning voor de ARM64-architectuur (Aarch64) is aanzienlijk verbeterd en er is gedeeltelijke compatibiliteit met het Raspberry Pi 3B+-bord verzekerd.
- De mogelijkheden van de Contain-driver voor geĆÆsoleerde uitvoering van applicaties zijn uitgebreid. Er is een demonstratie toegevoegd voor het gebruik van de Contain-driver (desktop-contain.toml).
- De drivers voor PCI en PCIe zijn verbeterd. VirtIO-drivers zijn toegevoegd.
- De mogelijkheden van het buildsysteem zijn uitgebreid.

Bron: opennet.ru

