微软正在将Rust转变为开发安全Windows驱动程序的首选语言

摘要:

Rust 是一种通用语言,旨在构建快速安全的软件。它高度重视内存安全,旨在消除大多数与内存相关的错误和安全漏洞。该语言在 Web 服务和系统软件开发方面表现出色,并且很快也将在 Windows 开发中发挥关键作用。

几年前,微软开始采用Rust 作为 Windows 核心编程语言,并称赞这种相对较新的语言是减少错误和增强安全性的关键工具。该公司现已公布了一些工作,旨在使 Windows 驱动程序项目的 Rust 开发更加轻松高效。

微软在最近的一篇博客文章中详细介绍了Rust 对 Windows 驱动程序支持的现状。开发人员传统上使用 Windows 驱动程序工具包 (WDK) 用 C 语言编写这些脚本,WDK 提供了所需的所有库和工具。微软现在正致力于将相同的库和头文件移植到 Rust,为 Rust 开发人员提供同样的优势。

微软将这些工具整合到 windows-drivers 中,这是一个 GitHub存储库,其中包含 Rust 的“crates”——由 Rust 的构建系统和包管理器 Cargo 管理的包。开发人员现在可以使用这些工具来构建 Windows 驱动程序。

windows-drivers-rs 仓库提供了开发人员构建功能齐全的 Rust 驱动程序所需的所有资源。其中包括用于配置 Cargo 构建脚本的库 (wdk-build)、全局分配器 (wdk-alloc)、一组用于简化与 WDK 直接绑定交互的宏 (wdk-macros) 等等。借助这些 crate,开发人员已经可以创建可在 Windows 11 上加载和运行的内核模式和用户模式驱动程序二进制文件。

微软还推出了cargo-wdk项目,以简化 Visual Studio 中的 Rust 驱动程序开发。程序员长期以来一直受益于 VS 模板,这些模板可以加速初始 C 语言开发。cargo-wdk 扩展为 VS 用户提供了预先填充了所有必要链接、构建步骤和依赖项的空驱动程序项目。

这家科技巨头表示,cargo-wdk 的长期目标是为 Rust 开发者提供与 C 程序员相同的构建工具和配置选项。Cargo 插件很快将添加更多驱动程序模板、代码部署到测试机器、全面的 ARM64 支持以及其他功能。

开发人员还计划提升 Rust 驱动程序项目的安全性。当前的 windows-drivers-rs 包仍然需要开发人员编写大量不安全的 Rust 代码。Windows 驱动程序框架团队正在与 Rust 专家合作,以引入更安全的抽象。然而,使用 Windows 内核 API 是一项复杂的挑战,解决这一挑战需要时间,并需要多个团队的合作。

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看评论