Geek新鲜事-初版的Rust支持已合并到Linux内核

Posted rayylee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Geek新鲜事-初版的Rust支持已合并到Linux内核相关的知识,希望对你有一定的参考价值。

1. 初版的Rust支持已合并到Linux内核

初始的 Rust 基础设施代码已合并到 Linux 6.1 内核的主线 Git 代码树中[1]。Linus 在几周前的内核峰会上就已表达过这样的计划 ,人们也普遍预计这会发生,但就在本周末,仍有一些 Linux 用户对 Rust 编程语言支持 Linux 内核的想法持不同意见。不过现在它已经落地了。

在合并之前,来自谷歌的 Linux 内核工程师 Kees Cook 在 PR 中写道,希望 Linus 能在 Linux 6.1-rc1 中合并对 Rust 的初始支持,因为其代码树已在 linux-next 中存在了一年半。它已根据内核维护者峰会的反馈进行了更新,并获得了的 Reviewed-by: 标签。他们的计划是,一旦这个初始的基础设施系列落地,代码树就会切换到标准的 non-rebasing 实践。这些内容是在 Linux 内核中构建 Rust 代码的绝对最低要求,还有更多接口(和驱动程序)正在开发中。

初始的 12.5k 行新代码只提供了底层的基础设施和一些非常基础的集成,据称未来的 PR 将添加更多的子系统抽象、多个 Rust 编写的驱动程序等等。目前,构建具有 Rust 支持的 Linux 内核仍然是可选的。

2. 第17届CLK大会完整议程全公布

自 2006 年以来,在国内 Linux 技术爱好者和行业公司的鼎力支持下,中国 Linux 内核开发者大会已走过 16 个年头,是中国 Linux 内核领域最具影响力的峰会之一。今年的中国内核开发者大会依然秉承历届理念,以“自由、协作、创新”为理念,以推动和普及开源技术为使命。旨在促进国内 Linux 内核开发爱好者的相互学习与交流,促进共同成长。

10月22日,第十七届中国内核开发者大会[2]将在这个微凉的初秋与大家在湖南长沙相聚。CLK 大会由清华大学、Intel、华为、阿里云、富士通南大、迪捷软件、腾讯云、OPPO、字节跳动共同举办。

3. Linux6.x第一个长期支持版本

Linux 6.1有望成为年度LTS内核核版本[3],鉴于 Linux 每年都会有一个 LTS 版本发布,目前不少人都在猜测今年的 LTS 版本到底是已经发布的 6.0 还是计划于今年 12 月发布的 6.1。

根据目前 Linux 维护者 Greg Kroah-Hartman 的说法来看,Linux 6.1 将更有可能成为今年的 LTS 版本。

Greg Kroah-Hartman 表示:

我通常会选择每年的最后一个内核版本(last kernel of the year),根据正常的发布周期,Linux 6.1
将会是这个内核版本。但是,在它发布之前我无法做出什么承诺。
– Greg Kroah-Hartman

根据正常的时间表,Linux 6.1-rc1 将于 10 月 16 日发布,而 Linux 6.1 稳定版则可能在 12 月 4 日或 11 日左右发布。因此,除非 Linux 6.1 的开发出现一些意外状况导致无法准时推出,否则 Linux 6.1 将会在今年正式推出,按照传统 Linux 6.1 将会成为下一个年度 LTS 版本。

4. 微软Azure CTO呼吁停用C/C++,请用 Rust

9 月 20 日,微软 Azure 现任 CTO、Sysinternals 主要开发者 Mark Russinovich 在其个人推特账号发表动态称是时候停止使用 C/C++启动任何新项目,并建议在需要使用 noc-GC 语言的场景下使用 Rust 编程语言[4]。

Rust 由 Graydon Hoare 设计,而后在 Mozilla 成型,Rust 设计时借鉴了许多 C++ 的设计思想如并发特性等,也以高性能著称,还实现了内存安全。2015 年 Rust 作为 C/C++ 的替代品开始引起人们的关注,正因如此,Rust 也经常被拿来与 C++ 进行比较,开发者也经常因为 Rust 还是 C++ 更好而争论。

5. System76新操作系统桌面将使用Rust GUI取代GTK

System76 一直在开发他们自己的 COSMIC 桌面,作为他们在 Ubuntu 基础上构建的 Pop!_OS Linux 发行版的下一个演变。有趣的是,对于这个用 Rust 编写的大型 COSMIC 桌面项目,他们决定不再使用 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包[5]。

过去一年里,UX 团队一直在精心设计小部件和应用程序。我们现在正处于工程团队决定 COSMIC 的 GUI 工具包的关键时刻。经过去年的深思熟虑和实验, 工程团队决定使用 Iced 而不是 GTK 。

Iced 是一个原生的 Rust GUI 工具包,它足够快的进展已经满足 COSMIC 的使用需求。开发团队已经使用 GTK 和 Iced 中编写了各种 COSMIC 小组件以供比较。与 GTK 相比,Iced 的最新开发版本具有非常灵活、富有表现力和直观的 API。它在 Rust 中使用起来十分自然,任何熟悉 Elm 的人都会欣赏它的设计。

6. AlphaZero 矩阵乘法算法登 Nature 封面

下围棋碾压人类的AlphaZero,开始搞数学算法了,先从矩阵乘法开始!

在2022年10月DeepMind团队发表在Nature上的论文中,介绍了 AlphaTensor,这是第一个用于为矩阵乘法等基本计算任务发现新颖、高效、正确算法的AI系统。

在Nature的新论文中,探讨了现代人工智能技术如何推进新矩阵乘法算法的自动发现。AlphaTensor发现了在许多矩阵大小上比现有技术水平更有效的算法。人工智能设计的算法优于人类设计的算法,这是在算法发现领域的一个重大进步。AlphaTensor是第一个用于发现新的、高效的、可证明正确的矩阵乘法等基本任务算法的AI系统[6]。这为数学领域一个长达50年的开放性问题——如何寻找两个矩阵相乘的最快方法——给出了答案。

7. 在浏览器中通过WebAssembly运行虚拟机

v86是一个在浏览器中模拟虚拟机的项目[7],它模拟 x86 兼容的 CPU 和硬件。机器码被翻译成运行时的 WebAssembly 模块以提升性能。目前实现的特性主要包括:

  • 兼容x86的CPU。指令集大约是 Pentium III 级别,包括完整的SSE2支持,目前还缺少某些功能。

  • 浮点单元 (FPU)。使用 Berkeley 进行计算SoftFloat 库。

  • 软盘控制器 (8272A)。

  • 一个 8042 键盘控制器,PS2鼠标支持。

  • 一个 8254 可编程间隔定时器 (PIT)。

  • 8259 可编程中断控制器 (PIC)。

  • 部分 APIC 支持。

  • CMOS 实时时钟 (RTC)。

  • 具有 SVGA 支持和 Bochs VBE 扩展的通用 VGA 卡。

  • PCI 总线。功能不完整。

  • IDE 磁盘控制器。

  • NE2000 (8390) PCI 网卡。

  • virtio 文件系统。

  • SoundBlaster 16 声卡。


参考:

[1]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8aebac82933ff1a7c8eede18cab11e1115e2062b

[2]http://www.ckernel.org/news

[3]https://lore.kernel.org/lkml/Yz%2FZWBeNZvKenEVM@kroah.com/

[4]https://www.theregister.com/2022/09/20/rust_microsoft_c

[5]https://www.reddit.com/r/pop_os/comments/xs87ed/comment/iqjc35b/?utm_source=reddit&utm_medium=web2x&context=3

[6]https://www.nature.com/articles/s41586-022-05172-4

[7]https://github.com/copy/v86](https://github.com/copy/v86

以上是关于Geek新鲜事-初版的Rust支持已合并到Linux内核的主要内容,如果未能解决你的问题,请参考以下文章

Geek新鲜事-初版的Rust支持已合并到Linux内核

抢先一步,Rust构建版支持直接编译WebAssembly

Rust 学习总结—— 初识 Rust,作为新势力它的前景如何?

为什么说 Rust 是编程的未来?

如何使用 rust 写内核模块

算法leetcode|23. 合并K个升序链表(rust重拳出击)