XCP-ng 尝试用 Rust 重写 Xen 组件


XCP-ng 是由 Linux 基金会主办的 Xen Project 孵化项目,近日,其团队发博客称将要将 Rust 引入 Xen 项目,使用 Rust 重写一些 Xen 组件。

Xen 是由剑桥大学开发的 x86 开源虚拟机监控器 (VMM),支持在单个机器上高性能地虚拟化多个操作系统。

XCP 项目的整个平台包含许多不同的程序:Xen(管理程序)、XAPI(API/工具栈)、SMAPI(存储堆栈)和访客工具等其他组件。它们混合了多种语言,如 C、Python、OCaml 甚至 Go,有些组件不知何故变得非常陈旧且不易维护。

至于选择 Rust ,团队也给出了相应的解释,首先是 Rust 同时带来性能和内存安全,这对于 XCP-ng 这样的虚拟化平台非常优秀,其次,Rutst 没有垃圾收集器,还有借用检查器等额外功能... 最最最重要的是,Rust 能在不同级别的场景中工作,它既能代替 Go 和 Python 写应用层,也能代替 C 语言写底层逻辑。

当然,一口吃不成胖子,XCP-ng 团队肯定不会一下子用 Rust 重写整个 Xen 管理程序,现在的目标是开始替换一些较小的组件,让项目的编程语言相对统一化。目前最新的计划是用 Rust 重写 两个组件:Linux 来宾工具(目前在 Go 中)和指标守护程序(目前在 OCaml 中)。

感兴趣的人可以在 XCP-ng 博客上了解更多详细信息。


相關推薦

2023-03-03

图形驱动程序,现在又有第二个图形相关的内核驱动程序尝试使用 Rust  —— 内核中的“VGEM”驱动程序正在用 Rust 编程语言重写。 VGEM(Virtual GEM) 是 Linux 4.1 版本引入的虚拟 GEM 提供者,作为最小的非硬件支持的图形执行管

2023-04-29

到优秀的 C/C++ 工程师更容易,因为很多工程师都有兴趣尝试学习该语言。“对于我们这些依赖 Rust 的人来说,微软正在使用它并希望支持它,这真的很令人兴奋。”

2023-02-05

llabora 的 Faith Ekstrand 近日发文,介绍了有关考虑使用 Rust 重写 Mesa Vulkan 驱动的工作。这项工作的设计目标包括让 Rust Vulkan 驱动封装尽可能 clean 和“Rust-like”、跟踪可变性和生命周期,并尽可能使用 Vulkan allocators。 目前,Mesa

2023-03-01

同的服务。 近日,Cloudflare 工程师介绍了如何使用 Rust 重写基于 C 语言的 Nginx 模块。Cloudflare 工程师在博客写道,他们用 Rust 为 Cloudflare 基础设施中最古老和最不为人所知的部分——cf-html,编写了替代品。这是一个 Nginx 模块,

2022-02-25

导致进程无法响应请求。 为了解决此问题,Discord 决定尝试用 Rust 重写这个服务。测试结果显示,使用 Rust 重写后的速度提升超 10 倍,最慢的尾部延迟时间也降低至为原来的约 1%。 下图是运行过程中 CPU 和响应时间的峰值

2023-08-31

互联网安全研究小组 (ISRG) 发起的 Prossimo 项目——用 Rust 重写 sudo 和 su,目标是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 sudo(substitute user [或 sup

2023-11-28

。 项目维护者 Fabian Boehm 今天在 GitHub 回应了使用 Rust 重写 Fish Shell 的进度,称已几乎完成。 根据开发者的说法,他们已经完成了从 C++ 到 Rust 的大部分移植工作,但还有一些剩余的组件需要进行翻译。目前,他们正在处

2023-11-16

Vjeux 在 Twitter 发帖,寻求有能力的开发者来使用 Rust 重写前端代码格式化工具 Prettier,并悬赏 1 万美元。 使用 Rust 实现更快、更美观的 printers 引起了广泛关注。但主要问题在于,它们都无法与 prettier 的长尾格式化逻

2023-02-02

,不需要任何配置。 fish 作者近日提交 PR 称要用 Rust 重写 Fish Shell 项目。 他认为应该将 Fish Shell 的开发语言从 C++ 过渡到 Rust,目标是在下一个主要版本发布之前完成它,重写原因包括: 没有人真正喜欢 C++ 或 CMake,也

2023-07-18

ider Preview Build 25905)。 发布公告提到此版本已经使用 Rust 重写 Windows 11 内核中的部分模块。 据介绍,该预览版使用 safe Rust 对关键内核功能进行了早期实现。具体来说,win32kbase_rs.sys 包含 Windows GDI region 的新实现。虽然

2023-04-24

有生产力, 但是又鄙视JavaScript的混乱语法和标准, 必须尝试TypeScript, 基本上是大前端的标配, 像我这种野生程序员, 不用太偏向语言派系之间的纯洁理念, 架构好才是真的好, 大部分代码都会被重构删除的,因为你的认知

2023-05-05

互联网安全研究小组 (ISRG) 的 Prossimo 项目正在用 Rust 重写 sudo 和 su,目标是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 据介绍,Prossimo 选择的软件会重

2023-01-19

发团队去年将原本用 Ruby 编写的 CLI 工具改用 Node 进行了重写,并在近日介绍了这项决定背后的原因和权衡。 Shopify CLI 是 Shopify 平台开发者的重要工具,能够用于构建主题、应用程序和 Hydrogen 开发,让开发者以最佳实践创建

2023-03-12

时;开发环境的耗时也超过十几分钟。 他们在 Webpack 上尝试了多种方法去优化这些项目的编译速度,但是社区内存在的方案都或多或少存在一些问题,在对这些问题总结后,他们理解到工程师对构建工具的诉求是: 良好的 D