当前位置: 首页 > 科技观察

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

时间:2023-03-14 10:31:23 科技观察

众所周知,Linux是C语言的代言人。然而,Rust目前正在兴起并获得如此多的支持,以至于有人提议用Rust编程语言重写Linux,至少部分重写。LinusTorvalds和其他核心内核维护者表示,他们原则上对支持Rust的内核开发持开放态度。不久之前,在Linux内核中使用C以外的语言的想法还会被嘲笑。然而,现在情况发生了变化。如今,不仅高级系统语言Rust越来越接近Linux,而且下一个“将Rust作为第二语言添加到Linux内核的补丁系列”也比以往任何时候都更接近Linux。这些新包的最大变化是,为内核提议的Rust代码现在依赖于稳定的Rust编译器,而不是beta编译器。展望未来,每次发布新的稳定Rust编译器时,Linux上的Rust都会迁移。目前,它使用Rust1.57.0。Rust1.57.0最新版本的屏幕截图正如Linux内核和Linux上Rust的负责人开发人员MiguelOjeda所说,“通过升级编译器,我们已经能够从我们正在使用的列表中删除一些不稳定的功能”这反过来意味着RustonLinux会更加稳定。展望未来,Ojeda写道:“我们将继续升级,直到我们不再依赖任何不稳定的功能;在这一点上,我们可能希望开始宣布支持最低版本的Rust,例如GCC和Clang。”高级Linux内核开发人员GregKroah-Hartman表示,他对使用Rust为Linux内核开发驱动程序持开放态度,因为“它们是内核源代码中依赖树的‘末叶’。它们依赖于核心内核功能,但没有什么取决于他们。“在2020年(虚拟)LinuxPlumbers大会上,顶级Linux内核开发人员讨论了Linux的未来,已经有将Rust作为内核的第二语言引入的想法。尽管LinusTorvalds确信Linux最终不会用Rust编写。但是,那不是目标。没有人会用Rust重写内核的2500万行C。在Rust语言负责人JoshTriplett和谷歌工程师NickDesaulniers的带领下,他们在内核中提出了一种系统级Rust语言。为什么?因为它比C安全得多,尤其是在处理内存错误方面。正如微软首席云开发倡导者RyanLevick所解释的那样,“Rust是完全内存安全的。”由于大约三分之二的安全问题可以追溯到内存处理不当,因此这是一项重大改进。此外,“Rust通常可以在不增加任何运行时开销的情况下防止这些问题,”Levick说。虽然Torvalds鼓励以缓慢但稳定的方式将Rust引入Linux,但他也表示,将Rust接口用于驱动程序和其他非核心内核程序是有意义的:“我相信它会发生。它可能不是Rust,但我们编写这些类型的东西会有不同的模型,C不会是唯一的模型。”Linux内核维护者MiguelOjeda此前曾表示,“该项目尚未完成,大部分工作尚未完成。但如果高层维护人员接受当前的更改并希望我们在内核中工作,我们就准备好了进入主线。”不过现在工作进展顺利。我希望在2022年的某个时候在Linux内核中看到第一个Rust代码。