Rust Linux 兼容内核
moss 是一个类 Unix、兼容 Linux 的内核,使用 Rust 和 AArch64 汇编语言编写。它具有异步内核核心、模块化架构抽象层,以及与 Linux 用户空间应用程序的二进制兼容性。目前,moss 可以运行动态链接的 Arch Linux AArch64 用户空间,包括 bash、BusyBox、coreutils、ps、top 和 strace。
/proc/self/maps。 * 物理地址的 Buddy 分配器和 smalloc 用于引导时的分配和跟踪内存预留。 * 一个完整的块分配器用于内核对象分配,具有按 CPU 划分的对象缓存。moss 的一个重要特征是它在内核上下文中使用 Rust 的 async/await 模型:
所有非简单的系统调用都被编写为 async 函数,可睡眠的函数前缀为 .await。
编译器强制要求旋转锁不能在睡眠点上保持,从而消除了常见的内核死锁类型。
任何未来都可以用 .interruptable() 组合器包装,允许信号中断等待的未来并采取相应的操作。
完整的任务管理,包括通过 EEVDF 进行 UP 和 SMP 调度,以及通过 IPI 进行任务迁移。
暂无开放 Issues,或尚未同步最近议题。