Linux 6.15 正式合并了 Rust 实现的 Ext4 驱动。这是 Rust 在内核中的第一个生产级文件系统驱动。
为什么用 Rust 重写 Ext4?
Ext4 是 Linux 最常用的文件系统之一,C 语言实现已经维护了 20 多年,代码极其复杂。过去 5 年发现了超过 200 个内存安全相关的漏洞。
Rust 版本的优势: - 编译期消除 use-after-free、buffer overflow - 类型系统自动处理并发安全 - 代码量比 C 版本少了 30%(因为不需要大量安全检查)
性能如何?
官方的 Benchmark 显示 Rust 版本和 C 版本性能基本持平,个别场景(大量小文件读写)Rust 反而快了 8%。
意义
这不止是技术问题。Linus 之前说过他"允许 Rust 进入内核"但要求"不要强迫现有 C 开发者学 Rust"。现在 Rust 生态已经足够成熟,很多内核子系统都在探索 Rust 重写。
对于像我这样的 Java 后端来说,Rust 可能不会直接替代 Java,但了解 Rust 的思想(所有权、零成本抽象)对写好高性能 Java 代码也很有帮助。
参考来源:
评论
评论已关闭。