linux内核迎来5.19大周期!

Linus Torvalds于7月31日晚发布了Linux Kernel 5.19稳定版。

与大多数内核周期一样,Linux 5.19是另一个大周期,除了错误Bug和安全修复,它带来了更多优化——改进的硬件支持和若干新功能。

值得注意的是,Linus Torvalds首次使用搭载了Asahi Linux 的苹果 MacBook对该内核进行了发布。

用MacBook发布

在Linux Kernel 5.19更新日志中,Linux Torvalds表示,在他个人看来,最有趣的部分就在于,他是在一台ARM64笔记本上进行了发布。

“这是我期待已久的事情,而今终于变成了现实,多谢Asahi团队。”

据悉,Asahi Linux项目旨在将Linux移植到Apple Silicon Mac,此前已成功在M1 MacBook

Air笔记本电脑上运行,并开放了Asahi Linux的下载安装。

图片

图源:Aasahi Linux官网

尽管此前ARM64设备就可以运行Linux,但直到现在,它也没有真正成为一个可用的开发平台。换言之,Ashai项目之前,其实用性都不太令人满意。如今,对Linux的开发人员来说,Asahi

Linux让arm驱动的计算机有了新的可能,这一点尤其让人感到振奋。

图片

图源:reddit论坛评论

Torvalds提到,这是他第三次在Linux开发中使用苹果硬件。很多年前,他曾在ppc970机器上做过PowerPC开发;然后是十多年前,MacBook

Air是彼时唯一的轻薄本;第三次就是现在。

不过他也承认,现阶段并没有将ARM64设备用于任何真正的工作,只是将其用于版本测试、启动以及现版本的发布。

但从总体趋势来看,Linux完全拥抱ARM64或许也只是时间问题。

更新重点:龙芯LoongArch登陆

在本次版本更新中,Linux Kernel 5.19的新功能、新特性主要包括以下重点:

1、硬件支持

  • 龙芯LoongArch CPU架构登陆内核

  • 继续为AMD Zen 4处理器做准备,包括新的IBS扩展和其他改进

  • 改善对AMD RDNA 3的支持

  • 继续对英特尔DG2/Alchemist的启用工作

  • 为Alder Lake添加英特尔Idle 驱动

  • 初步支持Raptor Lake P集显

  • 支持Zstd压缩固件

  • 取消对瑞萨H8/300 CPU架构的支持

2、兼容性

  • 英特尔TDX主机对信任域扩展的支持得以实现

  • AMD SEV-SNP在主机方面的支持终于被主流化

  • 继续启用下一代AMD Radeon显卡的工作,包括兼容所有RDNA3消费者显卡和AMD Instinct MI300 / GFX940加速器

3、性能优化

  • 添加新的“in-field扫描”机制来检测英特尔CPU中的问题

  • EROFS只读文件系统已更新为使用fscache层来提高运行大量容器时的性能

  • 为virtio-blk驱动程序添加了轮询I / O支持,以将延迟降低多达10%

4、安全性

  • 改进锁定模式以防止特权进程在内核控制之外更改内核内存

  • 增加对Landlock安全模块中规则支持以控制文件的重命名

  • 添加了Clang编译的结构随机化强化功能,并进一步改进了随机数生成器

今年6月初,Linux将龙芯LoongArch CPU架构的大部分代码并入了Linux 5.19,包括最终的系统调用接口和所有核心功能,算是完成了初步支持。这一进展一度引起关注。

龙芯最早是基于MIPS64的CPU架构,后来再基于MIPS拓展了LoongISA指令集。去年龙芯3A5000正式发布时,龙芯中科推出了完全自主指令集架构 ——LoongArch。

就LoongArch而言,尽管其代码已经合并到了Linux主线内核中,但因为部分驱动代码还没有被主线化,所以还不能在实机上使用。不过,这一举措本身也标志着GNU/Linux开源社区对这一独立架构的认同,为LoongArch进入Glibc打开了大门。一旦100%自研的LoongArch实现对更多主流操作系统的兼容,对中国的信息安全产业来说,无疑是一个巨大的利好。

另外,在本次版本迭代中,Linux 5.19不再支持瑞萨H8/300,使其在一得一舍间支持的架构总数依旧保持不变。

下一个版本或许是6.0

乐于编译内核的用户现在可以从kernel.org网站下载Linux 5.19源代码压缩包。其他用户必须等待其发行版的维护者将内核升级到5.19版本,然后再做更新。

随着Linux内核5.19的推出,下一个内核版本合并窗口现已打开。因为下一版本可能会涉及到合并Rust这一重大更新,所以一众开发者对此也抱有很大期待。至于下一个版本叫5.20还是6.0,网友们多倾向于后者。

图片

图源:reddit论坛评论

因为Linus Torvalds在发布贴的脚注中提到,他可能将内核的下一个版本称为6.0,“因为我开始担心再次被大数字弄糊涂了”。

其实稍作回顾,可以发现,之前Linux 3.19版本结束后就直接跳到了4.0。虽然之后4.19版本后也出现了4.20这一版本号,但综合来说,Linux的版本号并不热衷于往“大数”堆。

诞生于1991年的Linux,活跃至今已有31年历史。在这段堪称漫长的岁月里,Linux不仅没有死去,甚至占据了PC操作系统的三王座之一,保持了旺盛的生命力。这与其源源不断的贡献者,与时俱进的更新频率,蓬勃发展的生态息息相关。

Linux作为全球最大的开源操作系统,由开源社区的贡献者维护,每6-10周发布一个新的内核版本。Git的诞生让开源项目的开发变得更有效率。在过去的十几年间,Linux内核的发布规律几乎保持着相对不变的节奏。技术何以不朽?无非滴水穿石、薪火相传尔。

  参考链接:

  https://www.theregister.com/2022/07/31/linux_5_19/

  https://kernelnewbies.org/Linux_5.19

  https://www.cnbeta.com/articles/tech/1298119.htm

  https://www.reddit.com/r/linux/comments/wd16w3/linux_kernel_519_released/