除了RUST,还有国产架构:Linux6.1内核稳定版首发布! 译文 精选

  • A+
所属分类:轻松一刻
摘要

​编译丨千山12月11日,Linus Torvalds发布了Linux6.1内核稳定版,并迎来了一个工作量巨大如地狱般的Linux6.2合并窗口。目前在内核官网已经可以找到相应文件。

​编译丨千山

12月11日,Linus Torvalds发布了Linux6.1内核稳定版,并迎来了一个工作量巨大如地狱般的Linux6.2合并窗口。目前在内核官网已经可以找到相应文件。

据悉,每个Linux内核版本发布之后都会留两周时间,贡献者在此期间提交他们希望在下一个版本中看到的代码。Linux 6.1的发布意味着窗口将在12月26日,即圣诞节次日关闭。而且Torvalds透露,他将在假期之前旅行,因此准备时间会比平常更少。

除了RUST,还有国产架构:Linux6.1内核稳定版首发布! 译文 精选

来源:互联网

1、重要升级:初始的Rust语言支持

值得注意的是,在最新版本中,Linux6.1进行的一个重要升级在于初始的Rust语言支持。尽管这一功能仍在构建中,不过这也意味着,在可见的将来,Linux的历史将翻开崭新的一页——除了C之外,开发人员将第一次能够使用另一种语言Rust进行内核开发。

在近几年的讨论中,是否在Linux内核中引入Rust多次成为议题。不过包括 Torvalds在内的一众关键人物均对此表示了期待。

早在2019年,Alex Gaynor和Geoffrey Thomas就曾于Linux Security Summit安全峰会上进行了演讲。他们指出,在Android和Ubuntu中,约有三分之二的内核漏洞被分配到CVE中,这些漏洞都是来自于内存安全问题。原则上,Rust可以通过其type system和borrow checker所提供的更安全的API来完全避免这类错误。简言之,Rust比C更安全。

谷歌Android团队的Wedson Almeida Filho也曾公开表示:“我们觉得Rust现在已经准备好加入C语言,作为实现内核的实用语言。它可以帮助我们减少特权代码中潜在错误和安全漏洞的数量,同时很好地与核心内核配合并保留其性能特征。”

当前,谷歌在Android中广泛使用Rust。在那里,“目标不是将现有的C/C++转换为Rust,而是随着时间的推移,将新代码的开发转移到内存安全语言”。这一言论也逐渐在实践中得到论证。

“随着进入Android的新内存不安全代码的数量减少,内存安全漏洞的数量也在减少。从2019年到2022年,相关漏洞占比已从Android总漏洞的76%下降到35%。2022年,在Android漏洞排行中,内存安全漏洞第一次不再是主因。”

固然某些东西更安全,但并不意味着每个人都想采用它。毕竟,开发人员已经花了近30年的时间在C语言中开发Linux,开发人员都担心将Rust引入Linux所要花费的大量工作。举个例子,为了让Rust Linux NVMe驱动程序工作,需要70个非标准的Rust扩展。

对此,Torvalds在今年早些时候也做出了回应。“请不要担心。Rust不会在这十年的任何时候取代内核中的C。”

正如Rust on Linux的主要开发者Miguel Ojeda所提到的,“内核是一个庞大的项目,有很多利益相关者。从一开始,我们就很明确,在内核中添加第二种‘主’语言将面临技术和管理挑战。”他解释说:“你将在Linux内核中看到的第一个Rust工作将是‘子系统的 Rust抽象以及编写驱动程序和其他模块’。”

目前来说,Linux 6.1对于Rust的支持仍处于初级阶段,没有任何面向最终用户的Rust功能。可以说,Rust将正式使Linux成为一种双语言操作系统,但这种演化进程是缓慢的,对内核开发人员来说这种改变并不会造成极大的不适感。

2、新功能:添加MGLRU、进一步加大对国产LoongArch CPU架构的支持

除了初始的Rust语言支持,Linux 6.1内核的另一个新增功能是MGLRU,即Multi-Generational Least-Recently-Used。据悉,它可以优化页面回收机制,并在重内存负载情况下提高性能,不过默认情况下不会启用。

其他方面,Linux 6.1还集成了对Btrfs文件系统性能的一系列改进、新的AMD平台管理框架、各种开源图形驱动程序改进、Kernel Memory Sanitizer、Maple Tree数据结构的引入以及许多其他硬件驱动程序工作。

值得一提的是,新版本还进一步提升了对国产LoongArch架构CPU的支持。

LoongArch是龙芯中科推出的自研处理器架构,该架构基于龙芯基础指令集系统,并有向量指令、虚拟化、二进制翻译等扩展部分。此次Linux 6.1加大支持能够从底层提升基于Linux的国产发行版系统对于国产硬件的支持与适配性。

3、是否是LTS版本,仍有待观望

此外,在本次版本更新的公告中并没有提及Linux 6.1是否是LTS版本。据Linux内核维护者Greg Kroah-Hartman描述,通常来说,每年的最后一个内核版本会成为Linux内核的LTS。如今Linux 6.1赶在年尾发布,惯例来说它就是LTS版本。

但也有人提出异议。Carl Dasantas谈到,因为Linux 6.1引入了Rust,目前很多社区依旧对Rust持保留态度,这种犹豫往往会带来变数。相较来说,Linux 6.0或5.19更合适作为LTS版本。

参考链接:

https://www.theregister.com/2022/12/11/linux_6_1/

https://www.theregister.com/2022/12/09/linux_kernel_61_column/

https://new.qq.com/rain/a/20221212A03RAM00

  • 我的微信公众号
  • 扫一扫关注
  • weinxin
  • 我的新浪微博号
  • 扫一扫关注
  • weinxin
小辉博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: