5 年了!Rust 终于在 Linux 内核中“转正”了
程序员的那些事·2025-12-18 01:41

Rust在Linux内核中的发展历程与现状 - 围绕是否将Rust引入Linux内核的争论持续数年,被视为对内核安全的潜在突破或对现有工程秩序的挑战[1] - 2025年Linux内核维护者峰会达成共识,Rust在Linux内核中的“实验阶段”正式结束,被明确认可为Linux主线内核的长期组成部分[2] - Rust for Linux项目始于2020年,初期定位克制,旨在评估Rust是否值得内核为其付出额外的复杂度成本,而非取代C或大规模重写内核[4] Rust在内核中取得认可的关键事实 - 自2022年以来,已有超过2万行Rust代码被合入Linux上游内核,表明其已成为持续演进的真实工程代码[5] - Rust编写的内核驱动已在真实设备中运行,例如Google Pixel系列手机的部分底层驱动,证明了其在生产环境中的可行性与安全性[5] - 围绕内核开发的Rust生态正在成熟,包括基础库、抽象层和工具链逐步完善,使得用Rust写内核代码具备可扩展性[5] 实验结束后的官方定调与未来工作 - 项目负责人Miguel Ojeda宣布,Rust支持在Linux v6.1版本合入主线,初衷是评估其是否适合内核开发,而2025年的峰会正式宣布实验结束[6] - 实验结束不代表完美,Rust在内核中的适配仍有大量工作要做,包括不同架构、内核配置以及GCC与LLVM混合构建的适配[6] - 一些组合方案,如GCC + LLVM混合构建以及即将到来的GCC原生Rust支持,目前仍具有一定实验性[6] - 方向已明确,Rust将长期留在Linux内核中[7] Rust驱动加速落地与行业影响 - 一批由Rust参与编写的重量级项目正在或即将进入Linux主线,包括面向Apple Silicon的Asahi GPU驱动、作为Nouveau继任者的Nova驱动(面向NVIDIA基于GSP的GPU)以及针对ARM Mali GPU的Tyr驱动[8] - 具体时间线:Asahi项目将在Linux 6.17中加入Devicetree schema支持,Nova驱动计划在Linux 6.19中完成初始启用,Tyr驱动已经能在Linux 6.18上启动GNOME桌面并运行基础游戏[8] - Linux内核对Rust“实验结束”的表态是一个明确信号,向公司、芯片厂商和开发者社区表明Rust是值得长期投入的方向,可能促使更多企业提供Rust培训,更多硬件厂商考虑用Rust编写新一代驱动[8] Rust与C语言的共存关系 - Rust在Linux内核中的地位转变,从“是否该引入”变成了“如何更好共存”的问题[9] - C语言在Linux内核中的核心地位不会被动摇,Linux内核仍将长期是一个以C为核心的工程[9]