导读:在前两天的开源峰会上,Linus Torvalds 发表的主题演讲与Jonathan Corbet 的“内核报告”都讨论了在 Linux 中使用 Rust 模块的努力。
Linux 内核的下一个版本将是 6.0,但与以往一样,主版本号的更改并不表示重大技术的更改。Torvalds 坦承表达,可能只是希望有一个标题党特性,例如“现在你可以用 Rust 开发驱动程序”,但这些可能要等到内核 6.1 才会发生。
到目前为止,已经成立了一个工作组,并且已经提交了一个基础补丁。还有两个用新语言实现的基础驱动程序。内核开发者还在 LWN 上进行了深入讨论:一个用于 NVMe 驱动器的驱动程序,一个用于来自 Plan 9 操作系统的9P网络协议的内核服务器。
但是一些重大问题仍然存在:编译器是一个很大的障碍:目前Linux内核通常使用 GCC(GNU 编译器集合)编译,但 Rust 通常使用其竞争对手 LLVM 编译器编译。
Linux 内核也可以使用 LLVM C 编译器编译构建。这已在 Android、ChromeOS 和 OpenMandriva 等成为编译内核的方式。不过,使用 Clang 构建内核的一个重要问题是 CPU 架构支持。只有 x86 和 Arm 以这种方式能够得到很好的支持,其它架构还没有那么稳定。
使用 Clang 编译内核的另一面是使用 GCC 编译 Rust。
目前有一个实验性的Rust-on-GCC编译器,目前该项目页面指出:编译器处于非常早期的阶段,还不能用于编译真正的 Rust 程序。
据称,这个项目是几年前开源社区的努力,Rust 仍然是 0.9 版本,但是它仍可能会出现在 GCC 13中。
作者:手扶拖拉斯基
相关阅读:
文章评论