Rust,Linux開發人員似乎對此表示贊同

編程語言 Rust一直致力於在Linux內核開發中取代C 正是隨著Rust的成熟,一些開發人員對Linux內核中使用它的興趣日益濃厚。

在虛擬會議中 Linux Plumbers 2020,微會議流程 通過LLVM 組織了關於公開問題的會議 和障礙 用於在Linux內核上上游接受Rust。

大家對這個話題的興趣顯而易見,因為本屆會議是2020年活動最繁忙的一次。

那麼,我們現在應該用Rust語言重寫整個Linux內核嗎? 自2015年出現第一個穩定版本的Rust以來,該討論並非從今天開始進行。

考慮到它提供的可能性 Rust,有人建議這樣做。 今年,在八月份的Linux Plumbers會議上, 演講者又有時間再討論。

令人驚訝的是 他們似乎同意 一致沒有 不是重寫Rust中的現有代碼,而是讓內核開發繼續使用Rust。 也就是說,他們設想了一個可以用Rust編寫新代碼段的世界。

本次會議以許多開發人員的先前工作為基礎,包括去年在Linux安全峰會上Alex Gaynor和Geoffrey Thomas發表的演講。

在會議上,他們介紹了他們在Rust內核模塊原型上的工作,並主張在內核中採用Rust。

他們引用的工作表明,在Android和Ubuntu中分配給CVE的內核漏洞中大約有三分之二與內存安全性問題有關。

他們最終解釋說 由於有了更安全的API,Rust可以完全避免此類錯誤 由您的系統類型和貸款驗證程序啟用。

這項研究設法說服了幾位維護者 Linus Torvalds,他支持將Rust引入內核。 Rust語言團隊的聯合主席,長期的Linux內核開發人員Thomas和Gaynor,Josh Triplett以及其他感興趣的開發人員參加了有關該主題的討論。

在大部分時間進行討論之前,他們簡要介紹了他到目前為止的工作以及他的一些最初的想法和問題。

這些是內核中現有API的使用,體系結構支持以及有關Rust和C之間的ABI兼容性的問題。

實際上,他們最初認為 將Rust引入樹結構必須遵守現有的C API。 

但是,每個人都認為細節中存在魔鬼,到目前為止,已完成的工作以及會議期間的對話都暴露出一些公開挑戰。

例如,Linux大量使用了預處理器宏和內聯函數,bindgen工具和Rust的外部函數接口不容易支持它們。

根據他們, 目前,Rust唯一成熟的實現是編譯器 rustc,它通過LLVM發行代碼。

Linux內核支持多種體系結構,其中許多體系結構都沒有可用的LLVM後端。

對於Triplett,他引用Debian項目的經驗,建議將Rust添加到內核中將有助於增加對Rust的架構支持。 他提到在Debian中引入Rust軟件有助於激勵愛好者和利基體系結構的用戶改善Rust支持,並且他希望增加內核支持以產生類似的效果。

特別是,他堅信具有LLVM後端的任何體系結構都將很快與Rust兼容。 討論還將重點放在替代的Rust實現上,以作為獲得更廣泛的體系結構支持的途徑。

會議結束時沒有進一步的具體里程碑,但是似乎總體上對支持Rust Mods充滿熱情,並且對這種支持的一般要求也越來越認同。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   自動駕駛儀 他說:

    似乎是一個新時代的開始,不可移動的C出現了。

    你好,銹,再見萊納斯·托瓦爾茲!