Linus Torvalds:Rust 将被合并到 Linux 6.1 主线


先回顾关于 Linux 内核支持 Rust 的消息。

  • 2019 年,内核维护者 Greg 表示愿意接受用 Rust 开发 Linux 内核的驱动程序。
  • 2020 年,Linus Torvalds 回应了针对 Linux 内核支持 Rust 的个人看法。他没有否定该提议,而是提倡在默认情况下开启该 feature,以确保该 feature 能被充分测试。当然该 feature 最好以自适应的方式实现,如果在系统上检测到 Rust 编译器,则 Kconfig 将启用 Rust 支持,并继续构建任何假定的 Rust 内核代码,以至少查看其是否正确构建。
  • 2020 年 LPC (Linux Plumbers Conference) 大会上,内核开发者基本达成共识,他们不打算将已有的内核用 Rust 重写,只专注于可以用 Rust 编写的新代码。具体来讲,他们集中讨论了 Linux 内核对 Rust 的支持可能涉及到的三个方面:内核中现有的 API、架构支持,以及 ABI 与内核的兼容性问题。
  • 2021 年,谷歌称 AOSP (Android Open Source Project) 现已支持使用 Rust 开发 Android 操作系统(Android 也属于 Linux 发行版)。
  • 2021 年,Linus 再度发表自己对 Linux 内核支持 Rust 的看法,他对此持观望和开放的态度,并表示 Rust 的首要目标应该是驱动程序。

谷歌使用 Rust 开发 Android 主要是为了解决内存安全问题,其工程师认为 Rust 可以利用编译时检查(确保对象的生命周期和所有权)和运行时检查(确保内存访问有效)来保证内存安全,并且 Rust 在实现这种安全性的同时,还提供了与 C 和 C++ 相当的性能。谷歌向 Android 添加新的开发语言并没有涉及到旧代码,主要是用于新的开发——以避免产生新的内存安全错误。这与 Linux 内核支持 Rust 的实现思路基本一致。

2022 LPC 大会上,Linus 又谈到了 Rust。他本以为能在 6.0 版本中看到 Rust 合并进内核,但最终没有实现。所以他也不会断言能够在 6.1 版本中达成此目标。

同样是在这场会议,西部数据公司的 Linux 内核工程师 Andreas Hindborg 展示了使用 Rust 编写的 NVMe 驱动程序,其基准测试结果表明,虽然 Rust NVMe 驱动程序仍处于早期阶段,但其已表现不俗—— Rust 驱动程序能够实现与 C 驱动程序相当的性能。Linux 内核开发者认为 Rust on Linux 已经处于准备就绪状态。

就在 LPC 大会之后的 2022 Linux 内核维护者峰会上,Linus 提议将 Rust 支持合并到 Linux 6.1 中。他表示希望在内核中看到 Rust 的一个原因是鼓励新的开发者研究内核。

此前 Rust 没有完全进入内核的原因主要有两个,其中一个是非标准的 Rust 扩展的处理,另一个更重要的原因是 Rust 编译器还不稳定。Linus 表示自己更关心后面这个原因,因为 Rust 编译器的可靠性和稳定性更重要。

根据 ZDNet 的报道,Linus 在邮件采访中回复记者称,除非发生意外,否则对 Rust 的支持将会被合并到 Linux 6.1。同时他提醒目前“Rust 只在核心基础设施使用”。无论如何,对于 Rust 和 Linux 来说这都是重要的第一步。


相關推薦

2022-10-06

Linus Torvalds 已将初始的 Rust 代码合并进了 Linux 内核主线。 昨日,初始的 Rust 基础设施代码已合并到 Linux 6.1 内核的主线 Git 代码树中。Linus 在几周前的内核峰会上就已表达过这样的计划,人们也普遍预计这会发生,

2022-09-18

bers Conference 2022 大会上,外媒 ZDNet 的编辑对 Linus Torvalds 进行了一个专访。Linus 在采访中透露,大会开始前,他正在一个小岛上旅行潜水(共 6 天);如果可以选择的话,他“更愿意潜水而不愿参加会议”。 Linus 称,尽

2022-10-17

但在紧急修复后,RC 版本还是如期发布了。 根据 Linus Torvalds 的说法, Linux 6.1-rc1 大约有 60% 的版本代码是新驱动程序,以提供更好的硬件支持,此外也包含架构更新、文件系统和工具改进,还有其他提高性能的改动。 这实

2022-12-12

Linus Torvalds 宣布 Linux 6.1 内核系列正式发布! Linux 6.1 内核系列集成了改进的页面回收代码的多代 LRU (MGLRU) 、初始的 Rust 语言支持(仍在构建中)、新的 AMD 平台管理框架、各种开源图形驱动程序改进、Btrfs 性能优化、Kernel Memory

2024-09-21

在 2024 年 9 月的欧洲开源峰会上,Linus Torvalds 宣布 ‘PREEMPT_RT’(Real-Time Linux) 补丁已被接受合并到 Linux 主线内核。 从 Linux 6.12 开始,所有发行版都将包含实时 Linux 代码。这意味着 Linux 将开始运行在更多任务关键设备 (mission

2022-10-12

启状态。在刚刚过去的周日,一名内核维护者向 Linus Torvalds 询问是否错过了一个合并请求。 对此,Linus 回应称该合并请求仍在它的合并队列中,但由于他的电脑出现内存问题,目前正在以非常慢的速度执行合并队列,他也

2022-09-21

关的话题讨论。 Rust 最近确实有着较高的热度: Linus Torvalds 透露,没有意外的话 Rust 将在 6.1 版本进入 Linux 内核 Cloudflare 放弃 Nginx,使用内部 Rust 编写的 Pingora GStreamer 准备将 Rust 编写的插件作为其官方二进制

2022-08-16

有在这个版本中出现……也许会在 Linux 6.1 中合并。Linus Torvalds 还注意到最近出现的一些 Linux 内核崩溃,这些崩溃似乎是因为 VirtIO 合并,并且已经在解决中。 有关该版本的详细改动,可在 Linux 6.0-rc1 公告中查看。 有意思的是

2022-12-26

Linus Torvalds 发布了 Linux 6.2 的第一个候选版本,结束了 Linux 6.2 的合并窗口,进入此发布周期的测试和错误修复阶段。 对于新的内核版本,Linus Torvalds 在6.2-rc1 公告中写道: 6.2 看起来像是一个更大的版本(肯定比 6.1 更大)

2024-10-25

(维护者名录)文件除名。 这一提交已于上周日被 Linus Torvalds 拉取并包含于 6.12-rc4 版本的代码中。 Greg K-H 并未详述这项更新的具体原因,仅含糊其辞地表示该更改是“由于某些合规性要求”,并指出“(相关人员)提供充足

2022-02-21

“for-next” Git 分支。除非英特尔突然改变路线,或 Linus Torvalds 对该功能持反对意见,否则该 SDSi 功能将作为最新特性,在 Linux 5.18 合并窗口打开后第一时间合并进去。 SDSi 技术允许将加密密钥传递给 CPU ,以解锁一些尚未

2022-10-26

近日,Linus Torvalds 在邮件列表回应了对从内核移除英特尔 i486 处理器支持的想法。 Linux 内核十年前移除对 i386 的支持后,i486 一直是内核主线对 x86 架构支持的最低版本。Linus 说道:“我们早在 2012 年就取消了对 i386 支持,也许

2023-09-14

chefs 没有在 Linux 6.6 开发周期中被合并到主线,因为 Linus Torvalds 对它仍有顾虑——没有经过"linux-next"暂存区域的审查。 不过从内核的最新合并情况来看,大家看到了在 Linux 6.7 中引入新文件系统驱动程序的希望。 就在昨晚,Bca

2022-10-09

多,同时还被应用于一些重要领域。譬如,得到 Linus Torvalds 的认可,初始的 Rust 基础设施已被合并到 Linux 6.1;以及在 Android、Windows、Amazon Web Services 和 Meta 等领域进行了应用。正如分析师 RedMonk 所说,Rust 是当下的“开