17611538698
webmaster@21cto.com

Miguel Ojeda :Rust 在 Linux 中处于黎明前的黑暗

资讯 0 211 2024-09-25 02:10:49

图片

近日,在蒙特利尔举行的 RustConf 大会上,Rust for Linux 项目首席维护者 Miguel Ojeda 在大会上表示说,另一位该项目的维护者 Wedson Almeida Filho 的辞职是当前“黎明前最黑暗”的时刻。

Rust for Linux 项目的目标是让 Rust 成为 Linux 内核除 C 之外的第二大主编程语言。

图片

图1 Miguel Ojeda 在 RustConf 上发表演讲

内核对 Rust 的初始支持是在 2022 年 10 月合并到 Linux 6.1 内核中,但开发进展仍然存在障碍。

包括 Linux 版 Rust 仍然需要使用 Rust 中尚不稳定的功能。这被认为是不可取的,GitHub 上记录了许多这样的功能,它们涵盖了语言、标准库、编译器等领域。

https://github.com/Rust-for-Linux/linux/issues/2

Rust 语言设计团队联合负责人 Nicholas Matsakis 在 RustConf 上重申,Rust for Linux 是 Rust 团队的旗舰项目。

但要使用稳定的 Rust 还需要六个多月的时间。“我们有很多人在做这件事,”他这样说。

Matsakis 解释说,对不稳定的 Rust 的要求是一个问题,因为“从某种意义上说,它的主要受众是那些想用 C 语言开发 Linux 内核的人。这些人不想使用暗黑版的 Rust,他们甚至不想知道 Rust 的存在。他们还在开发自己的 C 代码。他们只想知道 Debian 发行版中的 Rust 编译器是否有效。不幸的是,现在他们还做不到这一点。” 

Matsakis 表示,Rust for Linux 意味着Rust语言“可能在要求最高的低级环境中”使用。他还强调,Rust for Linux 不仅仅使用不安全的 Rust——他听说后者被描述为“只是语法更好的 C++”。


相反的,Rust for Linux 是关于“构建安全的抽象,并让你实际上用安全的 Rust 完成大部分工作”,Matsakis 这样强调说。

图片

图2 Linux的安全系统机制

内核如何允许开发人员使用安全的 Rust 

Ojeda 解释说,不安全代码将包含在一个名为 Kernel Crate 的模块中。其目的是让开发人员编写安全的 Rust,并让 Kernel Crate 在后台处理不安全代码。

内核创建将被拆分成多个部分,但适用相同的原则。

这就是 Rust for Linux 项目实现其目标的方式,即使 Linux 内核编程更加安全,同时有可能让一批新的 Rust 开发人员成为内核贡献者。

犹豫仍是障碍该项目的另一个问题。一些现有的 C 程序员不愿意将 Rust 作为第二语言——担心这会使他们的工作复杂化或迫使他们再学习一门新语言 Rust。

对此产生以上的担忧,已经导致Rust for Linux 的主要维护者之一 Filho 辞职。


“对我来说这当然非常困难,”Ojeda 告诉 RustConf,“但从积极的一面来看,这可能是黎明前最黑暗的时刻之一......我想向你们保证,这个项目正在积极向前推进。”


Ojeda 还表示,许多大型开发商都对“Rust 在内核中的成功”感兴趣——包括谷歌、微软、AWS 等。


“所以让我们实现它吧,Ojeda 这样强调道

编辑:聆听世界的鱼

评论