搜索
查看: 906|回复: 6
收起左侧

[系统相关] 微软:使用Rust重写Windows组件的体验“妙不可言”

[复制链接]
蓝天二号
发表于 5 天前 | 显示全部楼层 |阅读模式
7 月份,我们报道过“微软正探索将Rust作为C和C++的安全替代方案”,根据微软的说法,Rust 是一种从根本上考虑安全性的编程语言,他们将尝试使用Rust 重写各种产品,因为在过去的十年里,该公司70%以上的安全补丁都提供了与内存相关的错误,而Rust 正是解决这个问题的“良药”。
20191108083242_4639.jpg
近日,微软透露了使用Rust 代替C/C++ 编写Windows 组件的实验的感受。虽然它并没有具体说明哪些产品将用Rust 重写,但微软表示将随时向用户报告实验进展情况。

微软表示,目前的实验工作情况良好,工程师们描述在使用 Rust 上是“妙不可言”的。尽管有一些功能并没有完成,但会推动项目继续向前发展。

微软 Hyper-V 团队软件工程师 Adam Burch 在博文中说:

我的任务是对Windows代码库的一个低级别系统组件进行实验性重写(目前不能透露是哪个组件),虽然这个项目还没有完成,但总的来说,在Rust方面的试验体验是非常好(generally positive)。新的组件或现有的具有干净接口的组件移植到Rust 是很容易的。

虽然,试验Rust 的过程进展并不顺利,但话说回来如果预想是顺利的,那也显得不现实。Burch 指出安全转换、对C的安全支持、准确的分配以及对大规模单元测试的支持,是微软庞大的代码测试基础设施所需要的。Burch 认为,微软将通过努力塑造语言的未来,以提高其在这些情况下的有用性。

Burch 补充说道,Rust 在单片机和诸如内核和虚拟机监控程序等低级系统上有着光明的前景,在这些系统中,一旦成熟,该语言的安全性第一特性将使其具有相当大的吸引力。而目前,在单片机市场上,主要是英特尔在支持和推动,它正在努力使Rust达到与C相同的功能。

微软如果想使用Rust 重写一些 Windows 组件,成为第一个这样做的操作系统制作商的话,那么应该要加快速度了,因为Linux 项目也在考虑在一些内核驱动程序中使用Rust。
lychichem
发表于 5 天前 | 显示全部楼层
坐等全是bug版系统
a27573
发表于 5 天前 | 显示全部楼层
lychichem 发表于 2019-11-8 11:55
坐等全是bug版系统

Rust注重安全,内存安全、线程安全之类,其实就是减少bug
C++的语法太丰富自由了,许多用法都有显著的副作用,很容易引入bug
lychichem
发表于 5 天前 | 显示全部楼层
a27573 发表于 2019-11-8 16:22
Rust注重安全,内存安全、线程安全之类,其实就是减少bug
C++的语法太丰富自由了,许多用法都有显著的副 ...

问题是这种量级的代码重构,就算Rust本身设计再好,也总会在移植的时候产生些逻辑问题吧,这就出bug了
a27573
发表于 5 天前 | 显示全部楼层
本帖最后由 a27573 于 2019-11-8 19:21 编辑
lychichem 发表于 2019-11-8 17:51
问题是这种量级的代码重构,就算Rust本身设计再好,也总会在移植的时候产生些逻辑问题吧,这就出bug了

将一些难以维护的上古代码重构后可能确实会增加bug,但将来bug肯定越来越少

如果把那些上古代码放着不管,以后为了补bug付出的成本或许更高

上次winrar的一个组件有漏洞,不是因为没人能修复直接把模块删除了嘛


要做出改变总是痛苦的


代码重构(英语:code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。
--来自维基百科
zns3111
发表于 前天 08:28 | 显示全部楼层
要是重写的话成本确实很高
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|卡饭乐购| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-11-13 10:33 , Processed in 0.095589 second(s), 20 queries .

快速回复 返回顶部 返回列表