Josh Triplett,在英特爾工作,也是監督 Crates.io 開發的委員會成員,在開源技術高峰會上發表講話
在正在建立的工作小組中,Rust 開發人員將與英特爾的工程師一起準備規範,定義需要在 Rust 中實現的系統程式設計功能。 系統程式設計通常需要低階操作,例如執行特權處理器指令和取得有關處理器狀態的詳細資訊。 在已經為 Rust 開發的類似功能中,值得注意的是對未命名結構、聯合、組合語言插入(「asm!」巨集)和 BFLOAT16 浮點數格式的支援。
Josh 認為系統程式設計的未來屬於 Rust,而現代現實中的 C 語言正在奪取過去幾年被彙編佔據的位置。 鏽
不僅使開發人員擺脫了 C 語言中由於低階記憶體工作而產生的固有問題,而且還提供了在現代程式設計範例開發中使用它的機會。
期間
Josh 提出了用 Rust 語言在 Linux 核心中添加開發驅動程式的能力的想法,這將使得能夠以最小的努力創建更安全、更好的驅動程序,並且不會出現釋放後內存訪問、null 等問題。指標解引用和緩衝區溢位。
負責維護 Linux 內核穩定分支的 Greg Kroah-Hartman 表示,如果 Rust 語言比 C 語言具有真正的優勢,他願意將用於開發驅動程式的框架添加到核心中,例如,它將提供安全的支援。透過內核API 進行綁定。 此外,Greg 認為該框架僅作為一個選項,預設不處於活動狀態,以免將 Rust 包含為對核心的建置依賴項。
事實證明,已有多個團隊朝著這個方向努力。 例如,「Fish in a Barrel」公司的開發人員
平行線
尚未實現所有預期功能,但該框架已經非常適合工作,並用於為 Raspberry Pi 9512 板中提供的 LAN3 USB 乙太網路控制器編寫工作驅動程式。現有的 smsc95xx 驅動程式由C語言。 值得注意的是,在 Rust 中開發驅動程式時,模組大小和運行時元件的開銷是微不足道的,這使得該框架可以用於資源有限的設備。
來源: opennet.ru