電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 24|回復: 0
收起左側(cè)

Linux迎來重要轉(zhuǎn)折點!Rust驅(qū)動將全面進軍內(nèi)核核心,項目負責人稱Rust現(xiàn)在處于有利地位

[復制鏈接]

475

主題

475

帖子

4237

積分

四級會員

Rank: 4

積分
4237
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 3 天前 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
↓推薦關注↓
轉(zhuǎn)自:InfoQ - Tina
11 月 30 日,除了之前合并到 Linux 6.13 內(nèi)核開發(fā)窗口的 USB 更新和大型 staging 分支更新外,“char/misc”模塊的更改也被采納。作為內(nèi)核中匯總各種改動的模塊,“char/misc”合并中引入了一些重要更新,這對希望用 Rust 編程語言編寫內(nèi)核驅(qū)動的開發(fā)者來說尤其值得關注。
Linux 內(nèi)核關鍵維護者 Greg Kroah-Hartman 表示,隨著這些改動的引入,Linux 6.13 現(xiàn)在可以支持更多基于 Rust 的內(nèi)核驅(qū)動開發(fā)。
在“char/misc”合并中,他解釋道:“Rust 中的 misc 驅(qū)動綁定和其他改動使得開發(fā) misc 驅(qū)動成為可能。我認為這是一個轉(zhuǎn)折點,有了這些綁定,未來會有更多 Rust 驅(qū)動出現(xiàn)。希望在下一個合并窗口中,我們能夠?qū)崿F(xiàn) PCI 和平臺驅(qū)動的功能,從而全面支持幾乎所有驅(qū)動子系統(tǒng)接受(或至少嘗試使用)Rust 驅(qū)動。這是許多開發(fā)者共同努力的成果,祝賀大家取得這樣的進展。你們用可運行的代碼證明了我們許多人的質(zhì)疑是錯誤的 :)。”

這位資深內(nèi)核開發(fā)者預測,未來我們將看到越來越多的上游 Rust 驅(qū)動程序。
1 辭職風波是“黎明前最黑暗的時刻”除了“char/misc”子系統(tǒng),Rust for Linux 項目負責人 Miguel Ojeda 還于 11 月 26 日提交了一組針對 Linux 6.13 holiday 內(nèi)核的大規(guī)模 Rust 基礎設施和工具鏈更新,一夜之間讓 Linux 增加了 3000 行 Rust 代碼。
Linux 6.13 的合并窗口預計將于今天(12 月 1 日)結(jié)束,同時發(fā)布 Linux 6.13-rc1。Linux 6.13 正逐步成為一個重要的內(nèi)核版本,穩(wěn)定版本預計將在 1 月底左右發(fā)布。
從這次版本發(fā)布中,我們可以得出兩個重要信息:一是 Greg Kroah-Hartman 承認,包括他在內(nèi)的部分人曾質(zhì)疑 Rust,但這是“錯誤”的,他認為 Rust for Linux 維護者用實際可行的代碼證明了 Rust 在內(nèi)核開發(fā)中的潛力。二是盡管此前 Rust for Linux 維護者宣布退出內(nèi)核開發(fā),但實際上,將 Rust 代碼引入 Linux 的進展并未受到太大影響。
今年 9 月份的時候,微軟工程師、 Rust for Linux 維護者之一 Wedson Almeida 在 Linux 內(nèi)核郵件列表上宣布退出該項目。他離開的原因是,“在過去四年的工作當中,我發(fā)現(xiàn)自己的精力和熱情已經(jīng)被嚴重消磨,越來越抗拒回應那些跟技術無關的廢話。所以這份任務,最好是留給那些仍然抱有這份熱情的成員!
C 和 Rust 兩派的分歧一直很大。一些現(xiàn)有的 C 語言程序員對 Rust 作為第二語言的引入持抵觸態(tài)度,擔心這會增加他們的工作復雜性,或迫使他們學習 Rust 而感到壓力。英特爾 Linux 核心內(nèi)核架構(gòu)團隊成員 Dan Williams 也曾指出,Rust 在 Linux 內(nèi)核中的應用面臨一個問題:“內(nèi)核維護者往往非常保守! 他們對 C 語言非常熟悉,可以說了如指掌,但對 Rust 卻并不了解。因此,他們“不知道該如何審查這些代碼,也不知道如何調(diào)試那些代碼,因為他們并不理解這些代碼!
在 Linux 締造者 Linus Torvalds 看來,這場爭議“幾乎上升到了帶有宗教戰(zhàn)爭色彩的信仰之爭層面”。而對于不少人因此斷言 Rust 的融合之路已經(jīng)失敗的觀點,Linus 評論道,“我們已經(jīng)在這方面探索了幾年,所以目前下結(jié)論還為時過早。但我也認為,哪怕是失敗了(雖然我并不支持這種失敗論),這也是學習經(jīng)歷的一部分。所以我覺得推廣 Rust 是有積極意義的,可爭論過程中的很多人似乎并不這么看!
作為 Rust for Linux 項目的首席維護者,Miguel Ojeda 則將 Wedson 的辭職描述為該項目“黎明前最黑暗”的時刻。
“對我來說,這當然非常困難,”O(jiān)jeda 表示,“但從積極的角度看,這或許是黎明前最黑暗的時刻……我想向大家保證,項目正在繼續(xù)前進!
2 將 Rust 融入 Linux 曾是一些人的“白日夢”不久前,Miguel Ojeda 在 RustConf 2024 主題演講中回顧了 Rust for Linux 項目的歷史。



早在 2013 年就有人提出了為內(nèi)核編寫 out-of-tree Rust 模塊的想法,那時 Rust 還未正式發(fā)布 1.0 版本。然而,Rust for Linux 并不僅限于 out-of-tree 模塊的開發(fā),其目標是將 Rust 的支持集成到 Linux 主線中,使其能夠用于 C 能完成的所有內(nèi)核任務。值得說明的是,一般情況下,穩(wěn)定且常用的驅(qū)動都是 in-tree 的,它們位于內(nèi)核源代碼樹的對應目錄下。
2019 年夏天,Miguel Ojeda 創(chuàng)建了 Rust for Linux GitHub 組織,但直到 2020 年才真正投入使用。同年 7 月,Nick Desimone 發(fā)起了一封關于對 Rust 感興趣的郵件,隨后大家意識到有不少人希望這件事能夠成真。
“那時,這仍然只是一個白日夢”,但 Miguel Ojeda 認為讓大家在同一目標下獨立工作會很有意義,于是他提交了第一個 Rust 拉取請求,后來越來越多的人加入了這個項目。經(jīng)過多次協(xié)作,最終在兩年后,Rust 支持被合并至內(nèi)核的 6.1 版本。



Rust for Linux 旨在為 Linux 內(nèi)核引入對 Rust 編程語言的支持,目標是實現(xiàn)對 Rust 的一流支持,即在內(nèi)核中任何可以用 C 實現(xiàn)的功能都可以用 Rust 實現(xiàn)。
他們的最終目標并不僅僅是 out-of-tree 模塊,而是 in-tree,以及用 Rust 編寫核心 API 和子系統(tǒng),這不僅限于內(nèi)核空間代碼,還包括宿主和用戶程序。
Miguel Ojeda 強調(diào)項目的關鍵目標一直都是“將這些支持集成到主線內(nèi)核中”。并且就像他之前總結(jié)的那樣:“Rust 現(xiàn)在處于有利地位!
參考鏈接:
https://www.phoronix.com/news/Linux-6.13-char-misc-More-Rust
https://devclass.com/2024/09/18/rustconf-speakers-affirm-rust-for-linux-project-despite-challenges-of-unstable-rust-maintainer-resignation/
https://www.youtube.com/watch?v=FRMJzNYut4g
https://www.zdnet.com/article/rust-in-linux-now-progress-pitfalls-and-why-devs-and-maintainers-need-each-other/
——EOF——你好,我是飛宇,本碩均于某中流985 CS就讀,先后于百度搜索、字節(jié)跳動電商以及攜程等部門擔任Linux C/C++后端研發(fā)工程師。
最近跟朋友一起開發(fā)了一個新的網(wǎng)站:編程資源網(wǎng),已經(jīng)收錄了不少資源(附贈下載地址),如果屏幕前的靚仔/女想要學習編程找不到合適資源的話,不妨來我們的網(wǎng)站看看,歡迎掃碼下方二維碼白嫖~



同時,我也是知乎博主@韓飛宇,日常分享C/C++、計算機學習經(jīng)驗、工作體會,歡迎點擊此處查看我以前的學習筆記&經(jīng)驗&分享的資源。
我組建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起進群交流。

歡迎你添加我的微信,我拉你進技術交流群。此外,我也會經(jīng)常在微信上分享一些計算機學習經(jīng)驗以及工作體驗,還有一些內(nèi)推機會。


加個微信,打開另一扇窗
感謝你的分享,點贊,在看三  

回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表