Rust 编程语言在安全性方面具有一些优势,因此某些 Linux 内核开发人员希望使用它。其中一位 Nick Desaulniers 希望在即将举行的 Linux Plumbers Conference 上进行介绍和讨论。Linux Plumbers Conference 是一个会议,参会的是从事 Linux 工作的顶尖开发人员(包括内核子系统,核心库,窗口系统等)。
添加构建内核所需的新工具链的成本相对较高,更不用说人员的成本,需要熟练掌握 Rust 语言以充分审查所有新代码和移植代码。因此,电子邮件中讨论评估 Linux 内核开发社区是否愿意接受这些成本,如果是,那么可能需要清除哪些实际障碍才能真正实现。
TL;DR
其中 Linux kernel in-tree Rust support
中的 in-tree,是 Linux 术语,意思是与内核源代码树本身一起存储并与之一起构建内核模块。
讨论链接,https://lore.kernel.org/lkml/CAKwvOdmuYc8rW_H4aQG4DsJzho=F+djd68fp7mzmBp3-wY--Uw@mail.gmail.com/T/#u
cargo-todo 是一个用来查看 rust 代码中每个 TODO 的工具。将显示//todo
的行数:
$ cargo todo
Line 39 : refactor
相关链接:
关于异步内存访问的 Rust 代码,要点是现代 CPU 与缓存有关。下面的 Paper 对该代码的作用有深入描述,感兴趣的可翻阅。
Playground 链接,https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=b99e44f23000d3ab90c5ef3a9ab75b55
相关 Paper,http://www.vldb.org/pvldb/vol11/p1702-jonathan.pdf
Miri,是一个针对 Rust 的 MIR(Mid-level Intermediate Representation) 实验性解释器。它可以运行 cargo 项目的二进制文件和测试套件,并检测某些类别的未定义行为。
关于如何使 Rust 的编译速度更快,以便开发人员可以更快地进行迭代,这已经有很多讨论。但是另一种解决方案是根本不编译它。Python 之所以开发者友好,原因之一是因为编写一行代码到看到更改结果之间的时间不到一秒钟。miri 会为 Rust 带来同样的开发便利吗?
Github 链接,https://github.com/rust-lang/miri