Il progetto Moss sviluppa un kernel compatibile con Linux in linguaggio Rust

Dopo 8 mesi di sviluppo, è stato pubblicato il primo prototipo del kernel simile a Unix, Moss, parzialmente compatibile con Linux. Il codice è scritto in Rust con inserti di assemblatore e distribuito con licenza MIT. Attualmente, il progetto supporta solo l'architettura Aarch64, può essere eseguito in QEMU ed è stato testato su schede Raspberry Pi 4, Jetson Nano, AMD Kria e imx8. Secondo gli sviluppatori, il kernel può essere facilmente portato su altre architetture come x86_64 e RISC-V, grazie a uno strato per l'astrazione del supporto hardware.

In questa fase di sviluppo, Moss ha implementato 51 chiamate di sistema di Linux e garantito la compatibilità binaria con le applicazioni per Linux, sufficiente per eseguire la shell Bash e la maggior parte delle utility del pacchetto BusyBox. Tra le caratteristiche architetturali di Moss si segnala l'uso del modello async/await per garantire l'esecuzione asincrona dei componenti del kernel, escludendo le principali classi di deadlock. Tutte le chiamate di sistema non banali sono implementate come funzioni eseguite in modo asincrono.

Funzionalità principali:

  • Sistema di gestione della memoria con supporto per il paging in modalità CoW (Copy-on-Write), tabelle delle pagine di memoria, funzioni di copia della memoria asincrone tra il kernel e lo spazio utente, gestione delle eccezioni (page fault) nel kernel e nello spazio utente.
  • Sistema di gestione dei processi con uno scheduler di attività e supporto per la migrazione dei processi attraverso l'IPI (inter-processor interrupt). Supporto per la fork dei processi tramite chiamata clone(). Funzionalità per l'invio di segnali ai processi e ai thread.
  • Layer VFS (Virtual File System) asincrono, dispositivo a blocchi Ramdisk, driver FAT32 e dispositivo devtmpfs.
  • Estensione della funzionalità principale in una libreria libkernel, non vincolata ad architetture hardware.
  • Strato HAL (Hardware Abstraction Layer) per garantire il supporto dell'hardware.
  • Suite di test che include più di 230 test.

Tra i limiti principali si segnala l'assenza di un sottosistema di rete e la presenza di un driver di filesystem ridotto, che supporta il FS Fat32 in modalità di sola lettura. Tra le priorità mentionate ci sono il proseguimento dell'implementazione delle chiamate di sistema Linux, la creazione di uno stack TCP/IP, il supporto al bilanciamento del carico nel pianificatore di attività e la fornitura di un driver completo per il filesystem (ext2/4).

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster