- 嵌入式Hypervisor:架构、原理与应用
- 孙陈伟
- 496字
- 2024-09-11 17:40:39
2.3.3 PRTOS Hypervisor的多核支持
为了更清楚地描述PRTOS Hypervisor对多核处理器的支持情况,这里再次解释一下3个专用名词。
1)pCPU:硬件平台中可以识别出的物理CPU。
2)vCPU:PRTOS Hypervisor提供给分区的虚拟处理器。
3)分区:PRTOS Hypervisor提供的运行时环境,并提供给分区一组vCPU,这些vCPU对应物理环境中的pCPU。在PRTOS的设计中,vCPU和pCPU是多对多(M:N)的关系。但是从系统的实时性角度考虑,每个分区中定义的vCPU的数量不应该超过硬件平台中pCPU的数量。
PRTOS的目标是向分区提供vCPU,就像支持多核的操作系统在没有虚拟化层的情况下提供pCPU的情况一样。从这个角度来看,虚拟化层的工作如下。
1)将所有pCPU虚拟化并映射到vCPU,提供vCPU给分区使用。
2)PRTOS Hypervisor在初始化阶段初始化每个pCPU。
3)初始化阶段结束后,开始执行循环调度表策略。
4)初始化每个分区中标识为vCPU0的虚拟CPU。从分区的角度来看,提供给分区的vCPU可以是一个或多个。
5)在只含有一个vCPU的分区中使用vCPU0标识这个vCPU,如图2-3a所示。
①PRTOS Hypervisor负责启动vCPU0。
②通过PRTOS系统配置文件,vCPU0可以分配给任何pCPU。
6)在多核分区中,只有vCPU0由PRTOS Hypervisor初始化,如图2-3b所示。
①在分区中,由vCPU0负责初始化剩余所需启动的vCPU。
②通过PRTOS系统配置文件,所有的vCPU都可以分配给任何pCPU。
图2-3 PRTOS单核/多核分区方案