Efter halvandet års udvikling er udgivelsen af operativsystemet Redox 0.7 offentliggjort, udviklet ved hjælp af programmeringssproget Rust og mikrokerne-konceptet. Projektets arbejder distribueres under den frie MIT-licens. For at teste Redox OS er installations- og Live-billeder tilgængelige med en størrelse på 75 MB. Bygningerne er lavet til x86_64-arkitekturen og er tilgængelige for systemer med UEFI og BIOS.
Ved forberedelsen af den nye udgivelse var hovedfokus på at sikre funktionalitet på det faktiske udstyr. De vigtigste nyheder:
- Bootloaderen er fuldstændig omskrevet, hvor koden til opstart på BIOS- og UEFI-systemer er ensrettet og hovedsageligt skrevet i Rust. Ændringen af bootloaderen har betydeligt udvidet understøttelsen af hardware.
- I kernen, ud over fejlrettelser, er der arbejdet på at forbedre ydeevnen og udvide hardware-understøttelsen. CPU-specifikke variabler er overført til brugen af GS-registeret. Der er implementeret afspejling (mapping) af al fysisk hukommelse, og brugen af rekursive hukommelsessider er stoppet. Assembler-koden i inline-indsatser er omskrevet for at forbedre kompatibiliteten med fremtidige versioner af compileren.
- Indledende understøttelse af AArch64-arkitekturen er tilføjet.
- Overgangen til behandling af alle filstier i UTF-8-kodning er gennemført.
- Koden til arbejdet med ACPI AML (ACPI Machine Language) Specification — uefi.org, er flyttet fra kernen til baggrundsprocessen acpid, som kører i brugerrummet.
- Indholdet af Initfs er flyttet til en ny fil, hvilket har gjort pakkeoprettelse lettere.
- Filsystemet RedoxFS er omskrevet og overgået til brugen af CoW (Copy-on-Write) mekanismen, hvor ændringer ikke overskriver information, men gemmes på et nyt sted, hvilket har givet en betydelig forbedring af pålideligheden. Blandt de nye funktioner i RedoxFS bemærkes understøttelse af transaktionelle opdateringer, datakryptering ved hjælp af AES-algoritmen samt signering af data og metadata med digitale signaturer. Der er sikret deling af kode i FS i systemet og bootloaderen.
- Forbedringen af Relibc, den standard C-bibliotek, der udvikles i projektet, er fortsat. Det kan nu ikke kun arbejde i Redox, men også i distributioner baseret på Linux-kernen. De ændringer, der er foretaget, har gjort det nemmere at overføre forskellige programmer til Redox og har løst problemer med mange programmer og biblioteker, der er skrevet i C.
- En version af compilatoren rustc, der kan køres i Redox, er blevet forberedt. De øvrige opgaver inkluderer optimering af ydeevnen og tilpasning af pakkeadministratoreren cargo til at fungere i Redox-miljøet.

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.
Systemet anvender princippet 'alt er en URL'. For eksempel kan en URL som 'log://' bruges til logning, 'bus://' til procesinteraktion, 'tcp://' til netværkskommunikation osv. Moduler, der kan implementeres som drivere, kernetilføjelser og brugerapplikationer, kan registrere deres URL-handlere. For eksempel kan man skrive et modul til input/output-porte og knytte det til URL'en 'port_io://', hvorefter det kan bruges til at få adgang til port 60 ved at åbne URL'en 'port_io://60'.
Brugermiljøet i Redox er bygget på en egen grafisk shell, Orbital (ikke at forveksle med en anden Orbital-shell, der bruger Qt og Wayland) og toolkit OrbTk, som tilbyder et API, der ligner Flutter, React og Redux. Netsurf anvendes som webbrowser. Projektet udvikler også sin egen pakkeadministrator, et sæt standardværktøjer (binutils, coreutils, netutils, extrautils), kommandoskallen ion, standard C-biblioteket relibc, en vim-lignende teksteditor kaldet sodium, netværksstakken og filsystemet. Konfigurationen defineres med Toml-sprog.
Kilde: opennet.ru
