查看原文
其他

2022年Rust将成为Linux内核第二语言

为开发者服务的 21CTO 2022-05-25

导读:在Linux 中的 Rust 代码正日益增多。


2015 年诞生的 Rust 是一款小众的现代系统编程语言,近几年间,接连受到了各大企业的青睐。并且连续 3 年被评为最受开发者欢迎的编程语言。


如今,Rust 正式跃升成为第一梯队的编程语言,与 C++、C# 平级。


回想在不久以前,Linux 内核中使用除 C语言 之外的另一种语言的想法会被很多人嘲笑。如今事情发生了变化,不仅高级系统语言Rust越来越接近 Linux,而且下一个“补丁系列将 Rust 作为第二语言添加到 Linux 内核中”,它比以往任何时候都更接近内核。


如今为内核服务的 Rust 代码现在依赖于稳定的 Rust 编译器,而不再是 beta 版编译器。在未来每次发布新的稳定 Rust 编译器时,Linux 上的 Rust 都会同步升迁,目前Linux 内核中用的 Rust 版本是  1.57.0。


Linux 内核开发者,同时也是 Linux Rust 领导者 Miguel Ojeda 表示:“通过升级编译器,我们已经能够从列表中删除一些以前用到的一些不稳定性。” 这意味着 Linux 上的 Rust 语言将更加稳定。 


展望未来,Ojeda 提道,“我们将继续升级,直到我们(内核)没有任何不稳定的功能;此时我们想开始宣布支持最低 Rust 版本,还有诸如 GCC 和 Clang等。


资深 Linux 内核开发人员 Greg Kroah-Hartman 提到说,“驱动程序可能是Rust 出现在 Linux 中的第一个地方,它们是内核源代码中依赖关系树的‘末端叶子’。它们依赖于核心内核功能,但内核不依赖于它们。”


在2020 Linux Plumbers Conference 上,这些顶级 Linux 内核开发人员讨论了 Linux 的未来,并在当时引入了将Rust 作为Linux内核第二语言的想法。


尽管 Linus Torvalds 确定,Linux 不会用 Rust 重写,那不是团队的目标,也没有人会用 Rust 重写内核的 2500 万行C代码。


Rust 语言负责人 Josh Triplett 和 Google 工程师 Nick Desaulniers 也强烈建议在内核中使用系统级 Rust 语言,因为它比 C 安全得多,尤其是在处理内存错误方面。


微软首席云开发专家 Ryan Levick 也称赞Rust:“ Rust 是完全内存安全的。大约有三分之二的安全问题可以追溯到内存处理不当,这是一个重大改进。此外,Rust 可以在不增加任何运行时开销的情况下防止这些问题”。


创始人Torvalds 也看到了Rust的优势。虽然他鼓励采用缓慢且稳定的方法将 Rust 一步步引入 Linux,他认为将 Rust 接口用于驱动程序和其他非核心内核程序是有道理的:“我相信这会发生。它可能不是 Rust,但是我们将会有不同的模型来编写这种类型的东西,而 C 语言不会是唯一的模型。”


Ojeda 补充说,当前项目还尚未完成,若高级维护人员接受当前的更改并希望切换到内核中工作,我们就准备好进入主线。 


现在工作进展顺利,希望在 2022 年的某个时候看到 Linux 内核中的第一个 Rust 代码。


作者:骑上墙上等红杏


相关阅读:


软件开发的规律和原则

CentOS Stream 9 正式发布

我们为什么要学习Go

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存