Rust,Linux开发人员似乎对此表示赞同

编程语言 Rust一直致力于在Linux内核开发中取代C 正是随着Rust的成熟,一些开发人员对Linux内核中使用它的兴趣日益浓厚。

在虚拟会议中 Linux Plumbers 2020,微会议流程 通过LLVM 组织了关于公开问题的会议 和障碍 用于在Linux内核上上游接受Rust。

大家对这个话题的兴趣显而易见,因为本届会议是2020年活动最繁忙的一次。

那么我们现在应该用Rust语言重写整个Linux内核吗? 自2015年出现第一个稳定版本的Rust以来,该讨论并非从今天开始进行。

考虑到它提供的可能性 Rust,有人建议这样做。 今年,在八月份的Linux Plumbers会议上, 演讲者又有时间再讨论。

令人惊讶的是 他们似乎同意 一致没有 不是重写Rust中的现有代码,而是让内核开发继续使用Rust。 也就是说,他们设想了一个可以用Rust编写新代码段的世界。

本次会议以许多开发人员的先前工作为基础,包括去年在Linux安全峰会上Alex Gaynor和Geoffrey Thomas进行的演讲。

在会议上,他们介绍了他们在Rust内核模块原型上的工作,并主张在内核中采用Rust。

他们引用的工作表明,在Android和Ubuntu中分配给CVE的内核漏洞中大约有三分之二与内存安全性问题有关。

他们最终解释说 由于有了更安全的API,Rust可以完全避免此类错误 由您的系统类型和贷款验证程序启用。

这项研究成功说服了几位维护者 Linus Torvalds,他支持将Rust引入内核。 Rust语言团队的联合主席,长期的Linux内核开发人员Thomas和Gaynor,Josh Triplett以及其他感兴趣的开发人员参加了有关该主题的讨论。

在大部分时间进行讨论之前,他们简要介绍了他到目前为止的工作以及他的一些最初的想法和问题。

这些是内核中现有API的使用,体系结构支持以及有关Rust和C之间的ABI兼容性的问题。

实际上,他们最初认为 将Rust引入树结构必须尊重现有的C API。 

但是,每个人都认为细节中存在魔鬼,到目前为止,已完成的工作以及会议期间的对话都暴露出一些公开挑战。

例如,Linux大量使用了预处理器宏和内联函数,bindgen工具和Rust的外部函数接口不容易支持它们。

根据他们, 目前,Rust唯一成熟的实现是编译器 rustc,它通过LLVM发行代码。

Linux内核支持多种体系结构,其中许多体系结构都没有可用的LLVM后端。

就他本人而言,Triplett引用了他在Debian项目中的经验,建议将Rust添加到内核中将有助于增加对Rust的架构支持。 他提到在Debian中引入Rust软件有助于激励爱好者和利基体系结构的用户提高Rust支持,并且他希望增加内核支持以达到类似的效果。

特别是,他坚信具有LLVM后端的任何体系结构都将很快与Rust兼容。 讨论还将重点放在替代的Rust实现上,以作为获得更广泛的体系结构支持的途径。

会议结束时没有进一步的具体里程碑,但是似乎总体上对支持Rust Mods充满热情,并且对这种支持的一般要求也越来越认同。


发表评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   自动驾驶仪

    似乎是新时代的开始,不可移动的C出现了。

    你好,锈,再见莱纳斯·托瓦尔兹!