Na anderhalf jaar ontwikkeling is de release van het Redox 0.7 besturingssysteem gepubliceerd, ontwikkeld met behulp van de Rust-taal en de microkernelconcepten. De projectresultaten worden verspreid onder de MIT-vrijlicentie. Voor het testen van Redox OS zijn installaties en Live-images beschikbaar, met een grootte van 75 MB. De builds zijn gevormd voor de x86_64-architectuur en zijn beschikbaar voor systemen met UEFI en BIOS.
Bij de voorbereiding van de nieuwe release lag de nadruk op de ondersteuning van echte hardware. De belangrijkste vernieuwingen zijn:
- De opstartloader is volledig herschreven, waarbij de code voor het opstarten op BIOS- en UEFI-systemen is gestandaardiseerd en voornamelijk in Rust is geschreven. De wijziging van de opstartloader heeft het scala van ondersteunde hardware aanzienlijk vergroot.
- In de kernel is naast foutoplossingen gewerkt aan prestatieverbetering en uitbreiding van de hardware-ondersteuning. CPU-specifieke variabelen zijn overgezet naar het gebruik van het GS-register. Het is mogelijk gemaakt om de gehele fysieke geheugenruimte in kaart te brengen, en het gebruik van recursieve geheugenpagina's is stopgezet. De assembly-code in inline-invoegingen is herschreven ter verbetering van de compatibiliteit met toekomstige versies van de compiler.
- Beginondersteuning voor de AArch64-architectuur is toegevoegd.
- De overgang naar de verwerking van alle bestandspaden in UTF-8-codering is doorgevoerd.
- De code voor het werken met de ACPI AML (ACPI Machine Language) specificatie — uefi.org is van de kernel verplaatst naar het achtergrondproces acpid, dat in de gebruikersruimte draait.
- De inhoud van Initfs is overgebracht naar een nieuw bestand, wat het samenstellen van pakketten vergemakkelijkt.
- Het bestandssysteem RedoxFS is herschreven en overgestapt naar het gebruik van het CoW (Copy-on-Write) mechanisme, waarbij wijzigingen niet de informatie overschrijven, maar op een nieuwe locatie worden opgeslagen, wat heeft geleid tot een aanzienlijke verbetering van de betrouwbaarheid. Tot de nieuwe mogelijkheden van RedoxFS behoren ondersteuning voor transactionele updates, gegevensversleuteling met behulp van het AES-algoritme, en het ondertekenen van gegevens en metadata met digitale handtekeningen. Code van het bestandssysteem wordt gedeeld in het systeem en de opstartloader.
- De verbetering van de standaard C-bibliotheek Relibc, die niet alleen in Redox maar ook in Linux-kernel gebaseerde distributies kan werken, is voortgezet. De aangebrachte wijzigingen hebben het eenvoudiger gemaakt om verschillende programma's naar Redox over te brengen en hebben problemen opgelost met veel programma's en bibliotheken die in de programmeertaal C zijn geschreven.
- Een versie van de compiler rustc is voorbereid, die in Redox kan draaien. Bij de resterende taken wordt de prestatieoptimalisatie en de aanpassing van de pakketbeheerder cargo voor gebruik in de Redox-omgeving opgemerkt.

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.
In het systeem wordt het principe 'alles is een URL' toegepast. Bijvoorbeeld, voor logging kan de URL 'log://' worden gebruikt, voor communicatie tussen processen 'bus://' en voor netwerkinteractie 'tcp://', enzovoort. Modules die geïmplementeerd kunnen worden als stuurprogramma's, kerneluitbreidingen en gebruikersapplicaties, kunnen hun eigen URL-handlers registreren; zo kan er bijvoorbeeld een module voor toegang tot in- en uitvoerpoorten worden geschreven en aan de URL 'port_io://' worden gekoppeld, waarna deze gebruikt kan worden om toegang te krijgen tot poort 60 via de URL 'port_io://60'.
De gebruikersomgeving in Redox is gebaseerd op de eigen grafische shell Orbital (niet te verwarren met een andere Orbital-shell die Qt en Wayland gebruikt) en de toolkits OrbTk, die een API biedt vergelijkbaar met Flutter, React en Redux. Netsurf wordt gebruikt als webbrowser. Het project ontwikkelt ook een eigen pakketbeheerder, een set standaard utilities (binutils, coreutils, netutils, extrautils), de commandoregelinterface ion, de standaard C-bibliotheek relibc, een Vim-achtige teksteditor sodium, een netstack en een bestandssysteem. De configuratie wordt gedefinieerd in de Toml-taal.
Bron: opennet.ru
