Het Moss-project is in ontwikkeling. Linux-compatibele kern in de Rust-taal

Na 8 maanden ontwikkeling is het eerste prototype van de Unix-achtige Moss-kernel, die gedeeltelijk compatibel is met LinuxDe code is geschreven in Rust met assembly-code en wordt gedistribueerd onder de MIT-licentie. Momenteel ondersteunt het project alleen de Aarch64-architectuur, kan het in QEMU worden uitgevoerd en is het getest op Raspberry Pi 4, Jetson Nano, AMD Kria en imx8-boards. Volgens de ontwikkelaars kan de kernel dankzij een abstractielaag voor hardwareondersteuning eenvoudig worden geporteerd naar andere architecturen, zoals x86_64 en RISC-V.

In deze ontwikkelingsfase implementeert Moss 51 systeemoproepen. Linux en binaire compatibiliteit met applicaties is gegarandeerd. LinuxVoldoende om de Bash-shell en de meeste hulpprogramma's uit de BusyBox-suite te draaien. De architectuur van Moss maakt gebruik van async/await om asynchrone uitvoering van kernelcomponenten te garanderen, waardoor belangrijke soorten deadlocks worden geΓ«limineerd. Alle niet-triviale systeemoproepen zijn geΓ―mplementeerd als asynchrone functies.

Belangrijkste kenmerken:

  • Geheugenbeheersysteem met ondersteuning voor geheugenpagina's in CoW-modus (Copy-on-Write), geheugenpaginatabellen, asynchrone functies voor het kopiΓ«ren van geheugen tussen de kernel en de gebruikersruimte, uitzonderingsbehandeling (paginafouten) aan de kernel- en gebruikersruimtezijde.
  • Een procesbeheersysteem met een taakplanner en ondersteuning voor taakmigratie via IPI (inter-processor interrupt). Ondersteuning voor procesforking via de clone()-aanroep. Mogelijkheid om signalen naar processen en threads te sturen.
  • Asynchroon draaiende VFS-laag (Virtual File System), Ramdisk-blokapparaat, FAT32-stuurprogramma en devtmpfs-apparaat.
  • De kernfunctionaliteit wordt verplaatst naar de libkernelbibliotheek, die niet aan een hardwarearchitectuur is gebonden.
  • HAL-laag (Hardware Abstraction Layer) voor hardwareondersteuning.
  • Een testsuite met meer dan 230 tests.

Belangrijke beperkingen zijn onder meer het ontbreken van een netwerksubsysteem en de aanwezigheid van slechts een uitgeklede bestandssysteemdriver die het Fat32-bestandssysteem in alleen-lezenmodus ondersteunt. Het verder implementeren van systeemoproepen wordt als prioriteit genoemd. LinuxSchepping TCP/IP stack, ondersteuning voor taakverdeling in de taakplanner en het leveren van een volwaardige driver voor het bestandssysteem (ext2/4).

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers πŸ”₯ Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster