Rust 时代真的要来了?将成为 Linux 的第二个官方语言

系统 Linux
如今,不仅高级系统语言Rust越来越接近 Linux,而且下一个“补丁系列将 Rust 作为第二语言添加到 Linux 内核中”,它比以往任何时候都更接近Linux。

 大家知道,Linux 是 C 语言的代言人。但是,目前 Rust 正在兴起而且赢得越来越多人的支持,以至于有人提议用 Rust 编程语言重写 Linux,至少部分重写。Linus Torvalds 和其他核心内核维护者都表示原则上对支持 Rust 的内核开发持开放态。

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

这些新包的最大变化是,为内核提议的 Rust 代码现在依赖于稳定的 Rust 编译器而不是 beta 编译器。展望未来,每次发布新的稳定 Rust 编译器时,Linux 上的 Rust 都会迁移。目前,它使用Rust 1.57.0。

Rust 1.57.0 最新版本截图

正如 Linux 内核和 Linux 上的 Rust 领导者,开发人员 Miguel Ojeda 所说,“通过升级编译器,我们已经能够从列表中删除一些我们正在使用的不稳定功能。” 这反过来意味着 Linux 上的 Rust 将更加稳定。

展望未来,Ojeda 写道:“我们将继续升级,直到我们不依赖任何不稳定的功能;在这一点上,我们可能想开始声明支持 Rust 的最低版本,例如 GCC 和 Clang。

高级 Linux 内核开发人员 Greg Kroah-Hartman 曾说,他愿意接受使用Rust开发Linux内核的驱动程序,因为“它们是内核源代码中依赖关系树的‘末端叶子’。它们依赖于核心内核功能,但没有任何东西依赖于它们。”

在在 2020 (virtual) Linux Plumbers Conference 会议上,顶级 Linux 内核开发人员讨论了 Linux 的未来,已经有将引入 Rust 作为内核的第二语言的想法。

尽管 Linus Torvalds 确信,Linux 最终不会用 Rust 编写。但是,那不是目标。没有人会用 Rust 重写内核的 2500 万行 C。

在 Rust 语言负责人 Josh Triplett 和 Google 工程师 Nick Desaulniers 的带领下,他们提议在内核中使用系统级 Rust 语言。为什么?因为它比 C 安全得多,尤其是在处理内存错误方面。

正如微软首席云开发倡导者 Ryan Levick 所解释的那样,“ Rust 是完全内存安全的。” 由于大约三分之二的安全问题可以追溯到内存处理不当,这是一个重大改进。此外,“Rust 通常可以在不增加任何运行时开销的情况下防止这些问题,”Levick 说。

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

Linux 内核维护者 Miguel Ojeda以前曾表示,“该项目尚未完成,大多数工作还没有完成。但如果高级维护人员接受当前的更改并希望我们在内核中工作,我们就准备好进入主线。” 

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

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2020-09-11 10:27:07

鸿蒙安卓操作系统

2011-05-23 10:16:25

VMware微软

2011-11-01 10:21:16

UbuntuAndroid

2012-05-07 23:41:43

JavaJVMCeylon

2022-05-18 10:26:21

微软Linux稳定版

2018-07-16 14:09:37

2024-03-06 10:05:37

Vue语言工具VS Code 插件

2009-11-05 09:54:03

盗版党欧洲议会

2021-01-28 16:58:12

数字货币加密货币区块链

2011-09-21 13:09:33

HTML 5

2011-02-18 14:04:27

Ubuntu 10.0

2022-04-06 08:22:13

useEffecthookrender

2015-08-12 11:35:32

Windows 10Windows 8

2010-10-08 11:29:45

AndroidiPhone

2021-05-17 18:56:20

甲骨文云区域

2009-02-09 09:13:13

Windows 7BetaUAC

2010-10-25 06:33:43

戴尔dell虚拟化

2022-03-26 09:39:53

SOC运营数据

2018-03-06 14:59:13

点赞
收藏

51CTO技术栈公众号