• 新增3.2万行代码,Linux内核有望在2022年正式支持Rust


    12月6日,Linux基金会正式发布2021年度报告,在报告中有这么一行字格外“傲慢”:“现在这个世界上,没有人能够在缺少Linux支持的环境下度过一天。”细想,在万物互联的互联网时代,Linux的确无处不在地运行着。

    Linux操作系统之上,C语言一直是Linux的主导语言,然而俗话说的好,十年河东,十年河西,在编程语言战场,Rust正在悄然兴起,并深受一线大厂们的青睐。
    在这里插入图片描述

    Rust为何会如此受宠,最大的原因莫过于其安全性。一直以来,微软、谷歌等大厂深受内存安全困扰,Linux内核漏洞也无法避之,而Rust恰好可以解决这方面困扰,并且能成为某个操作系统的支持语言,也一直是Rust的重要目标。为此,有关Rust取代C语言进入Linux内核的讨论悄然兴起。

    • 在2019年7月,微软表示Rust是C和C++的最佳替代方案;
    • 同年9月,Linux内核稳定版维护者Greg Kroah-Hartman表示可以接受用Rust开发Linux内核驱动程序;
    • 2020年3月,苹果表示将C代码移植到Rust上;
    • 2020年7月9日,Linux Plumbers 会议前(8月举办),Linux内核开发者开始认真讨论在内核中使用Rust的想法;
    • 2020年7月10日,Linux之父Linus回复Rust for Linux讨论:默认情况下可以启动支持,并表示Rust可以首先应用到驱动程序;
    • 2020年8月31日,Rust语言团队的联合领导者和长期Linux内核开发人员就Rust入驻Linux进行深入探讨,并表示:Linux内核不会用Rust重写,Rust将应用在Linux新代码上;
    • 2021年6月,谷歌强推Rust进驻Linux内核,与Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda签订合同;
    • 2021年7月4日,Linux内核团队发布添加Rust支持的“v1”补丁;
    • 2021年12月6日,Linux内核团队发布支持Rust 的“v2”补丁。

    据phoronix报道,到2022年,开发者有望看到Linux内核正式支持Rust。在12月6日发布的更新补丁中已经看到了Linux在基础实施方面对Rust的初步支持。Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda发布了支持Rust的“v2”补丁。

    由更新的软件包可知,目前Rust代码主要构建于Rust的稳定版本,而非之前beta版下的编译状态。此外还增加新的模块化选项,更严格的代码执行,启用了额外的Rust编译器诊断功能,为在内核上使用提供了新的抽象,促进了其他低级别的代码改进。

    更新后的Linux内核对Rust支持部分的新增代码约有32000行代码,涵盖了文档、Rust示例代码和相关基础实施代码。最新补丁可以在LKML上查找,大家可以前往审查与讨论。

    自从Linus同意后,Linux内核开发团队越来越多的小伙伴加入对Rust for Linux行列,Rust加入后也带来了诸多优势,比如可以降低内核贡献门槛,提供更多地内存安全保护等。与此同时,红帽与Arm、谷歌和微软也积极加入支持行列。

    参考链接:

    • https://www.phoronix.com/scan.php?page=news_item&px=Rust-Independence-Linux-Kernel

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

  • 相关阅读:
    【云原生 · Kubernetes】部署高可用 kube-controller-manager 集群
    “我转行做测试开发的这一年多,月薪5K变成了24K”
    美团面试题-Nacos配置中心动态刷新原理
    关于二叉树的算法(JavaScript)
    Redis核心设计原理(深入底层C源码)
    UDP网络编程
    acwing第77场周赛 前两题
    网络协议端口(信息安全工程师典藏版)
    Prometheus系列(一)安装
    vue中常用的两种路由模式
  • 原文地址:https://blog.csdn.net/mengyidan/article/details/121790126