![41994eb59021d5b0c0b8230a5a9b6ad3.png](https://i-blog.csdnimg.cn/blog_migrate/b5f6a2df08f3c648b2e6c4b67f79ecc3.jpeg)
物理机器是由CPU,内存和I/O设备等一组资源构成的实体。虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设备等组成。VMM(VM Monitor)按照与传统OS并发执行用户进程的相似方式,仲裁对所有共享资源的访问。前面的文章对虚拟化技术进行了总体的介绍,从本文开始,将分别讨论CPU虚拟化、内存虚拟化和I/O虚拟化技术的原理和实现。
在虚拟化的平台上,虚拟机(guest VM)所使用的多个虚拟CPU(以下称vCPU)可能是共享同一个物理CPU(以下称pCPU)的。VMM负责vCPU的调度,当一个vCPU被调度到获得pCPU的使用权后,基于该vCPU运行的guest OS又可以调度OS中的各个线程/进程了。也就是说,guest OS中的各个线程/进程分时复用了vCPU,而各个vCPU又分时复用了pCPU。
![cb6cc2d276b191786d9471c84d092b28.png](https://i-blog.csdnimg.cn/blog_migrate/33d3a6d46a1c96852da6ecd7a2e18a8b.jpeg)
为了从硬件上提供对vCPU调度和切换的支持,Intel推出了被称为VT-x(Virtualization Technology for x86)的CPU虚拟化扩展技术&