
整理 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
在 Linux 內(nèi)核世界,很少有技術(shù)路線能像 Rust 一樣,引發(fā)如此長期、激烈且公開的爭論。
有人視它為內(nèi)核安全的“破局鑰匙”,有人則認(rèn)為這是對既有工程秩序的冒險(xiǎn)挑戰(zhàn)。圍繞是否該把 Rust 引入內(nèi)核,過去幾年里,郵件列表上的爭吵、核心開發(fā)者的分歧乃至項(xiàng)目成員的退出,幾乎成了一部持續(xù)上演的“內(nèi)核連續(xù)劇”。
而就在不久前,這場拉鋸終于迎來了一個(gè)明確的節(jié)點(diǎn)。
在 2025 年 Linux Kernel Maintainers Summit(Linux 內(nèi)核維護(hù)者峰會(huì)) 上,內(nèi)核維護(hù)者們達(dá)成共識:Rust 在 Linux 內(nèi)核中的“實(shí)驗(yàn)階段”正式結(jié)束——這意味著,Rust 不再只是一個(gè)被謹(jǐn)慎試用的新語言,而是被明確認(rèn)可為 Linux 主線內(nèi)核的長期組成部分。
![]()
![]()
五年“實(shí)驗(yàn)”,一條并不平坦的路
Rust for Linux 項(xiàng)目最早可以追溯到 2020 年。彼時(shí),該項(xiàng)目的定位非常克制:不是取代 C,也不是大規(guī)模重寫內(nèi)核,而是嘗試回答一個(gè)問題——Rust 是否值得 Linux內(nèi)核為其付出額外的復(fù)雜度成本?
正因如此,在很長一段時(shí)間里,Rust 代碼只能在嚴(yán)格受限的范圍內(nèi)存在,被明確標(biāo)注為 “experimental(實(shí)驗(yàn)性)”。它不像 C 那樣天然屬于內(nèi)核世界,更像是一個(gè)被允許“旁聽”的新成員。
這種謹(jǐn)慎態(tài)度,也伴隨著持續(xù)不斷的爭議。一方面,Rust 提供的內(nèi)存安全模型,幾乎精準(zhǔn)擊中了Linux內(nèi)核長期以來最頭疼的問題;另一方面,引入新語言意味著新的工具鏈、新的構(gòu)建復(fù)雜度,以及對維護(hù)者心智負(fù)擔(dān)的增加。
這場博弈,一打就是數(shù)年。而真正改變Rust 在Linux內(nèi)核中局面的,并不是某一次宏大的技術(shù)宣言,而是一系列逐漸累積、難以忽視的事實(shí):
● 首先,是代碼規(guī)模和持續(xù)投入。自 2022 年以來,已經(jīng)有超過 2 萬行 Rust 代碼被合入 Linux 上游內(nèi)核,這不再是概念驗(yàn)證,而是持續(xù)演進(jìn)的真實(shí)工程代碼。
● 其次,是生產(chǎn)環(huán)境的真實(shí)驗(yàn)證。Rust 編寫的內(nèi)核驅(qū)動(dòng),已經(jīng)運(yùn)行在真實(shí)設(shè)備中,例如 Google Pixel 系列手機(jī),其部分底層驅(qū)動(dòng)已采用 Rust 實(shí)現(xiàn)——這一點(diǎn)對內(nèi)核社區(qū)尤為關(guān)鍵:它證明 Rust 不只是“理論上更安全”,在現(xiàn)實(shí)世界中也站得住腳。
● 更重要的是,Rust 內(nèi)核生態(tài)正在成熟。圍繞內(nèi)核開發(fā)所需的基礎(chǔ)庫、抽象層和工具鏈逐步完善,使得“用 Rust 寫內(nèi)核代碼”不再是少數(shù)專家才能完成的事情,而開始具備可擴(kuò)展性。
![]()
官方定調(diào):“實(shí)驗(yàn)”結(jié)束,但還有大量工作要做
基于以上,上周 Rust for Linux 項(xiàng)目的負(fù)責(zé)人 Miguel Ojeda 在內(nèi)核郵件列表中明確宣布:
“Rust 支持是在 Linux v6.1 版本中合入主線內(nèi)核的,其初衷是評估 Rust 作為一種編程語言是否適合內(nèi)核開發(fā),也就是它在技術(shù)層面、流程層面以及社區(qū)層面是否值得付出相應(yīng)的權(quán)衡成本。 而在 2025 年 Linux Kernel Maintainers Summit(內(nèi)核維護(hù)者峰會(huì))上,這一實(shí)驗(yàn)已被正式宣布結(jié)束。因此,現(xiàn)在可以移除相關(guān)章節(jié)——事實(shí)上,這個(gè)‘實(shí)驗(yàn)’說法早就不準(zhǔn)確了,因?yàn)?Rust 已在生產(chǎn)環(huán)境中被實(shí)際使用了。”
與此同時(shí),Miguel Ojeda 也特別強(qiáng)調(diào),“實(shí)驗(yàn)結(jié)束”并不等于一切已經(jīng)完美:無論是不同架構(gòu)、不同內(nèi)核配置,還是 GCC 與 LLVM 的混合構(gòu)建,Rust 在內(nèi)核中的適配仍然存在大量工作要做;一些組合方案(比如 GCC + LLVM 的混合構(gòu)建,以及即將到來的 GCC 原生 Rust 支持),目前也仍具有一定實(shí)驗(yàn)性。
只是方向顯然已經(jīng)明確:Rust 將長期留在 Linux 內(nèi)核中。
![]()
Rust 驅(qū)動(dòng)開始加速落地
“轉(zhuǎn)正”不僅是一個(gè)象征性的里程碑,也直接為后續(xù)的 Rust 驅(qū)動(dòng)鋪平了道路。據(jù)了解,一批 Rust 參與編寫的重量級項(xiàng)目正在或即將進(jìn)入Linux 主線:
● Asahi 項(xiàng)目:面向 Apple Silicon 的 GPU 驅(qū)動(dòng),正朝著完整上游合入邁進(jìn),并將在 Linux 6.17 中加入 Devicetree schema 支持;
● Nova 驅(qū)動(dòng):作為 Nouveau 的 Rust 繼任者,面向 NVIDIA 基于 GSP 的 GPU,計(jì)劃在 Linux 6.19 中完成初始啟用;
● Tyr 驅(qū)動(dòng):針對 ARM Mali GPU,已經(jīng)能在 Linux 6.18 上啟動(dòng) GNOME 桌面并運(yùn)行基礎(chǔ)游戲。
而從更宏觀的角度看,此次 Linux 內(nèi)核對 Rust “實(shí)驗(yàn)結(jié)束”的表態(tài),本質(zhì)上是一種信號——它向公司、芯片廠商和開發(fā)者社區(qū)也釋放了明確預(yù)期:Rust 在 Linux 內(nèi)核中不是短期嘗試,而是值得長期投入的方向。也就是所,更多企業(yè)可能愿意為內(nèi)核開發(fā)者提供 Rust 培訓(xùn)時(shí)間,更多硬件廠商會(huì)考慮用 Rust 編寫新一代驅(qū)動(dòng)。
當(dāng)然,這并不意味著 C 的地位會(huì)被動(dòng)搖,Linux 內(nèi)核仍將長期是一個(gè)以 C 為核心的工程。但 Rust,已經(jīng)從“是否該引入”,變成了“如何更好共存”的問題。
參考鏈接:https://www.phoronix.com/news/Rust-To-Stay-Linux-Kernel
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.