Projekt Moss vyvíjí jádro kompatibilní s Linuxem napsané v jazyce Rust

Po 8 měsících vývoje byl zveřejněn první prototyp unixového jádra Moss, které je částečně kompatibilní s Linuxem. Kód je napsán v jazyce Rust s assemblerovými vložkami a je distribuován pod licencí MIT. V současnosti projekt podporuje pouze architekturu Aarch64, může být spuštěn v QEMU a byl testován na deskách Raspberry Pi 4, Jetson Nano, AMD Kria a imx8. Podle tvrzení vývojářů lze jádro snadno portovat pro jiné architektury, jako jsou x86_64 a RISC-V, díky vrstvě pro abstrakci hardwarové podpory.

V této fázi vývoje implementoval Moss 51 systémových volání Unix/Linux a zajistil binární kompatibilitu s aplikacemi pro Linux, která je dostatečná pro spuštění příkazového shellu Bash a většiny utilit souborového balíku BusyBox. Mezi zvláštnosti architektury Moss patří použití modelu async/await pro zajištění asynchronního vykonávání komponentů jádra, což vylučuje hlavní třídy vzájemných blokací. Všechny netriviální systémové volání jsou realizovány ve formě asynchronně vykonávaných funkcí.

Hlavní funkce:

  • Systém správy paměti s podporou stránek paměti v režimu CoW (Copy-on-Write), tabulek stránek paměti, asynchronních funkcí kopírování paměti mezi jádrem a prostorem uživatele, zpracování výjimek (page fault) na straně jádra a prostoru uživatele.
  • Systém správy procesů s plánovačem úloh a podporou migrace úloh prostřednictvím IPI (inter-processor interrupt). Podpora odvětvování procesů prostřednictvím volání clone(). Možnosti pro doručování signálů procesům a vláknům.
  • Asynchronně pracující vrstva VFS (Virtual File System), blokové zařízení Ramdisk, ovladač FAT32 a zařízení devtmpfs.
  • Oddělení hlavních funkcí do knihovny libkernel, která není vázaná na hardwarové architektury.
  • HAL vrstva (Hardware Abstraction Layer) pro zajištění podpory hardwaru.
  • Testovací sada zahrnující více než 230 testů.

Mezi hlavními omezeními se vyzdvihuje absence síťového subsystému a pouze zjednodušený ovladač souborového systému, který podporuje souborový systém Fat32 v režimu pouze pro čtení. Mezi priority se uvádí pokračování implementace systémových volání Linuxu, vytvoření TCP/IP zásobníku, podpora vyvažování zátěže v plánovači úloh a poskytování plnohodnotného ovladače pro souborový systém (ext2/4).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster