1.4.2 开源嵌入式Hypervisor产品

除了前面介绍的商用闭源的Hypervisor产品外,也有一些开源的嵌入式Hypervisor产品。通过对这些开源软件的研究和学习,我们可以了解嵌入式Hypervisor的设计原理和工作机制。

1.K-Hypervisor

K-Hypervisor是一款Ⅰ型Hypervisor,旨在提供一个轻量级、可移植、配置灵活的虚拟化解决方案,运行在具有硬件虚拟化扩展的ARMv7平台。由于K-Hypervisor支持完全虚拟化,因此可以运行各种未经修改的客户操作系统,如Linux、RTOS以及裸机应用程序。K-Hypervisor架构如图1-19所示。

图1-19 K-Hypervisor架构

2.Xvisor

Xvisor也是一款开源的Ⅰ型Hypervisor,提供轻量级、可移植、配置灵活的虚拟化解决方案,其架构如图1-20所示。

Xvisor支持ARMv7a-ve、ARMv8a、X86-64、RISC-V架构,并且是首个支持RISC-V架构的Ⅰ型Hypervisor,支持完全虚拟化和半虚拟化。

3.ACRN

ACRN(https://projectacrn.org/)是Linux基金会发布的开源项目,是一个专为物联网和嵌入式设备设计的Hypervisor。该项目得益于Intel公司的支持,目标是创建一个灵活小巧的Hypervisor系统,其架构如图1-21所示。通过一个服务虚拟机(比如Linux),ACRN可以同时运行多个客户操作系统,如Android、其他Linux发行版或者RTOS,使其成为许多场景的理想选择。

图1-20 Xvisor架构

图1-21 ACRN架构