Release van het Redox OS 0.7 besturingssysteem geschreven in Rust

Na anderhalf jaar ontwikkeling is de release van het Redox 0.7-besturingssysteem, ontwikkeld met behulp van de Rust-taal en het microkernelconcept, gepubliceerd. De ontwikkelingen van het project worden verspreid onder de gratis MIT-licentie. Voor het testen van Redox OS worden installatie- en Live-images van 75 MB groot aangeboden. De assemblies worden gegenereerd voor de x86_64-architectuur en zijn beschikbaar voor systemen met UEFI en BIOS.

Bij het voorbereiden van de nieuwe release lag de nadruk vooral op het garanderen dat deze op echte hardware werkt. Belangrijkste innovaties:

  • De bootloader is volledig herschreven, waarbij de code voor het opstarten op systemen met BIOS en UEFI uniform is en voornamelijk in Rust is geschreven. Het veranderen van de bootloader heeft het bereik van ondersteunde hardware aanzienlijk uitgebreid.
  • Naast bugfixes is er in de kernel gewerkt om de prestaties te verbeteren en de hardwareondersteuning uit te breiden. CPU-specifieke variabelen zijn geconverteerd om het GS-register te gebruiken. Er wordt voorzien in reflectie (mapping) van al het fysieke geheugen, het gebruik van recursieve geheugenpagina's wordt stopgezet. De assemblagecode in inline-inserts is herschreven om de compatibiliteit met toekomstige compilerreleases te verbeteren.
  • Initiële ondersteuning toegevoegd voor AArch64-architectuur.
  • Er is een overstap gemaakt naar het verwerken van alle bestandspaden in UTF-8-codering.
  • De code voor het werken met de ACPI AML-specificatie (ACPI Machine Language) - uefi.org is verplaatst van de kernel naar het acpid-achtergrondproces dat in de gebruikersruimte wordt uitgevoerd.
  • De Initfs-inhoud is naar een nieuw bestand verplaatst, waardoor het eenvoudiger wordt om pakketten te genereren.
  • Het RedoxFS-bestandssysteem is herschreven en overgeschakeld naar het gebruik van het CoW-mechanisme (Copy-on-Write), waarbij wijzigingen de informatie niet overschrijven, maar worden opgeslagen op een nieuwe locatie, wat de betrouwbaarheid aanzienlijk heeft verbeterd. Nieuwe functies van RedoxFS omvatten ondersteuning voor transactionele updates, gegevensversleuteling met behulp van het AES-algoritme, evenals authenticatie van gegevens en metadata met digitale handtekeningen. Het delen van FS-code in het systeem en de bootloader is verzekerd.
  • De verbetering van de door het project ontwikkelde standaard C-bibliotheek Relibc, die niet alleen in Redox kan werken, maar ook in distributies gebaseerd op de Linux-kernel, is voortgezet. De wijzigingen maakten het gemakkelijker om verschillende programma's naar Redox te porten en losten problemen op met veel programma's en bibliotheken geschreven in C.
  • Er is een versie van de rustc-compiler voorbereid die in Redox kan draaien. De resterende taken omvatten het optimaliseren van de prestaties en het aanpassen van de vrachtpakketmanager aan het werken in de Redox-omgeving.

Release van het Redox OS 0.7 besturingssysteem geschreven in Rust

Het besturingssysteem is ontwikkeld in overeenstemming met de Unix-filosofie en ontleent enkele ideeën aan SeL4, Minix en Plan 9. Redox gebruikt het concept van een microkernel, waarbij alleen interactie tussen processen en resourcebeheer op kernelniveau plaatsvindt, en alle andere functionaliteit wordt geplaatst in bibliotheken die zowel door de kernel als door gebruikersapplicaties kunnen worden gebruikt. Alle stuurprogramma's draaien in de gebruikersruimte in geïsoleerde sandbox-omgevingen. Voor compatibiliteit met bestaande applicaties is er een speciale POSIX-laag voorzien, waarmee u veel programma's kunt uitvoeren zonder porten.

Het systeem maakt gebruik van het ‘alles is een URL’-principe. De URL “log://” kan bijvoorbeeld worden gebruikt voor loggen, “bus://” voor interactie tussen processen, “tcp://” voor netwerkinteractie, enz. Modules, die kunnen worden geïmplementeerd in de vorm van stuurprogramma's, kernelextensies en gebruikersapplicaties, kunnen hun eigen URL-handlers registreren. U kunt bijvoorbeeld een I/O-poorttoegangsmodule schrijven en deze binden aan de URL "port_io:// ", waarna u hiermee toegang kunt krijgen tot poort 60 door de URL “port_io://60” te openen.

De gebruikersomgeving in Redox is gebouwd op basis van Orbital's eigen grafische shell (niet te verwarren met een andere Orbital-shell die Qt en Wayland gebruikt) en de OrbTk-toolkit, die een API biedt vergelijkbaar met Flutter, React en Redux. Netsurf wordt gebruikt als webbrowser. Het project ontwikkelt ook een eigen pakketbeheerder, een reeks standaardhulpprogramma's (binutils, coreutils, netutils, extrautils), de ion-opdrachtshell, de standaard C-bibliotheek relibc, de vim-achtige teksteditor natrium, een netwerkstack en een bestand systeem. De configuratie is ingesteld in de Toml-taal.

Bron: opennet.ru

Voeg een reactie