开发者就此询问了 Linux 内核稳定版维护者 Greg
Kroah-Hartman,Greg 表示愿意接受用 Rust 开发 Linux
内核的驱动程序,但前提是:1)以可选的方式存在,而不是默认启用,这样其他开发者就不需要使用
Rust 去构建内核;2)Rust 驱动需要体现出比 C 驱动具有优势,比如针对内核
API 的安全封装器。

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

图片 1

近日,微软透露了使用 Rust 代替 C/C++ 编写
Windows 组件的实验感受。虽然它并没有具体说明哪些产品将用
Rust 重写,但微软表示将随时向用户报告实验进展情况。

如上图所示,微软每年约有 70% 的漏洞仍然是内存安全问题,如果这些程序用
Rust 编写,那么这 70% 的安全问题很可能就不存在。

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

我们曾报道过微软有意选择 Rust 作为 C 和 C++ 的安全替代方案,Rust 是由
Mozilla 主导的系统编程语言,专注于安全、速度和并发,它最初是 Mozilla
的一个研究项目,用于更安全、更快速地重写 Firefox
浏览器。微软表示之所以考虑
Rust,除了它能够以内存安全的方式编写系统级程序外,性能、精细的控制以及健康发展的社区都是他们青睐
Rust 的原因。

7 月份,我们报道过“微软正探索将 Rust 作为 C 和 C++
的安全替代方案”,根据微软的说法,Rust 是一种从根本上考虑安全性的编程语言,他们将尝试使用
Rust 重写各种产品,因为在过去的十年里,该公司 70%
以上的安全补丁都提供了与内存相关的错误,而
Rust 正是解决这个问题的“良药”。

图片 2

微软如果想使用
Rust 重写一些 Windows 组件,成为第一个这样做的操作系统制作商的话,那么应该要加快速度了,因为
Linux 项目也在考虑在一些内核驱动程序中使用 Rust。

(文/开源中国)    

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

  1. Linux 内核不保证 API/ABI 的稳定性,因此很难设计通用的 Rust
    接口。至少几乎不可能使它适用于所有版本的 Linux。
  2. 许多 C 语言特性没有相应的 Rust
    支持。例如,构造具有位域(bitfield)的结构体似乎是无法实现的。

来源:ZDNet

微软展示了拥抱 Rust 的意向,那么另一边的 Linux 对于 Rust
又是怎样的想法呢?

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

不过底下有开发者指出了目前使用 Rust
实现驱动程序()的不便之处:

图片 3

当然大多数开发者都同意 Rust
是一门很有前途的用于内核编程的语言,不过这需要大家的努力才能实现。

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