微软用 18 万行 Rust 重写了 Windows 内核

这篇具有很好参考价值的文章主要介绍了微软用 18 万行 Rust 重写了 Windows 内核。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微软正在使用 Rust 编程语言重写其核心 Windows 库。 5 月 11 日——Azure 首席技术官 Mark Russinovich 表示,最新的 Windows 11 Insider Preview 版本是第一个包含内存安全编程语言 Rust 的版本。

“如果你参加了 Win11 Insider 环,你将在 Windows 内核中首次体验 Rust,”Russinovich 昨晚发推文说。

微软用 18 万行 Rust 重写了 Windows 内核,行业前沿,windows

无论如何,这一次来得很快:微软直到 4 月中旬在以色列举行的 BlueHat IL 2023 安全会议上才公开了用 Rust 代码替换部分 Windows 内核的计划。

当时,Windows 操作系统安全总监 David “dwizzle” Weston 在一次演讲中宣布 Rust 将正式进入 Windows 内核。

“在接下来的几周或几个月里,人们将开始在内核中使用 Rust 来启动 Windows。这项工作的基本目标是将系统的一些 C++ 数据类型转换为 Rust 形式。”

Rust 已进入 Windows 内核

微软的重点是“消除错误类”,并希望采取更积极的方法来确保更安全的代码。他们希望通过内存安全语言、CPU 架构变化以及更安全的语言子集来实现这一目标。

微软用 18 万行 Rust 重写了 Windows 内核,行业前沿,windows

David Weston 这次演讲的重点是内存安全语言。在Windows内核中,主要语言是C。由于MFC和COM的存在,内核之外的大部分代码都是C++,甚至MSVC libc实际上也是用C++编写的,带有extern“C”声明。然而,从 Windows Vista 开始,内核开始允许 C++ 代码(VC++ 获得了 /kernel 标志)。

目前微软已经重写了两个主要项目,DWriteCore和Win32 GDI,其中包含一些非常旧的代码。Win32 GDI 编写于 80 年代末和 90 年代初,专为 286/386 设计。

微软首先将 Rust 引入 DWriteCore,它是 Windows DWrite 引擎的 Windows App SDK 实现的一部分,用于文本分析、布局和渲染。

这项工作于 2020 年开始,DWriteCore 目前包含约 152,000 行 Rust 代码和 96,000 行 C++ 代码。

DWriteCore私有API使用类似COM的接口,公共API都是COM,其中C++和Rust可以轻松集成。

微软用 18 万行 Rust 重写了 Windows 内核,行业前沿,windows

据介绍,两名开发人员总共花了六个月的时间才完成这项工作,包括编写代码和做相应的测试。所有这些改进现在都向软件开发人员开放。

微软用 18 万行 Rust 重写了 Windows 内核,行业前沿,windows

David Weston 表示,这是一个非常值得的项目,因为该领域以其安全漏洞而闻名,而重写带来的性能提升是惊人的!除了预期的安全性改进之外,据说使用 OTLS(OpenType 库服务)可以将 Shaping(替换)字形的性能提高 5% 到 15%。

此外,微软的Windows图形设备接口(Win32 GDI)也正在移植到Rust,现在有36,000行Rust代码。weston 强调,Rust 不仅比 C++ 更容易编写,而且更容易理解。最新版本的 Windows 11 从这个版本的 Rust 开始,但尽管它已经通过了所有 GDI 测试,Rust 界面仍然被一个功能标志禁用。

Weston 说:“今天的 Windows 内核中实际上有一个 SysCall,它是用 Rust 实现的。”

但微软对 Rust 的支持并不是理所当然的,Weston 解释道,“恐怕我们不会很快用 Rust 完全重写 Windows,虽然我们都喜欢 Rust,但我们仍然需要有一个健全的策略放在第一位,包括保护我们更多的本机代码。”

但重要的是要承认,微软的认可、支持和代码贡献正在使 Rust 变得更强大,这对于整个开源社区来说是一件好事。

Rust 已经进入 Windows 内核

微软几年前开始对 Rust 表现出兴趣,认为这是在产品正式发布之前捕获和消除内存安全漏洞的好方法。自2006年以来,Windows开发团队修复了大量CVE列出的安全漏洞,其中约70%与内存安全相关。

Rust 工具链致力于防止开发人员构建和发布存在安全缺陷的代码,从而降低恶意黑客攻击软件弱点的可能性。简而言之,Rust 对内存安全和相关保护的关注有效地减少了代码中包含的严重错误的数量。

谷歌等行业巨头也公开拥抱 Rust 语言。

随着业界对内存安全编程的日益关注,微软也表现出了探索 Rust 的热情。去年 9 月,微软向 Microsoft Azure 首席技术官 Mark Russinovich 发出非正式授权,要求其在新软件项目中使用 Rust,而不是 C/C++。

现在 Rust 已经进入 Windows 内核,Weston 表示 Microsoft Windows 将继续推进这项工作,Rust 很快就会广泛使用。

微软用 18 万行 Rust 重写了 Windows 内核,行业前沿,windows

Python Flask 项目的领导者、Sentry 的安全工程师、开源软件开发人员 Armin Ronacher 在一次电子邮件采访中指出,微软的青睐对于 Rust 语言非常重要。

“具体来说,我希望微软能够重用现有的编译器来带来更好的PDB(程序数据库)支持。当前的 Windows 在开发工具支持方面无法跟上其他基于 DWARF(使用属性记录格式进行调试)的平台。”

Pydantic 创始人兼 Python/Rust 开发者 Samuel Colvin 也表示:“微软的这种前瞻性思维给我留下了深刻的印象,但这是有道理的。我相信微软是受到工程师的压力才接受 Rust 的。此时,如果目标是构建一个强调性能或更注重底线的应用程序,那么 Rust 无疑是一个明智的选择。”

Colvin 还提到,虽然市场上可能没有很多优秀的 Rust 工程师,但他仍然认为找到优秀的 Rust 工程师比找到优秀的 C/C++ 工程师更容易。

“拥有丰富 Rust 开发经验的人并不多,但很多工程师愿意尝试和学习。毕竟,编写安全代码本身就不是一件容易的事,而在 Rust 中至少相对来说不那么困难。”

Colvin 总结道:“对于我们这些依赖 Rust 的开发人员来说,微软使用和支持 Rust 的决定确实令人兴奋。”文章来源地址https://www.toymoban.com/news/detail-680867.html

到了这里,关于微软用 18 万行 Rust 重写了 Windows 内核的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PostgreSQL内核学习(三)—— 查询重写】

    声明 :本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。 本文主要参考了《PostgresSQL数据库内核分析》一书   在前一章中,我们重点介绍了查询分析的过程,再来回顾一下

    2024年02月17日
    浏览(36)
  • 行业前沿 | 畅想AIGC技术研究与应用实践(一)

    AIGC的火热之势已经蔓延到各行各业,技术浪潮冲击下,关于AIGC创业、AIGC未来发展方向以及AIGC的应用实践等,企业、投资者以及技术产品专家们有着不一样的思考。 近日,数美科技联合AMD举办的AIGC沙龙活动,邀请了 经纬创投投资董事王冰醒、启元世界战略总监王思捷、AM

    2024年02月09日
    浏览(39)
  • 一次Rust重写基础软件的实践(一)

    前言 受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转化为 Rust 语言。本文的主要目的是通过记录此次转化过程中遇到的比较常见且有意思的问题以及解决

    2024年01月20日
    浏览(22)
  • 中国社科院与美国杜兰大学金融管理硕士项目,引领你走在金融行业前沿

      作为金融领域从业人员时刻都在关注行业最新资讯,只有掌握一手的前沿讯息,才能在职场上无往不胜。针对在职的你,如何利用业余时间让自己更增值呢,中国社科院与美国杜兰大学金融管理硕士项目引领你走在金融行业前沿。 金融管理硕士项目旨在培养具备系统的现代

    2024年02月02日
    浏览(31)
  • 首个中文Stable Diffusion模型开源;TPU演进十年;18个PyTorch性能优化技巧 | AI系统前沿动态...

    1. TPU演进十年:Google的十大经验教训 希腊神话中,特洛伊战争的起因是两方争夺世界上最美的女人——海伦,后世诗人将海伦的美貌“令成千战舰为之起航”。TPU就像海伦,它的出现引起了“成千芯片与之竞逐”。 可以说,TPU的问世引发了硅谷的“地震”。TPU宣布诞生后,

    2024年02月09日
    浏览(50)
  • ubuntu18.04内核升级(使用编译的方法达到内核6.1.62)

    自己的电脑是22年买的thinkbook16+,乘着今年双11给它加了一个外接显卡,在windows上能成功识别并使用,但是在ubuntu18.04上因为无法识别出雷电接口,所以无法使用。后来换成20.04的版本竟然又可以,比较两者的区别后,初步推测是内核版本稍低,遂尝试升级内核,已验证自己的

    2024年02月04日
    浏览(39)
  • 18.kthread_worker:内核线程异步传输

    目录 kthread_worker 驱动传输数据的方式 同步传输 异步传输 头文件 kthread_worker结构体 kthread_work结构体 kthread_flush_work结构体 init_kthread_worker()函数 为kthread_worker创建内核线程 init_kthread_work()函数 启动工作 刷新工作队列 停止内核线程 实验环节 dts_led.c文件 Makefile文件 执行过程 函数

    2024年02月10日
    浏览(23)
  • 行业追踪,2023-07-18,减速器,汽车零部件是重点关注板块,随时开启

    凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让市场来告诉你 跟踪板块总结: 成交额超过 100 亿 排名靠前,macd柱由绿转红 成交量要大于均线 有必

    2024年02月17日
    浏览(31)
  • 从IaaS到SaaS全栈赋能的行业云,微软云生态的增强器

    《中智观察》第 1587 篇推送 作者:木易 编辑:杨小天 头图来源:爱尔兰时报 纵观整个云计算市场,毋庸置疑的一点是其已迎来下半场的竞争。 但下半场的竞争核心是什么?是云原生?的确,所有云服务商都在强调CloudNative;是PaaS?也没毛病,IaaS服务商向上走,SaaS服务商向

    2024年02月04日
    浏览(27)
  • VBS加载微软网页控件webview2(Edge-Chromium谷歌内核)

    VBS加载微软网页控件webview2(Edge-Chromium谷歌内核) VBA加载Webview2浏览器内核 代替了ie的webbrowser控件,效果类似: 资源:VBS加载webview2控件代替ie的webbrowser(Edge-Chromium谷歌内核)资源-CSDN文库 VBS loads the Microsoft web control webview2 (edge ​​Google kernel)Instead of the webbrowser control of ie, the e

    2024年02月06日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包