微軟也加入了 Rust 浪潮,已經著手重寫窗口管理中的內核代碼 

藍帽大會

BlueHat 會議系列的主要目標是在開發人員與 Microsoft 高管、主要安全計劃合作夥伴和社區成員之間架起橋樑。

微軟揭幕 幾天之前 已經在著手重寫 Windows 內核代碼,特別是在負責管理窗口的區域, 用Rust語言。

微軟加入了在其產品中實施 Rust 的浪潮,最重要的是考慮到未來,最重要的是放棄 C 和 C++ 語言的理想候選者。 正是這種策略讓人想起採用相同的語言來開發 Linux 內核。 在這一點上,Rust 與過去宣布替代 C 和 C++ 的幾種語言不同。

Microsoft 移植了 Win32k GDI 庫 (窗口管理器) 到 Rust 語言。 A 公司官員a 在最新一期的 BlueHat 會議上宣布了這一消息。 目標是將該庫中的一些 C++ 類型轉換為它們的 Rust 等價物,以努力減少內存訪問的洩漏。

這樣做的主要原因之一是利用 Rust 相對於 C 語言的優勢,例如內存安全性。 實際上,例如穀歌現在在 Android 上大量使用 Rust。

“目標不是將現有的 C/C++ 轉換為 Rust,而是隨著時間的推移將新代碼開發轉移到內存安全語言,”這家科技巨頭表示。

結果:

“進入 Android 的新內存不安全代碼數量減少了,內存安全漏洞的數量也減少了。 從 2019 年到 2022 年,它佔 Android 漏洞總數的比例從 76% 下降到 35%。 2022 年是內存安全漏洞不再佔大多數 Android 漏洞的第一年,”他補充道。

儘管如此,一些利益相關者仍然認為 C 語言移除計劃注定要成為 C3 語言的創造者,但是,提供了一長串 C 語言移除計劃注定失敗的原因。

不過,就其本身而言,微軟決定在 Windows 上使用 Rust 是該語言在軟件行業影響力越來越大的一個標誌。 Rust 連續六年被 Stack Overflow 用戶評為最喜愛的編程語言,一直是學術研究和創新的主題。 Rust 還可以幫助微軟與 Linux 競爭,後者最近宣布支持 Rust 作為內核開發的第二種高級語言。

“我們正處於在 Windows 上跟踪和運行 Rust 的階段,”韋斯頓在微軟 BlueHat IL 2023 會議上表示。 “我們談論的是地球上最複雜的工程產品之一。 但我們的目標是這樣做以提高安全性……所以您可能會在接下來的幾週或幾個月內看到 Windows 在內核中使用 Rust 啟動,這很棒。 這裡的基本目標是將這些內部 C++ 數據類型中的一些轉換為它們的 Rust 等價物。”

結果表明,進行這種轉換的原因是 微軟工程師完全相信 Rust 代碼更容易編寫和理解 比實際的 C++ 代碼。 它也更安全:對於那些不熟悉的人,Rust 是一種現代的類 C 編程語言,開發人員喜歡它,因為它強制創建安全的本機代碼,而沒有託管語言的開銷。

據韋斯頓說, 微軟已經用 Rust 重寫了 Windows 內核中的 36 行代碼,加上他為 DirectWrite Core 概念驗證庫編寫的另外 152 行代碼,性能非常出色,與以前的 C++ 代碼相比沒有退步。

他還說:

“現在 Windows 內核中有一個用 Rust 編寫的系統調用。” 系統調用或 syscall 是用戶模式應用程序與內部內核函數交互的方式(以過度簡化它)。

最後,如果大家有興趣能夠了解更多,可以查閱大會視頻 藍帽.


發表您的評論

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

*

*

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