Efter næsten to års udvikling er version 0.9 af operativsystemet Redox blevet offentliggjort. Det er udviklet ved hjælp af Rust-sprog og mikrokernel-konceptet. Projektet distribueres under MIT-licensen. Til testning af Redox OS tilbydes bootbare live-miljøer til egentligt udstyr samt systembilleder til virtuelle maskiner (512 MB og 1,5 GB), forberedt til x86_64- og i686-arkitekturer.
Demonstrationsbilledet inkluderer DOSBox-emulatoren, en samling af spil (DOOM, Neverball, Neverputt, sopwith, syobonaction), læringsprogrammer, musikafspilleren rodioplay med understøttelse af formaterne FLAC og WAV, webbrowseren Netsurf, billedfremviser, konsolteksteditoren Sodium, filhåndtereren, terminalemulatoren og teksteditoren fra COSMIC-projektet. Brugergrænsefladen er bygget på en egen grafisk shell Orbital og toolkit OrbTk, der giver et API, der ligner Flutter, React og Redux. Der er understøttelse af GUI-bibliotekerne Slint, Iced og winit.

Operativsystemet udvikler sig i overensstemmelse med Unix-filosofien og låner nogle idéer fra SeL4, Minix og Plan 9. Redox bruger mikrokernel-konceptet, hvor kun processkommunikation og ressourceadministration håndteres på kernniveau. Alt andet funktionalitet er flyttet til biblioteker, som både kan anvendes af kernen og brugerapplikationer. Alle drivere kører i brugerrum i isolerede sandbox-miljøer. For at sikre kompatibilitet med eksisterende applikationer er der en special POSIX-implementation, som gør det muligt at køre mange programmer uden portering.
Projektet udvikler en egen pakkehåndterer, et sæt standardværktøjer (binutils, coreutils, netutils, extrautils), kommandoskalen ion, standard C-biblioteket relibc, en vim-lignende teksteditor sodium, netværksstakken og filsystemet. Konfigurationen defineres ved hjælp af Toml-sproget.
Blandt det understøttede hardware nævnes input-enheder med USB-interface (tastaturer, mus, touchpads), grafikudgang via VESA BIOS eller UEFI GOP (GPU-drivere understøttes ikke), lydchips AC'97 og Intel HD Audio, SATA (AHCI, IDE) og NVMe. Understøttelse af Wi-Fi og USB-lagringsenheder er endnu ikke klar. Arbejdet med grafiske miljøer er testet på Lenovo IdeaPad Y510P, System76 Galago Pro og System76 Lemur Pro. Med visse begrænsninger understøttes bærbare computere som Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 og ASUS Eee PC 900. Blandt ARM-systemerne understøttes Raspberry Pi 3 Model B+.
Vigtige ændringer:
- Mulighederne for proces-, tråd-, hukommelses- og signalmiljøer er betydeligt udvidet, hvilket har forbedret mange applikationers ydeevne. For eksempel har systemet nået et niveau, der muliggør kompilering af enkle programmer med GCC- og Rust-kompilatorer, men understøttelse af selvkompilering er endnu ikke opnået.
- Fra brugergrænsefladen COSMIC er filhåndtereren, teksteditoren og terminalemulatoren blevet overført til Redox, og de fungerer nu i grafisk tilstand.
- Forbedret kompatibilitet med programmer fra Linux- og BSD-systemer. Det samlede antal porte for applikationer er nu omkring 1700. Blandt de mest betydningsfulde resultater er porteringen af HTTP-serveren Apache, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5, samt teksteditorerne GNU Nano og Helix.
- Der er foretaget forskellige performanceoptimeringer, og mange problemer, der påvirker stabiliteten, er blevet løst. Ydelsen af filsystemet RedoxFS, hukommelsesstyringen, systemopkald og kontekstskift er blevet forbedret betydeligt. Arbejdet er blevet meget hurtigere i virtuelle maskiner.
- I displayen server Orbital har fået support til GUI-bibliotekerne Slint, Iced og winit. Gennem winit er der tilføjet mulighed for at dekorere vinduer på klientsiden, oprette skjulte vinduer og maksimere vinduer til fuld skærm. Muligheden for at afspille musik og video fra GUI-programmer ved at dobbeltklikke er blevet introduceret. Desktopmiljøet Orbital er blevet forbedret.

- I stedet for adressering gennem URL'er (f.eks. kunne "log://" bruges til logning, mens "tcp://" kunne bruges til netværksinteraktion) er den traditionelle Unix-filvejsformat blevet taget i brug, hvilket har haft en positiv indvirkning på kompatibiliteten med POSIX/Linux-programmer og -biblioteker.
- Implementeringen af den standard C-bibliotek Relibc er blevet forbedret, som nu, udover libm, er fuldkommen skrevet i Rust. Understøttelsen af POSIX-funktioner er blevet udvidet. Der er fremsat initiativer for at give en stabil ABI til brugerrummet. Alle systemkomponenter er blevet overført fra redox_syscall til libredox.
- Starterens funktionalitet til UEFI er blevet forbedret.
- Understøttelsen af ARM64-arkitektur (Aarch64) er blevet betydeligt forbedret, og delvis kompatibilitet med Raspberry Pi 3B+ er sikret.
- Mulighederne for Contain-driveren til isoleret udførelse af applikationer er blevet udvidet. En demonstration af brugen af Contain-driveren (desktop-contain.toml) er blevet tilføjet.
- Driverne til PCI og PCIe er blevet forbedret. VirtIO-drivere er blevet tilføjet.
- Møjsommelige funktioner i byggesystemet er blevet udvidet.

Kilde: opennet.ru

