英语
ACRN 虚拟机监控程序介绍¶
ACRN 虚拟机监控程序是一个 Type 1 虚拟机监控程序,直接运行在裸机硬件上。它有一个特权管理虚拟机,称为服务虚拟机 (Service VM),用于管理用户虚拟机 (User VM) 并进行 I/O 仿真。
ACRN 用户空间是在服务虚拟机中运行的应用程序,它根据命令行配置为用户虚拟机模拟设备。ACRN 虚拟机监控程序服务模块 (HSM) 是服务虚拟机中的一个内核模块,它为 ACRN 用户空间提供虚拟机监控程序服务。
下图显示了其架构。
Service VM User VM
+----------------------------+ | +------------------+
| +--------------+ | | | |
| |ACRN userspace| | | | |
| +--------------+ | | | |
|-----------------ioctl------| | | | ...
|kernel space +----------+ | | | |
| | HSM | | | | Drivers |
| +----------+ | | | |
+--------------------|-------+ | +------------------+
+---------------------hypercall----------------------------------------+
| ACRN Hypervisor |
+----------------------------------------------------------------------+
| Hardware |
+----------------------------------------------------------------------+
ACRN 用户空间为用户虚拟机分配内存,配置并初始化用户虚拟机使用的设备,加载虚拟引导加载程序,初始化虚拟 CPU 状态并处理来自用户虚拟机的 I/O 请求访问。它使用 ioctl 与 HSM 通信。HSM 通过超调用 (hypercall) 与 ACRN 虚拟机监控程序交互,实现虚拟机监控程序服务。HSM 将字符设备接口 (/dev/acrn_hsm) 导出到用户空间。
ACRN 虚拟机监控程序对任何人开放贡献。源代码仓库可在 https://github.com/projectacrn/acrn-hypervisor 获取。