Ubuntu 工程师使用 Rust 为 Linux 开发内核调度程序

Ubuntu 内核团队工程师 Andrea Righi 使用Rust 编写了一个 Linux 内核调度程序,并利用 eBPF 在运行时动态加载。Ubuntu 还没有承诺将其作为发行版的一部分,Righi 也在博客表示这是一个实验性内核项目,用于探索 Rust 在 Ubuntu 的应用,并谈到了未来利用 Rust 和 eBPF 进行“微内核设计”的可能性。

Righi 在博客介绍称,用 Rust 开发的内核调度程序 sched-ext 不仅为开发者提供了便利,还能让用户也受益,比如可以根据用户的工作负载和其他特殊情况加载优化的调度程序。

博客文章最后写道:

“我们正朝着一种微内核设计迈进,它有可能为 Linux 认证铺平道路:在上述情况下,如果用户空间调度程序崩溃,任务将无缝过渡到默认的内核调度程序,确保系统的持续可用性,而不会出现任何停机时间。

这表明,类似的方法也可用于其他子系统,从而使 Linux 内核能够提供完全冗余和崩溃安全的系统。”

相关链接