Ubuntu/Canonical已经推广了一段时间Rust编程在Linux内核中的前景他们的一位内核工程师Andrea Righi写了一个Rust-written Linux scheduler具有良好的效果它利用eBPF在运行时动态加载它。虽然Ubuntu还没有承诺将其作为其发行版的一部分,但今天出现在Ubuntu博客上的是对这项工作的更多赞扬,甚至还谈到了未来通过利用Rust和eBPF进行“微内核设计”的可能性。
Righi今天在Ubuntu博客上发布了关于使用sched-ext为eBPF加载的调度器实现、Rust和Ubuntu开发新的Linux调度器实现的文章。除了开发人员的优势之外,这一组合还可以产生最终用户的优势,例如能够根据用户工作负载和其他特定情况加载优化的调度程序。
这篇博文接着指出,如果需要的话,可以通过PPA在Ubuntu24.04中使用“scx_rustland”。这项Rust调度器工作已经被证明是一个潜在可行的替代方案,可以替代最近在内核中维护的默认EEVDF调度器。
Ubuntu博客文章结束语:
我们正在朝着一种有可能为在Linux上获得认证铺平道路的微内核设计前进:在上述场景中,如果用户空间调度器崩溃,任务将无缝过渡到默认的内核内调度器,确保系统的连续可用性,而不会出现任何停机时间。
这表明,类似的方法也可以用于其他子系统,允许Linux内核提供完全冗余和崩溃安全的系统。
While this is outside the scope of the upcoming Ubuntu 24.04 LTS release, it's rather intriguing to see these comments on the Ubuntu blog and at a time when Canonical has been ramping up their performance and engineering teams. It will be interesting to see what sort of innovations in this area they may be pursuing in the future with the scx_rustland work already proving quite interesting on its own. Interesting times ahead.