Page 1 of 1

Microsoft 依赖 Rust:Windows 核心的转型

Posted: Thu Jan 30, 2025 3:30 am
by suchona.kani.z
Microsoft 正在致力于用 Rust 重新实现 Windows 核心库。 Windows 操作系统安全总监 David Weston 宣布,Rust 很快将被应用到 Windows 操作系统的核心中。改用 Rust 是 Microsoft 减少内存错误努力的一部分,内存错误约占其产品安全漏洞的 70%。

Rust 的彻底改革始于 2020 年的 DWriteCore,这是一种文本分析、布局和渲染工具。现在它主要是 Rust 代码,并改进了字形替换性能。 DWriteCore 现在包含大约 152,000 行 Rust 代码和大约 96,000 行 C++ 代码。 Windows 图形界面 (Win32 GDI) 也已移植到 Rust。最新版本的 Windows 11 使用 Rust 版本启动,该版本通过了所有 GDI 测试,但 Rust 端口目前在功能标志后面被禁用。除了假定的安全性改进之外,OTLS(OpenType 库服务)的字形替换性能还提高了 5% 到 15%。尽管微软对 Rust 感到兴奋,但该公司对于 healthtrax 公司电子邮件列表 是否全面转变仍犹豫不决。 Weston 表示:“用 Rust 重写 Windows 可能不会很快发生。”不过,微软对 Rust 的支持增强了该语言,并使开源社区受益。业界的开发人员对微软向 Rust 迈进的举措持积极态度。 Pydantic 强调了 Rust 对于高性能低级应用程序的重要性,并对微软的支持感到满意,他表示:“微软的前瞻性给我留下了深刻的印象,但我并不感到惊讶。 Colvin 说:“今天,如果你构建一个性能密集型或低级别的应用程序,那么 Rust 是理所当然的。”可能不是到处都能找到,但他相信找到优秀的 Rust 工程师比 C/ C++

用 Rust 工具重写
下面我们将介绍一些已采取决定性步骤并在 Rust 中启动全新开发的项目。这些项目表明,人们对 Rust 作为一种强大而高效的编程语言的信心不断增强,该语言既适合现有系统,也适合新开发的系统。这只是有趣项目的一小部分。

Firecracker:亚马逊网络服务(AWS)发起的开源虚拟化项目。最初用 C++ 实现,大部分代码用 Rust 重写,以提供增强的安全保证。
Servo: Mozilla 开发的实验性网络浏览器引擎。虽然有些部分是用 C++ 编写的,但大部分代码是用 Rust 实现的。
Sudo RS:对 Rust 中的 sudo 和 su 命令进行了以安全为中心、内存安全的重新设计。它旨在作为常见用例的无缝且安全的替代品。
Deno:基于 V8 JavaScript 引擎和 Rust 编程语言的 JavaScript 和 TypeScript 安全运行时环境。它由 Node.js 的原始创建者 Ryan Dahl 开发,代表了对 Node.js 的一种“重新思考”,修改了 Node 的许多原始设计决策。
uutils coreutils: Rust 中 GNU coreutils 的跨平台重新实现,旨在成为 GNU utils 的无缝替代品。它设计为在 Linux、Mac 和 Windows 等许多平台上运行,允许在这些平台之间轻松传输脚本。