使用 Rust 編寫 FreeBSD 內核模塊
目前主流的操作系統(tǒng)內核都是用 C/C++ 編寫的,這些語言在避免常見的安全問題方面捉襟見肘。Rust 等現(xiàn)代語言默認提供更好的安全保證,并防止許多常見的內存安全漏洞。
在這篇文章中,我們將簡要介紹 Rust 為實現(xiàn)這一安全目標所做的努力,并為 FreeBSD 構建一個基本的Hello World概念驗證內核模塊。
模式匹配兼容性策略
當使用枚舉定義不同類型的數(shù)據(jù)時會非常方便,但是作為庫的作者需要考慮的更多一點,比如 enum 字段拓展后的兼容性問題。假設開始的定義為:


如何編寫庫代碼才能用使用者感知到這個變化而不產生 breaking change 呢,這里作者結合自己編寫庫的經驗給出了三個場景下的解決方案。分別是:
Non-exhaustive enums
Translating typical Error inheritance
Enums with an “open-ended” variant
學習使用 Rust 迭代器和組合子
Rust 的迭代器搭配組合器非常有趣,可以讓你的代碼更簡潔、更實用。這篇文檔側重于如何借助迭代器使您的代碼更易于閱讀或重構。 ReadMore:https://kerkour.com/rust-combinators
審核編輯:劉清
-
freebsd
+關注
關注
0文章
37瀏覽量
11147 -
內核模塊
+關注
關注
0文章
10瀏覽量
4424 -
Rust
+關注
關注
1文章
241瀏覽量
7661
原文標題:【Rust日報】2022-08-06 使用 Rust 編寫 FreeBSD 內核模塊
文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
如何將evkbmimxrt1170_hello_world_cm7.bin下載到 QSPI Flash?
在 MCUXpresso for VSCode for imx93EVK 中導入 Trustzone hello_world_ns 的示例應用失敗,為什么?
小鵬汽車正式發(fā)布世界模型X-World技術報告
如何重新編譯內核以啟用BINFMT_MISC支持
基于凌羽派的OpenHarmony北向應用開發(fā):Hello World 示例應用
Linux內核模塊的加載機制
【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅動開發(fā)實戰(zhàn):RK3568內核模塊符號導出詳解
為FreeBSD構建一個基本的Hello World概念驗證內核模塊
評論