Linux 内核维护者:将 Rust 和 C 混合使用如同"癌症"

3个月前 科技 18观看
摘要 开发者试图将 Rust 代码添加到 Linux 内核时,持续面临来自内核维护者的反对。这些维护者认为使用多种编程语言是一种不受欢迎且具有风险的复杂做法。去年 9 月,当 Microsoft 软件工程师 Wedson

开发者试图将 Rust 代码添加到 Linux 内核时,持续面临来自内核维护者的反对。这些维护者认为使用多种编程语言是一种不受欢迎且具有风险的复杂做法。No4喜好网-记录每日喜好的科技时尚娱乐生活

去年 9 月,当 Microsoft 软件工程师 Wedson Almeida Filho 因为对"非技术性的无聊事务"感到不满而退出 Rust for Linux 项目时,这种担忧就已经浮出水面。这种"非技术性的无聊事务"可以理解为与持不同目标者合作的困难。No4喜好网-记录每日喜好的科技时尚娱乐生活

上个月,当一个允许用 Rust 编写的设备驱动程序调用主要基于 C 语言的内核核心 DMA API 的抽象提案遭到内核维护者 Christoph Hellwig 的反对时,这个问题再次激化。No4喜好网-记录每日喜好的科技时尚娱乐生活

具体来说,有人提交了一个补丁,允许 Rust 驱动程序使用 DMA API 的 dma_alloc_coherent() C 函数来分配和映射大内存区域,以供硬件进行直接内存访问。No4喜好网-记录每日喜好的科技时尚娱乐生活

Hellwig 在 Linux 内核邮件列表中写道:"请不要在 kernel/dma 中放置 Rust 代码。"尽管据我们所知,该补丁是将代码添加到 Linux 源代码树的 rust/kernel 部分,而不是 kernel/dma。No4喜好网-记录每日喜好的科技时尚娱乐生活

Rust for Linux 项目的 Miguel Ojeda 请 Hellwig 提出替代方案。No4喜好网-记录每日喜好的科技时尚娱乐生活

Hellwig 回复说:"将包装器保留在你们自己的代码中,而不是让别人的生活变得痛苦。"他进一步论述说,"DMA API 的接口应该保持在可读的 C 代码中,而不是奇怪的绑定中,这样它才能保持可搜索和可维护性。"No4喜好网-记录每日喜好的科技时尚娱乐生活

当被参与 Rust for Linux 项目的 Red Hat 软件工程师 Danilo Krummrich 质疑时,Hellwig 明确表示他就是不愿意处理 Rust 代码。No4喜好网-记录每日喜好的科技时尚娱乐生活

"不要强迫我处理你们的新潮语言,"他写道。"维护多语言项目是一件令人头疼的事,我不想处理。如果你想使用 C 以外的语言,无论是汇编还是 Rust,你都要编写 C 接口,并自己处理不匹配的问题。"No4喜好网-记录每日喜好的科技时尚娱乐生活

作为回应,Krummrich 解释说,Rust for Linux 工作组正在创建抽象 C API 的 Rust 代码,供所有 Rust 驱动程序使用,并由 Rust 开发者维护。换句话说,C 端保持不变,Rust 驱动程序使用对 C 代码的抽象,这些抽象由 rust/kernel 中的团队维护,这比让驱动程序拥有各自的 C 绑定要好。No4喜好网-记录每日喜好的科技时尚娱乐生活

但 Hellwig 似乎对单独维护 DMA Rust 抽象不感兴趣。他解释说他不想要另一个维护者:No4喜好网-记录每日喜好的科技时尚娱乐生活

"如果你想通过跨语言代码库使 Linux 变得无法维护,那就在你的驱动程序中这样做,这样你就必须自己处理,而不是将这种癌症扩散到核心子系统。(这里的癌症明确指的是跨语言代码库,而不是 Rust 本身,以避免引发争议。)"No4喜好网-记录每日喜好的科技时尚娱乐生活

技术史研究者可能记得,2001 年时任 Microsoft CEO 的 Steve Ballmer 也将 Linux 比作癌症。"Linux 是一种癌症,从知识产权的角度来说,它会附着在它接触的一切事物上,"Ballmer 说道,那时的 Linux 还没有演变成 Windows Subsystem for Linux。No4喜好网-记录每日喜好的科技时尚娱乐生活

Hellwig 继续论述说,让其他人将 DMA 一致性分配器的 Rust 抽象层作为单独的组件来维护并不能改善情况,反而会阻碍内核的可维护性:No4喜好网-记录每日喜好的科技时尚娱乐生活

"每增加一点其他语言的渗入都会大大降低内核作为一个整体项目的可维护性。Linux 之所以能存活这么久,唯一的原因是没有内部边界,而添加另一种语言完全打破了这一点。你可能不喜欢我的答案,但我会尽我所能阻止这种情况。这不是因为我讨厌 Rust。虽然它不是我最喜欢的语言,但它绝对是最好的新语言之一,我鼓励人们在合适的新项目中使用它。我不希望它出现在我需要维护的庞大 C 代码库附近。"No4喜好网-记录每日喜好的科技时尚娱乐生活

Ashai Linux 项目负责人 Hector Martin 表示,他认为 Hellwig 的言论违反了行为准则,但他怀疑是否会采取任何纪律处分。No4喜好网-记录每日喜好的科技时尚娱乐生活

Martin 认为 Rust for Linux 开发者应该忽略 Hellwig 的担忧,直接向内核负责人 Linus Torvalds 提交补丁请求批准:No4喜好网-记录每日喜好的科技时尚娱乐生活

"如果 Linus 不对这个讨论线程做出权威回应,Miguel 和其他 Rust 开发者应该在补丁经过审查并准备就绪后直接合并它,忽略 Christoph 公然破坏项目的企图。如果 Linus 接受这个 pull request,那么 Christoph 说什么都无关紧要。如果 Linus 不接受,那么 Rust for Linux 项目实际上就陷入停滞,直到 Linus 或 Christoph 采取行动。其他一切都是在绕圈子。"No4喜好网-记录每日喜好的科技时尚娱乐生活

为什么选择 RustNo4喜好网-记录每日喜好的科技时尚娱乐生活

Linux 内核于 2022 年 10 月 3 日添加了对 Rust 代码的支持,此前不久 Microsoft Azure CTO Mark Russinovich 曾主张新的编程项目应该使用 Rust 而不是 C 或 C++。No4喜好网-记录每日喜好的科技时尚娱乐生活

"为了安全和可靠性,业界应该宣布这些语言已经过时,"Russinovich 说。No4喜好网-记录每日喜好的科技时尚娱乐生活

他的理由是,Rust 代码可以编写得避免内存安全漏洞(如缓冲区溢出),这些漏洞困扰着 C 和 C++ 代码,并构成了大型项目中大多数严重漏洞。这一观点已经得到了世界各地政府安全组织的支持。No4喜好网-记录每日喜好的科技时尚娱乐生活

那些编写 C 和 C++ 代码的人已经注意到了对 Rust 日益增长的兴趣,并承认需要解决内存安全问题。因此,除了像 DARPA 的 TRACTOR 这样将 C 代码自动转换为 Rust 的项目外,还有许多项目正在进行中,如 TrapC、FilC、Mini-C 和 Safe C++,旨在使 C 和 C++ 更不容易受到内存漏洞的影响。No4喜好网-记录每日喜好的科技时尚娱乐生活

在 Filho 去年宣布退出 Rust for Linux 后不久,Linux 掌门人 Linus Torvalds 在维也纳 Linux 基金会开源峰会上谈到了 C 和 Rust 开发者之间的摩擦。No4喜好网-记录每日喜好的科技时尚娱乐生活

"很明显,有些人就是不喜欢 Rust 的概念,也不喜欢 Rust 侵入他们的领域,"Torvalds 说。"人们甚至在谈论 Rust 集成是一个失败...我们做这件事才几年,现在说这些还为时过早,但我也认为,即使它最终成为一个失败 —— 我不认为会失败 —— 这也是学习的方式。"No4喜好网-记录每日喜好的科技时尚娱乐生活

到目前为止,Linux 开发者社区已经认识到 Rust 并不总是受欢迎的。No4喜好网-记录每日喜好的科技时尚娱乐生活

展开全文
猜你感兴趣
抖音电商拐点已至,从美妆行业开始跌落?

抖音电商拐点已至,从美妆行业开始

前几日,抖音首次公布了“双11”大

11-19 64阅读
研究人员开发自动识别古代楔形文字片的AI软件

研究人员开发自动识别古代楔形文

11月2

11-19 72阅读
‌TCL华星宣布印刷OLED量产及APEX技术品牌‌

‌TCL华星宣布印刷OLED量产及APE

11-19 59阅读
奔驰新款EQE 500 4MATIC纯电轿车上市:售47.8万起,全系四驱

奔驰新款EQE 500 4MATIC纯电轿车

11-19 62阅读
2025款宝骏悦也Plus发布:配备灵眸智驾2.0 Max,定价10.38万

2025款宝骏悦也Plus发布:配备灵眸

11-19 65阅读
为什么说当下是最适合李子柒回归的时候?

为什么说当下是最适合李子

作者 / 向   向运营 / 狮子座携“

11-19 63阅读
中国电影家协会联合灯塔研究院发布《2024中国电影观众变化趋势报告》

中国电影家协会联合灯塔研

11月15日消息,11月15日,2024年中国金鸡百

11-19 68阅读
ENHYPEN的第二张正规专辑后续《ROMANCE:UNTOLD-daydream-》刷新了历代K-POP后续专辑中创下了最高初动销量新纪录

ENHYPEN的第二张正规专辑

18日,据Hanteo Chart榜单数

11-19 67阅读
《逆天奇案》寡佬是谁?钟嘉瑜最后和谁在一起了?

《逆天奇案》寡佬是谁?钟嘉

在《逆天奇案》中,寡佬是一名警察,

11-19 57阅读
央视剧评|《西北岁月》:书写西北革命史的壮丽篇章

央视剧评|《西北岁月》:书写

  正在总台央视综合频道(CCTV-1)黄金

11-19 66阅读
《天穗之咲稻姬外传》确定制作 本篇Steam平台限时促销中

《天穗之咲稻姬外传》确定

Marvelous Inc.(代表取缔役社长:佐藤澄宣

11-19 67阅读
与柴犬开启治愈探险之旅!异世界动作冒险新游《妖怪之国》登陆Steam

与柴犬开启治愈探险之旅!异

在这个繁忙喧嚣的现代社会,我们时常渴

11-19 74阅读
N网怎么开启18+开关?NEXUSMODS开启18+开关的详细操作教程

N网怎么开启18+开关?NEXUS

N网怎么开启18+开关?N网全称NEXUSMODS,是

11-19 93阅读
原神已然来临的花神诞祭任务攻略

原神已然来临的花神诞祭任

原神已然来临的花神诞祭是原神须弥地区

11-19 64阅读