A Moss projekt Linux-kompatibilis magot fejleszt Rust nyelven

Nyolc hónapos fejlesztés után megjelent az első prototípus a Moss Unix-szerű magjából, amely részben kompatibilis a Linuxszal. A kód Rust nyelven íródott, assembly beágyazásokkal, és MIT licenc alatt terjesztik. Jelenleg a projekt csak az Aarch64 architektúrát támogatja, QEMU-ban futtatható, és Raspberry Pi 4, Jetson Nano, AMD Kria és imx8 alaplapokon tesztelték. A fejlesztők állítása szerint a mag könnyen átkonvertálható más architektúrákra, például x86_64-re és RISC-V-ra, a hardvertámogatás absztrakcióját biztosító rétegnek köszönhetően.

A Moss fejlesztésének ezen a szakaszában 51 Linux rendszerhívás került implementálásra, és biztosítva van a bináris kompatibilitás a Linux alkalmazásokkal, ami elegendő a Bash parancssor és a BusyBox eszközök többségének futtatásához. A Moss architektúráján belül kiemelkedik az async/await modell használata, amely biztosítja a mag komponenseinek aszinkron végrehajtását, elkerülve a klasszikus blokkolási problémákat. Az összes nem triviális rendszerhívás aszinkron módon végrehajtott funkciókként van megvalósítva.

Főbb funkciók:

  • Memóriamenedzsment rendszer, amely támogatja a másolatokon végzett írást (Copy-on-Write) memóriablokkok, memóriatáblák, aszinkron memória másoló funkciók közötti végrehajtását a mag és a felhasználói tér között, valamint a kivételek (page fault) kezelését a mag és a felhasználói tér oldalán.
  • Folyamatkezelő rendszer feladat ütemezővel és feladatok migrálásának támogatásával IPI (inter-processor interrupt) révén. Támogatja a folyamatok elágazását a clone() híváson keresztül. Lehetőségek jelek küldésére folyamatoknak és szálaknak.
  • Aszinkron módon működő VFS (Virtual File System) réteg, Ramdisk blokkeszköz, FAT32 illesztőprogram és devtmpfs eszköz.
  • A fő funkciók könyvtárba, libkernel-be való kiemelése, amely nem kötődik a hardverarchitektúrákhoz.
  • HAL-réteg (Hardware Abstraction Layer) a hardvertámogatás biztosításához.
  • Tesztcsomag, amely több mint 230 tesztet tartalmaz.

A jelentős korlátozások között megemlíthető a hálózati alrendszer hiánya, valamint csupán egy korlátozott fájlrendszer-illesztőprogram létezése, amely csak a Fat32 fájlrendszert támogatja, ráadásul csak olvasási módban. A priorálisan megvalósítandó feladatok között szerepel a Linux rendszerhívások folytatása, a TCP/IP verem létrehozása, a terhelésmegosztás támogatása a feladatütemezőben, valamint egy teljes értékű fájlrendszer-illesztőprogram (ext2/4) biztosítása.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster