内核风云:Linux 中的 Rust 传奇进入“Linus 全大写”阶段

Rust在Linux内核中的发展历程

Rust作为一种比C语言更现代且内存安全的编程语言,曾被认为将逐步进入Linux内核。然而,这一过程并非一帆风顺,经历了多次争议和挑战。

初期进展与支持

2021年,Linux内核创始人Linus Torvalds对Rust表示赞赏,但采取了“观望”态度。2022年10月,Torvalds批准了在内核中添加Rust代码支持的拉取请求,标志着Rust在Linux内核中的初步进展。

进展受阻与争议

到2024年底,Rust的进展因各种原因受阻,Rust for Linux项目的负责人因“非技术性原因”辞职。Torvalds表示理解进展缓慢,但指出老一代内核开发者习惯于C语言,对学习新语言并不热衷。尽管如此,这种争议在开源社区中被视为正常现象。

近期紧张局势

最近两个月,Linux内核邮件列表中的讨论变得紧张。Torvalds和另一位长期领导者Greg Kroah-Hartman都认为Rust可以进入内核,但不会强迫开发者使用Rust,尤其是对于超过20年的C代码。

关键人物与观点

  • Hector Martin:Asahi Linux项目负责人,因在内核中实现Rust的障碍而辞职,认为Rust对于开发Apple最新芯片的高效和安全驱动程序至关重要。
  • Christoph Hellwig:DMA API维护者,反对在其负责的代码部分引入Rust,认为跨语言代码库难以维护。
  • Linus Torvalds:批评Martin将问题带到社交媒体,并对Hellwig的反对意见进行了回应,强调维护者可以拒绝使用Rust,但不能阻止Rust代码与其C代码的交互。

Torvalds的立场

Torvalds明确表示,维护者可以选择不参与Rust的开发,但不能阻止Rust代码在其控制区域的使用。他提出了“保护墙”的概念,即维护者可以选择不处理Rust代码,但不能对基于其C接口的Rust代码拥有否决权。

Kroah-Hartman的支持

Kroah-Hartman支持Rust进入内核,认为Rust可以解决C语言中的许多错误,尤其是内存安全问题。尽管混合语言代码库难以维护,但他认为内核开发者有能力应对这一挑战,并强调Rust的引入有助于Linux项目的长期成功。

未来展望

尽管Rust在Linux内核中的未来尚不确定,但完全压制Rust与C代码的交互似乎不是长期可行的策略。Redox项目和Linux分叉为纯C项目的可能性被提及,但这些讨论低估了Linux作为主导基础设施操作系统的重要性。

总结

Rust在Linux内核中的发展经历了从初步支持到进展受阻,再到近期紧张局势的过程。尽管存在争议,但Torvalds和Kroah-Hartman等关键人物都认为Rust有其价值,尤其是在内存安全方面。未来的发展方向将取决于社区如何平衡新旧语言的共存与协作。

阅读 14
0 条评论