Linux开发人员继续评估将Rust代码添加到内核的途径

2020-08-31 00:03:59

早在7月份就提到过,上游Linux开发人员一直在努力寻找一条将Rust代码添加到Linux内核的途径。这个话题现在正在本周的虚拟Linux Plumbers大会上进一步探讨,而且看起来还是会发生,只是最初的基础设施何时到位以及推出的速度有多慢的问题。 早在7月份,Linus Torvalds就分享了他对Linux内核树中的铁锈的看法。Don‘不要仅仅驳斥他对如何处理它的偏好,基本上是在系统中存在铁锈的情况下启用它。 不过要清楚的是,这些Rust Linux内核计划并不涉及用Rust重写内核的大部分(至少在可预见的将来……),对于Rust代码的使用范围和功能有一些限制,并且在构建Linux内核时,Rust支持将是可选的。C语言仍将是内核的主导语言,如果考虑到内存安全、并发性和其他Rust受开发人员欢迎的领域,那么这只是Rust增加了哪些新功能的问题。 许多上游开发人员都对Rust感兴趣,因为它在内存安全和安全性方面的语言优势,以及它的语法接近于C。Linux内核将支持Rust的一个有待确定的子集。 除了弄清楚内核对Rust支持的限制之外,还有Kbuild/Kconfig构建集成,是否使用Rust';作为建造者的货物,以及其他指导原则,例如确保所有的铁锈代码保持在树中(不使用货物来获取外部代码)。 虽然Rust代码是可选的,但开发人员承认,由于LLVM编译器后端的原因,支持Rust的位置存在限制。但至少对于x86/x86_64、ARM/ARM64、POWER和其他重要目标,还有RISC-V之类的支持。 目前还没有确定的结果,但这是本周在虚拟LPC上仍在讨论的一个话题,肯定会在未来几周/几个月内出现在内核邮件列表上。GitHub上有Rust-for-Linux,带有一个原型内核模块实现。还有今天关于这个问题的演讲的PDF幻灯片。