From 771e5cd50e7883409365348194a68e66287adf39 Mon Sep 17 00:00:00 2001 From: Bin Wu Date: Tue, 12 Oct 2021 07:10:27 +0000 Subject: [PATCH] docs: add the top architecture Update the top architecture of the Capsule hypervisor which depicts layers and thread models. Signed-off-by: Bin Wu --- docs/assets/capsule.png | Bin 0 -> 112540 bytes docs/assets/cpu_modes.png | Bin 47768 -> 44997 bytes docs/design.md | 58 +++++++++++++++++++++++++++++++------- 3 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 docs/assets/capsule.png diff --git a/docs/assets/capsule.png b/docs/assets/capsule.png new file mode 100644 index 0000000000000000000000000000000000000000..7416e1221c5f6ac43c29a2c7054cf39b16c640f4 GIT binary patch literal 112540 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

G~FP1q|n3FeFwq_(F<79?@$shan&F7ou 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 literal 47768 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 KrF2DOum20aCT~vw diff --git a/docs/design.md b/docs/design.md index 00528c6..747d9b1 100644 --- a/docs/design.md +++ b/docs/design.md @@ -1,10 +1,10 @@ 本文档包含了Capsule Hypervisor的设计思路。 -# 功能性 +# 1. 功能性 Capsule Hypervisor基于软硬结合的思路,采用一套架构支持通用虚拟机(Common Virtual Machine)、安全容器(Micro-VM)、逻辑分区(Logical Partition)三种运行形态。 -## 虚拟机 +## 1.1. 虚拟机 对虚拟机的支持是Capsule Hypervisor的基本功能。为了让虚拟机能够以无差别方式运行为真实机器开发的软件,虚拟机就必须像真实的机器一样包含CPU、内存、IO设备、IO总线和其它系统组件。 @@ -13,7 +13,7 @@ Capsule Hypervisor基于软硬结合的思路,采用一套架构支持通用 虚拟CPU是一台虚拟机的核心部件,而执行指令是它的核心功能。借助硬件辅助虚拟化技术(如Intel的VT-x技术),虚拟机内部的指令可以直接在物理CPU上执行,从而提升执行性能。因此,物理CPU需要为宿主机软件和虚拟机软件准备不同的执行环境或模式。对于支持VT-x特性的Intel CPU,根模式(Root Operation)用来执行宿主机软件,而非根模式(Non-Root Operation)用来执行虚拟机软件。类似地,ARM架构的CPU使用EL0/EL2模式来执行宿主机软件,使用EL0/EL1模式来执行虚拟机软件。 尽管不同CPU体系统架构具有不同的硬件辅助虚拟化实现方式,但是基本流程是相似的,如下图所示:

- +
对于每个虚拟CPU来说,它是宿主机上的一个普通线程,具备宿主机状态。经过一系统的初始化动作后,宿主机上的虚拟CPU线程会进入到(entry)虚拟机模式,开始按虚拟机状态发生变化。此时,大部分的虚拟机指令可以在此模式直接运行,只有当某些特殊情况发生时(如X86架构下端口操作指令访问的端口并不真实存在),物理CPU会退出(exit)回到宿主机模式,退出前虚拟机的状态会被保存,而退出后宿主机状态被恢复,物理CPU重新进入虚拟CPU线程开始仿真(emulate)虚拟机的指令(与CPU体系架构相关,需要一个个单点分析)。仿真动作完成后,物理CPU又继续回到虚拟机模式并恢复虚拟机的状态开始执行,直到下一次退出的发生。 @@ -38,17 +38,55 @@ Capsule Hypervisor基于软硬结合的思路,采用一套架构支持通用 包含虚拟机运行过程中必需的固件和传统外设。 -## 逻辑分区 +## 1.2. 逻辑分区 逻辑分区可以看成是虚拟机的一个特例,CPU、内存和外设均以独占的方式使用,无法复用和调度,实现思路如下图所示:
- +
-其中,管理分区是Capsule Hypervisor所运行的系统,一旦某个物理CPU被分配给一个逻辑分区后,该物理CPU就会从管理分区中下线,完全脱离管理分区的管辖(无法对分区中的CPU进行任务调度),并重新进入初始化过程,进而开始执行逻辑分区中的程序;物理内存会被划分成独立的区间供不同逻辑分区命名用,通过硬件辅助虚拟化技术中的内存隔离能力可以确保不同逻辑分区不会相互干扰,但是GPA到HAP转换阶段不会产生缺页异常;此外,外部设备借助虚拟设备直通技术以独占方式被逻辑分区使用。 +其中,管理分区是Capsule Hypervisor所运行的系统,一旦某个物理CPU被分配给一个逻辑分区后,该物理CPU就会从管理分区中下线,完全脱离管理分区的管辖(无法对分区中的CPU进行任务调度),并重新进入初始化过程,进而开始执行逻辑分区中的程序;物理内存会被划分成独立的区间供不同逻辑分区使用,通过硬件辅助虚拟化技术中的内存隔离能力可以确保不同逻辑分区不会相互干扰,但是GPA到HPA转换阶段不会产生缺页异常;此外,外部设备借助虚拟设备直通技术以独占方式被逻辑分区使用。 -## 用户态与内核态接口 +## 1.3. 顶层架构 + +通过对Capsule Hypervisor所支持的虚拟机和逻辑分区功能分析,可知从功能性角度,其整体架构如下图: + +
+ +
+ +Capsule Hypervisor包含内核和用户态辅助程序两部分。内核部分由Linux和Capsule Core组成,Linux为正在开发的[Rust for Linux分支](https://github.com/Rust-for-Linux/linux),Capsule Core为本项目对应代码。对于普通虚拟机和安全容器,用户态辅助程序(如StratoVirt)配合内核部分实现;而对于逻辑分区即主要由内核Capsule Core支持。Capsule Core通过一套架构两种模式支持虚拟机和逻辑分区:共享模式支持虚拟机;独占模式支持逻辑分区。 + +### 线程模型(运行态) + +>* 对于普通虚拟机和安全容器形态,运行线程遵循Linux线程模型。虚拟机的每个CPU对就一个vCPU线程,所有虚拟机的设备可以共用一个IO线程,也可独占线程;所有这些线程受Linux线程调度机制管理。 + +>* 对于逻辑分区形态,出于安全和实时性考虑,分区CPU对Linux不可见,因此需要设计一套精简的面向逻辑分区CPU的专用线程模型。 + +### 代码目录结构(构建态) + +``` +capsule +|--arch: CPU体系架构相关代码 +| |--x86: x86架构相关 +| | |--vmx: Intel的实现 +| | |--svm: AMD的实现 +| | |--xxx.rs: 架构公共代码 +| |--arm64: arm64架构相关 +| +|--main.rs: 体系无关公共代码入口 +|--vm.rs +|--cpu.rs +|--memory.rs +|--bus.rs +|--interrupt_controller.rs +|--irqfd.rs +|--eventfd.rs +|--xxx.rs +``` + +### 用户态与内核态接口 内核模块呈现全局唯一/dev/capsule字符设备,用户态模块通过ioctl使用全局基本功能: >* API兼容性获取; @@ -64,8 +102,8 @@ Capsule Hypervisor基于软硬结合的思路,采用一套架构支持通用 每个虚拟CPU对应一个字符设备,用户态模块通过ioctl使用虚拟CPU相关基本功能: >* 开始执行,进入虚拟机模式; -# 性能 +# 2. 性能 -# 安全性 +# 3. 安全性 -# 可靠性 +# 4. 可靠性 -- Gitee