IT技术之家

首页 > Android

Android

新增3.2万行代码,Linux内核有望在2022年正式支持Rust_不叫月红

发布时间:2022-10-24 18:00:32 Android 0次 标签:rust linux 开发语言
12月6日,Linux基金会正式发布2021年度报告,在报告中有这么一行字格外“傲慢”:“现在这个世界上,没有人能够在缺少Linux支持的环境下度过一天。”而在Linux操作系统之上,C语言一直是Linux的主导语言,然而俗话说的好,十年河东,十年河西,在编程语言战场,Rust正在悄然兴起,并深受一线大厂们的青睐。那Rust为何会如此受宠,最大的原因莫过于其安全性。一直以来,微软、谷歌等大厂深受内存安全困扰,而Linux内核漏洞也无法避之,而Rust恰好可以解决这一难题。据phoronix报道,到2022...

12月6日,Linux基金会正式发布2021年度报告,在报告中有这么一行字格外“傲慢”:“现在这个世界上,没有人能够在缺少Linux支持的环境下度过一天。”细想,在万物互联的互联网时代,Linux的确无处不在地运行着。

在Linux操作系统之上,C语言一直是Linux的主导语言,然而俗话说的好,十年河东,十年河西,在编程语言战场,Rust正在悄然兴起,并深受一线大厂们的青睐。

那Rust为何会如此受宠,最大的原因莫过于其安全性。一直以来,微软、谷歌等大厂深受内存安全困扰,Linux内核漏洞也无法避之,而Rust恰好可以解决这方面困扰,并且能成为某个操作系统的支持语言,也一直是Rust的重要目标。为此,有关Rust取代C语言进入Linux内核的讨论悄然兴起。

在2019年7月,微软表示Rust是C和C++的最佳替代方案;同年9月,Linux内核稳定版维护者Greg Kroah-Hartman表示可以接受用Rust开发Linux内核驱动程序;2020年3月,苹果表示将C代码移植到Rust上;2020年7月9日,Linux Plumbers 会议前(8月举办),Linux内核开发者开始认真讨论在内核中使用Rust的想法;2020年7月10日,Linux之父Linus回复Rust for Linux讨论:默认情况下可以启动支持,并表示Rust可以首先应用到驱动程序;2020年8月31日,Rust语言团队的联合领导者和长期Linux内核开发人员就Rust入驻Linux进行深入探讨,并表示:Linux内核不会用Rust重写,Rust将应用在Linux新代码上;2021年6月,谷歌强推Rust进驻Linux内核,与Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda签订合同;2021年7月4日,Linux内核团队发布添加Rust支持的“v1”补丁;2021年12月6日,Linux内核团队发布支持Rust 的“v2”补丁。

据phoronix报道,到2022年,开发者有望看到Linux内核正式支持Rust。在12月6日发布的更新补丁中已经看到了Linux在基础实施方面对Rust的初步支持。Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda发布了支持Rust的“v2”补丁。

由更新的软件包可知,目前Rust代码主要构建于Rust的稳定版本,而非之前beta版下的编译状态。此外还增加新的模块化选项,更严格的代码执行,启用了额外的Rust编译器诊断功能,为在内核上使用提供了新的抽象,促进了其他低级别的代码改进。

更新后的Linux内核对Rust支持部分的新增代码约有32000行代码,涵盖了文档、Rust示例代码和相关基础实施代码。最新补丁可以在LKML上查找,大家可以前往审查与讨论。

自从Linus同意后,Linux内核开发团队越来越多的小伙伴加入对Rust for Linux行列,Rust加入后也带来了诸多优势,比如可以降低内核贡献门槛,提供更多地内存安全保护等。与此同时,红帽与Arm、谷歌和微软也积极加入支持行列。

参考链接:

https://www.phoronix.com/scan.php?page=news_item&px=Rust-Independence-Linux-Kernel

https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-v2