全虚拟化和半虚拟化的差别
全虚拟化
Hypervisors 通过一个仿真硬件层为其上的每个 Guest 操作系统(虚拟机)仿真出一个
具有常用硬件设备的标准服务器,当一个运行的 Guest 系统试图用特权指令控制硬 件时,
hypervisor 会将真实的硬件隐藏起来,并仿真一个硬件设备给 Guest 系统,从而使得
Guest 系统无需修改代码就可以安全地访问硬件。该 技术使得 Guest 系统无法任何修改
就可在不支持 Intel VT/AMD-V 的 CPU 上运行,但该技术的复杂性也降低了系统的性能。
半虚拟化
Guest 系统在访问真实硬件时是重用当前系统的驱动,而不是通过仿真的硬件实现的。
Guest 系统和 hypervisor 交互是通过一个高效、底层的的 API(hypercall API)来实现
的,这使得 hypervisor 和 Guest 系统可以共同最优化地使用底层的硬件和 I/O,从而可
获得极高的运行性能。
评论0
最新资源