• 埃森哲在工业软件正从C++转向Rust
  • 发布于 1个月前
  • 68 热度
    0 评论
在埃森哲的技术实验室(ESR),专注于开发汽车软件。从历史上看,他们在大多数项目中都使用C++语言。然而,当Rust 1.0发布时,他们在官方使用的技术堆栈中加入了Rust。同年,他们已经在一个车载项目的ECU上实现了一个较小的组件。到目前为止,它已被部署在路上的数百万辆汽车上。

从那时起,ESR一直在关注Rust的发展,并将越来越多的新软件开发项目转移到Rust上。到目前为止,主要在嵌入式Linux系统的上下文中使用Rust,也越来越多地在裸机系统的上下文中使用Rust。在下一阶段,ESR将在核心嵌入式安全关键系统(基于微控制器的ecu)的上下文中使用它。

埃森哲为什么使用Rust?
关于Rust的好处已经写了很多。现在很明显,软件行业已经采用了Rust。很好的例子是一些主要的参与者,如谷歌、微软和Meta,他们明确地声明了在使用Rust时看到的好处。除了大型科技公司外,我们看到汽车行业也越来越感兴趣。一些公司已经开始在他们的项目中使用Rust。一个突出的例子是Volo Cars。

对埃森哲来说,使用Rust作为一种技术是很有意义的。内存安全和高性能的强大结合是真正的游戏规则改变者。他们正在为安全关键系统构建软件,与此同时,他们也正在为汽车嵌入式系统构建软件,其中性能至关重要。

C++能够满足性能要求。然而,由于C语言中缺乏内存安全性,很难提出一个既高效又正确的解决方案。Rust提供了解决性能和内存安全这两方面挑战的所有工具。此外,Rust有一个很棒的社区和生态系统,这使得入门和在寻求帮助时很容易。

特别是对于安全关键型系统,Rust具有完全改变开发现状的潜力。这是一个由C++语言主导了几十年的领域,但Rust有可能改变这一点。

除了语言本身,工具链也是实现功能安全的重要元素。Ferrous Systems在这方面做得很好,它是一个开源的Rust编译器工具链,通过了ISO 26262 ASIL D认证,这使得在Rust中开发安全关键型系统成为可能。

埃森哲开源的Rust项目
很长一段时间以来,埃森哲一直相信开源是软件行业进步的最佳途径。因此,他们已经开始向Rust开源生态系统贡献了一些项目。

下面是埃森哲开源的Rust项目:
Northstar
Northstar是一个开源嵌入式容器运行时,针对速度和资源使用进行了优化。Northstar结合了几个标准的Linux进程隔离和沙箱功能,以在容器/进程之间获得中等级别的隔离。Northstar使用Tokio运行时。它被设计用于嵌入式Linux系统。

github地址:https://github.com/esrlabs/northstar

Heimlig
Heimlig是一个用Rust编写的嵌入式平台的硬件安全模块(HSM)固件。
github地址:https://github.com/eclipse-heimlig/heimlig

Chipmunk
Chipmunk是一个跨平台的日志查看应用程序,可以很容易地处理非常大的日志文件。它的核心是用Rust编写的,捆绑在一个电子应用程序中。
github地址:https://github.com/esrlabs/chipmunk

埃森哲未来的计划是在客户项目中稳步增加Rust的使用;计划在安全关键型系统的上下文中使用Rust;同时,还将继续为Rust社区贡献更多的项目。
用户评论