发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

Linux 之父发话:Rust 即将出现在 Linux 内核中

  • 2022-06-23
  • 本文字数:1911 字

    阅读完需:约 6 分钟

Linux之父发话:Rust即将出现在Linux内核中

Linus Torvalds:Rust For The Kernel 可能会被合并到 Linux 5.20

 

当地时间 6 月 22 日上午,Linus Torvalds在 Linux 基金会开源峰会上发言称,Rust 有可能很快就会出现在 Linux 的内核中,最快是下一个内核周期。

 

Linus Torvalds 和 Dirk Hohndel 在开源峰会上的常规演讲/对话中,Linus 评论了内核中的Rust编程语言代码。

 

Torvalds 称,他们希望很快能将Rust编写的代码合并到内核中,甚至 Rust 可能出现在下一个版本中,即 Linux 5.20。

 

目前,还没有任何 Rust for Linux 拉取请求被发送或合并,但是用于基础设施、一些基本的示例驱动程序中时,内核的 Rust 启动代码已经开始稳定下来。

 

上个月看到最新发布的 Rust Linux 内核补丁使更多功能成型,此外还完成了审查。如之前多次提到,Linux 内核中的 Rust 支持在构建时仍然是可选的,具体取决于你是否需要支持或仅仅是在 Rust 代码中实现某些内核性能。

 

Linux 5.20 合并窗口将在 7 月底左右 Linux 5.19 稳定版发布后打开,届时我们就能知道 Rust PR 是否已经提交并登录到下一个内核版本中了。事情后续的进展如何并不会让大家感到惊讶,因为 Linus 已经送出了祝福。

 

Liunx 5.20 已经有了一些值得注意的性能优化,包括新的硬件支持、更多的 AMD 支持工作、RDNA3 有望在这一版内核中处于良好状态,我们也有可能会看到 MGLRU 主线以及其他一些预期的功能。

 

早在 2021 年底,Linux 内核和 Rust on Linux 的主要开发者 Miguel Ojeda 向 Linux Kernel 邮件列表提交了一个新补丁 (v2),推进了 Rust for Linux 的工作进展。


邮件内容指出,新的补丁将为 Linux 内核增加对 Rust 作为第二语言的支持,并且对 Rust 的整体支持进行了多项改进。具体来说,Rust 代码现在已经依赖于稳定的 Rust 编译器而不是之前的 beta 版本状态。Ojeda 称,接下来每次发布新的稳定 Rust 编译器时,Linux 上的 Rust 都会进行迁移。


展望未来,Ojeda 继续提到 “通过升级编译器,我们已经能够把我们使用的一些不稳定的特性从列表中删除。我们将继续升级,直到我们不再依赖任何不稳定的特性,到那时,我们可能要开始宣布支持 Rust 的最低版本,就像对 GCC 和 Clang 那样。”

 

现在看来,Ojeda 的想法距离成真不远了。

学术界和工业界的支持


随着 Rust 的兴起,许多开发人员越来越有兴趣在 Linux 内核中尝试 Rust。


2019 年,Alex Gaynor 和 Geoffrey Thomas 在 Linux Security Summit 安全峰会上进行了演讲,他们介绍了 Rust 内核模块的一个原型,并提出了在内核中采用 Rust 的理由。此次演讲重点是在安全问题上,其中指出在 Android 和 Ubuntu 中,约有三分之二的内核漏洞被分配到 CVE 中,这些漏洞都是来自于内存安全问题。原则上,Rust 可以通过其 type system 和 borrow checker 所提供的更安全的 API 来完全避免这类错误。


2020 Linux Plumbers Conference 上,Thomas 、Gaynor、Rust 语言团队的联合领导者 Josh Triplett 以及其他一些对此感兴趣的开发者以“Barriers to in-tree Rust”为主题,讨论了想要把 Rust 引入到 Linux 内核项目中作为一种可选的开发语言还需要解决的一些问题。其中 in-tree 是 Linux 术语,意思是与内核源代码树本身一起存储并与之一起构建内核模块。


与会者强调,他们并不是提议将 Linux 内核重写成 Rust,只是关注于走向一个可以用 Rust 编写新代码的世界。本次讨论集中在 Rust 支持的三个潜在关注点上:


  • 对现有 C API 的绑定(Binding to existing C APIs);

  • 架构支持(Architecture support);

  • 关于 Rust 和 C 之间 ABI 与内核的兼容性(ABI compatibility with the kernel)。

 

对此,Linux 之父 Linus Torvalds 也曾发表看法:Linux 最终不会用 Rust 编写,没有人会用 Rust 重写内核的 2500 万行 C,但是他也看到了 Rust 的优势,鼓励采用缓慢但稳定的方法将 Rust 引入 Linux,同时他表示将 Rust 接口用于驱动程序和其他非核心内核程序是有道理的。


此外,Ojeda 还在邮件中透漏继 ARM、谷歌和微软之后,红帽方面也表达了他们对该项目的支持意向。

有关 Rust 基金会


去年二月份,Rust 基金会宣布正式成立。


Rust 基金会是一个新的独立的非盈利组织,负责管理 Rust 编程语言及生态。该组织将致力于为那些管理和开发该项目的维护者提供支持。


Rust 基金会由 AWS华为谷歌微软和 Mozilla 联合成立,并承诺在两年的时间里,投入 100 万美元的预算,用于 Rust 项目的开发、维护和推广。


Rust 基金会临时执行董事,核心团队成员 Ashley Williams 当时表示,“这标志着 Rust 在多维度上都迈出了一大步,更重要的是,一些全球行业领先的公司做出了正式的财务上的预判:Rust 将是未来企业生产中不可缺少的技术。”

 

参考链接:


https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-5.20-Possible

2022-06-23 09:474801
用户头像
李冬梅 加V:busulishang4668

发布了 787 篇内容, 共 363.8 次阅读, 收获喜欢 990 次。

关注

评论 2 条评论

发布
用户头像
秀的一P,Rust for linux
2022-06-23 14:25
回复
用户头像
可是Rust的核心人员在上次的事件中不是都脱离组织了么
2022-06-23 09:56
回复
没有更多了
发现更多内容

GitHub开源:狗屁不通文章生成器

不脱发的程序猿

GitHub 开源 狗屁不通文章生成器

抱歉,“行业毒瘤”这个锅,低/无代码不背

陈思

低代码 无代码 低代码平台 无代码平台

华为云官网负责人明哥:我们是如何做到门面不倒,8个月挑战业界翘楚?

华为云开发者联盟

JavaScript node.js Serverless 云原生 大前端

单片机I/O控制方式(UART中断和DMA中断的区别)

不脱发的程序猿

嵌入式 单片机 GPIO的原理、特性 单片机I/O设备的控制方式

Flink+Clickhouse构建实时数仓的最佳实践

Wping

大数据 flink 实时数仓 Clickhouse

双非渣硕,是如何拿到苏宁、阿里的offer的?(分享学习心得)

Java 程序员 架构 面试

雀食蟀!Java Netty实战入门

北游学Java

Java Netty 网络 框架

华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案

华为云开发者联盟

数据库 opengauss 华为云 GaussDB 云数据库

test1

靠谱哥

微服务转型系列4:理念指导实践,厘清微服务建设的主要内容和顺序

BoCloud博云

微服务

音视频实战(6)- RTSP媒体协议流的录制方案及其覆盖策略详解

liuzhen007

音视频 5月日更 签约计划第二季

Golang command source code

escray

学习 极客时间 Go 语言 5月日更

Java开发5年,我为什么选择从蚂蚁金服离职?浅谈经历和经验!

Java架构追梦

Java 架构 面试 蚂蚁金服 经历分享

SecSolar:为代码“捉虫”,让你能更专心写代码

华为云开发者联盟

代码 华为云 CloudIDE 代码安全检测 SecSolar

真实的DevOps落地,应该是这样的 ↓

BoCloud博云

DevOps 敏捷开发

参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)

不脱发的程序猿

单片机 STM32微控制器 时钟树 STM32CubeMX STM32时钟配置

51CTO熊平:HarmonyOS是大势所趋

科技汇

🕋【Redis干货领域】彻底走进主从架构的世界(入门篇)

洛神灬殇

主从同步 Redis 核心技术与实战 5月日更 Redis系列专题 原理篇

音视频在智能手表上的应用

anyRTC开发者

音视频 WebRTC IoT RTC

python str模块

若尘

Python编程 str 5月日更

百信银行基于 Apache Hudi 实时数据湖演进方案

Apache Flink

大数据 flink

SpringBoot技术专题—来看看异步处理返回方案

洛神灬殇

Java WebAsyncTask 5月日更 AsyncContext DeferredResult

聊聊人像抠图背后的算法技术

华为云开发者联盟

hilens 抠图 工程 抠图算法 baseline

【死磕JVM】用Arthas排查JVM内存 真爽!我从小用到大

牧小农

JVM

KubeVela + KEDA:为应用带来“与生俱来”的弹性伸缩能力

阿里巴巴云原生

容器 开发者 云原生 监控 中间件

深度剖析 | 关于数据锁定和读取一致性问题

VoltDB

数据库 数据分析 5G

Nginx性能分析之gpreftools

运维研习社

nginx 性能分析 5月日更

这个好用的分布式应用配置中心,我们把它开源了

百度Geek说

分布式 大前端 服务器

Fluid 进入 CNCF Sandbox,加速大数据和 AI 应用拥抱云原生

阿里巴巴云原生

人工智能 容器 云原生 调度 弹性计算

灵魂拷问:后端业务开发要会用 K8s 到什么程度?

阿里巴巴云原生

容器 运维 云原生 k8s 存储

PyQt5 实现可空值的 QDateTimeEdit

一代咩神

Python PyQt QDateTimeEdit

Linux之父发话:Rust即将出现在Linux内核中_语言 & 开发_赵钰莹_InfoQ精选文章