🎇服务器虚拟化——CPU虚拟化 🎇

488 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

物理机器是由CPU,内存和I/O设备等一组资源构成的实体。虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设备等组成。VMM(VM Monitor)按照与传统OS并发执行用户进程的相似方式,仲裁对所有共享资源的访问。之前对虚拟化技术进行了总体的介绍,从本文开始,将分别讨论CPU虚拟化、内存虚拟化和I/O虚拟化技术的原理和实现。

本文重点还是探讨ARM架构的CPU虚拟化,ARMv8架构是ARM公司为满足新需求重新设计的一个架构,引入了Execution State、Exception Level、Security State等新特性。如下图所示,ARMv8架构将处理器模式划分成四个Exception Level,其中Application位于特权等级最低的EL0,Guest OS位于EL1,提供虚拟化支持的Hypervisor位于EL2,提供Security支持的Security Monitor位于EL3。ARM支持TrustZone技术,所谓TrustZone是指把一个ARM处理器核分时复用为两个不同的处理器,在TrustZone可以运行一些安全强相关的功能,这个和ARM虚拟化无关,不再展开介绍。

image.png

和Intel x86相比,在虚拟机和VMM切换时,ARM平台并没有提供硬件操作来统一保存或恢复上下文,而需要软件来自主处理。

求点赞呀

image.png