Skip to content
equation314 edited this page Aug 6, 2020 · 2 revisions

RVM: Rcore Virtual Machine

RVM (Rcore Virtual Machine) 是一个用 Rust 语言编写的轻量级 hypervisor (虚拟机管理器,也叫 Virtual Machine Monitor、VMM) 模块,可用于构建各类虚拟机应用程序,实现在一台计算机上同时运行多个操作系统;由于其轻量性也可用于 hypervisor 的教学。

RVM 的设计参考 Google Fuchsia 操作系统 Zircon 内核的 hypervior 模块,其设计非常简洁、精巧,代码量远远小于 KVM,具备完整运行一些 Guest OS 的能力。利用 RVM API 可构建完全兼容 Zircon 系统调用的 hypervisor (例如 zCore),以便能直接运行 Fuchisa 中复杂的用户态虚拟机应用。

RVM 源于清华大学 2020 年春研究生《高级操作系统》课程项目,最初是 rCore OS 中的一个子模块,当初成功实现了在 rCore 中运行无修改的 μCore OS。现在已从中独立出来成为一个 crate,可供其他 Rust 应用调用,例如 zCore 的 hypervisor 模块就基于 RVM 实现。

目录

  1. Hypervisor 基本概念
  2. RVM 整体架构
  3. CPU 虚拟化
  4. 内存虚拟化
  5. I/O 虚拟化
  6. 中断虚拟化
Clone this wiki locally