深度探索Linux系统虚拟化:原理与实现
上QQ阅读APP看书,第一时间看更新

第1章 CPU虚拟化

在本章中,我们首先介绍了CPU虚拟化的基本概念,探讨了x86架构在虚拟化时面临的障碍,以及为支持CPU虚拟化,Intel在硬件层面实现的扩展VMX。我们介绍了在VMX扩展支持下,虚拟CPU从Host模式到Guest模式,再回到Host模式的完整生命周期。然后我们重点讨论了虚拟机CPU如何在Host模式和Guest模式之间切换,以及在Host模式和Guest模式切换时,KVM及物理CPU是如何保存虚拟CPU的上下文的。接下来,我们重点讨论了虚拟CPU在Guest模式下运行时,由于运行敏感指令而触发虚拟机退出的典型情况。我们以MMIO为例,向读者展示了KVM如何完整地模拟一个CPU指令,以及KVM是如何模拟多核处理器的。在本章的最后,我们通过一个具体的KVM用户空间的实例,向读者直观地展示了CPU虚拟化的概念。