有一个激动人心的消息,Miguel Ojeda 发布了最新的补丁系列,将 Rust 语言支持引入 Linux 内核。“Rust for the Linux kernel”补丁现在已经到了第六版,用于为内核添加第二种可选语言所需的基础设施,并继续添加更多示例代码/基本功能,以展示这种内存安全的使用-专注于内核目的的语言。

Rust for Linux 的努力继续保持强劲势头,许多开发人员和组织对在内核中使用 Rust 代码的能力很感兴趣,特别是在容易出现内存安全问题的领域。随着今天 v6 补丁的发布,工具链支持已针对 Rust 1.60 进行了更新,支持在内核中运行文档测试,以及其他 Rust 基础设施改进。

当谈到内核中的 Rust 代码使用时,网络支持的开始是在这个补丁系列中找到的。“net”模块支持 Namespace、SkBuff、Ipv4Addr、SocketAddrV4、TcpListener 等类型。还有对异步内核编程的“异步”支持的开始。当前状态已经用于允许异步 TCP 套接字代码。新的 Rust 代码还增加了对网络数据包过滤器和其他新功能的支持。

在这个 Rust for Linux v6 系列中,Rust 支持仍然被认为是“实验性的”,但足够好,内核开发人员可以开始为其他内核子系统开发 Rust 抽象,并在需要时将更多驱动程序移植到 Rust。

通过这个补丁系列,我们可以了解更多关于 Linux 内核更新的 Rust 代码的详细信息。Rust 内核的工作目前达到 379K 行代码,包括基础设施、到目前为止开始的子系统抽象、示例代码,以及将一些 Android 和 GPIO 驱动程序代码转换为 Rust 作为附加示例。

发表评论