linus 对 rust 进 kernel,到底啥态度呢?

229 天前
 zzz22333

之前看帖子说,linus 反对 rust 进内核,今天早上看到一个新帖子:

Christoph Hellwig 离开 Linux DMA 维护组自从 Linus 接受 Rust 语言编写 Linux 内核之后,一直是讨论甚至争吵的焦点。在 Linus Torvalds 表明会接受一组用于内核 DMA 映射层的 Rust 抽象代码合并后,相关讨论逐渐平息。但这一决定导致 Christoph Hellwig 悄然辞去 DMA 映射代码的维护工作,Marek Szyprowski 将接任 DMA 维护者。有人认为 Hellwig 离职是因为 Linus 的决定剥夺了他对关键子系统的维护权力,他不愿继续负责无法自主决策的部分;也有人认为他只是不喜欢 Rust 代码,离职行为近乎幼稚。但实际上,Linus 表示 Hellwig 无需处理 Rust 代码,但也不能对其使用自己维护的 C 接口进行限制。传统上,维护者需负责子系统中所有树内用户相关问题,若 API 变动需修复所有受影响的用户代码,并处理相关错误报告。但对于 Rust 代码有特殊规定,C 代码变动导致 Rust 代码问题时,由 Rust 维护者负责修复 。有人认为这打破了长期以来的 Linux 主线政策,也有人认为维护者不应拥有绝对否决权,应平衡各方利益。

似乎又接受了 rust 进 kernel ,有没有大佬科普下呢?

3768 次点击
所在节点    分享发现
30 条回复
GuangXiN
227 天前
@minami #14 我认为 DMA 的 C API 是上游,对此 API 的 Rust 封装是下游。如果上游对 API 作出不兼容的修改导致下游出问题,由下游负责适配修改应该没什么问题吧?
zzz22333
227 天前
@GuangXiN #21 按照这个理解的话,就是 rust 进不了 kernel 上游,下游随便他们玩。
GuangXiN
227 天前
@zzz22333 你很难要求老的维护都一夜之间全都接受 Rust 。想想以前 Rust 根本进不了内核,只能在用户态搞,后来进了内核也只能写写设备驱动,关键模块还是 C 提供 API 。但总的大趋势是 Rust 一直在慢慢向上游渗透,下一步也许会有些关键的内核模块被 Rust 重写。
minami
227 天前
@GuangXiN 热知识,”我认为“三个字没有任何价值,别忘了搞开源是用爱发电,不想干可以直接撂挑子,没人可以强迫另一个人干他不想干的事情
zzz22333
226 天前
@GuangXiN #23 拭目以待吧
zwy100e72
226 天前
@levelworm C 只是语言简单,内存管理等概念其实是隐含在 malloc / free 等系统调用里的,如果接受带 GC 的语言,新人应该从 java / c# / python / go 等上手,不带 gc 的语言可以从 rust 上手。只是 Rust 本身会比较复杂,上手难度比较高。
levelworm
226 天前
@zwy100e72 #26
这个是没错,不过学校里第一门系统编程语言都是 C 吧?
zwy100e72
225 天前
@levelworm 计算机学科是这样的,我理解也是因为语法简单,方便后面引入内存管理,文件 IO 之类的概念

从 python 等入手是面向非计算机学科,目标是解决问题或者拿编程吃饭的自学人员的 :)
GuangXiN
223 天前
@minami #24 想撂挑子就撂呗,拒绝 Rust 的人撂挑子了,自然有不拒绝的补上。
minami
223 天前
@GuangXiN #28 6 ,那除了祝好运外确实没啥好说的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1115956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX