Linus 對 Linux 內(nèi)核支持 Rust 的看法
在Linux Plumbers 2020會議之前,一位內(nèi)核開發(fā)人員建議該會議討論一些在Linux上支持Rust的主題,Linus Torvalds對此做出了回應(yīng)。
去年就有開發(fā)者詢問 Linux 內(nèi)核穩(wěn)定版維護(hù)者 Greg Kroah-Hartman “Linux 有沒有想法擁抱 Rust”,Greg 表示愿意接受用 Rust 開發(fā) Linux 內(nèi)核的驅(qū)動(dòng)程序,但前提是:
1、以可選的方式存在,而不是默認(rèn)啟用,這樣其他開發(fā)者就不需要使用 Rust 去構(gòu)建內(nèi)核
2、Rust 驅(qū)動(dòng)需要體現(xiàn)出比 C 驅(qū)動(dòng)具有優(yōu)勢,比如針對內(nèi)核 API 的安全封裝器
此次 Linus 關(guān)于 Linux 支持 Rust 的回應(yīng)看上去正是針對這第 1 個(gè)條件。
Greg 希望 Linux 中的 Rust 支持是以可選的方式存在,而不能全面默認(rèn)啟用,類似于在一個(gè)大的系統(tǒng)配置項(xiàng)里還要單獨(dú)開啟一個(gè)針對 Rust 的小選項(xiàng),但 Linus 則認(rèn)為應(yīng)該在默認(rèn)情況下可以有效地啟用支持,以確保進(jìn)行廣泛的測試,而不是只有某些開發(fā)者孤立地在進(jìn)行瘋狂/錯(cuò)誤的使用,因?yàn)闆]有人關(guān)注,問題會被掩蓋。
同時(shí),Linus 還用 Kconfig 的使用指令舉例,表示 Rust 支持需要足夠簡潔,類似“config RUST_IS_AVAILABLE……”,Linus 認(rèn)為如果在系統(tǒng)上檢測到 Rust 編譯器,則 Kconfig 將啟用 Rust 支持,并繼續(xù)構(gòu)建任何假定的 Rust 內(nèi)核代碼,以至少查看其是否正確構(gòu)建?!拔蚁M匀绱撕唵蔚母袷揭氲谝粋€(gè) Rust 驅(qū)動(dòng)程序(或其它任何驅(qū)動(dòng)程序),以使故障顯而易見且簡單?!?