Full,Para和Hardware辅助虚拟化有什么区别?

Muh*_*raz 62 virtualization vmware operating-system virtual-machine

我正在讨论虚拟化的主题,问这个问题似乎有点傻,但我完全理解了基本概念,维基百科确实提供了一些相关信息,但对我来说理解基本概念还不够.这个概念将是2到3行,但我既不能在网上找到它们,也不能在书上找到它们.

如果有人给我这三种类型的基本概念,我会很高兴的.我很清楚虚拟化并且理解它很好,但这三种类型......

Dou*_*gvj 133

  • 虚拟化是虚拟化,其中客户操作系统(虚拟化的客户操作系统)知道它是来宾,因此具有驱动程序,而不是发出硬件命令,而是直接向主机操作系统发出命令.这还包括内存和线程管理,它们通常需要处理器中不可用的特权指令.

  • 完全虚拟化是虚拟化,其中客户操作系统不知道它在虚拟化环境中,因此硬件由主机操作系统虚拟化,以便客户可以发出命令到它认为是实际的硬件,但实际上只是模拟主机创建的硬件设备.

  • 硬件辅助虚拟化是一种完全虚拟化,其中微处理器体系结构具有帮助硬件虚拟化的特殊指令.这些指令可能允许设置虚拟上下文,以便guest虚拟机可以直接在处理器上执行特权指令,而不会影响主机.这样的功能集通常称为 Hypervisor.如果不存在所述指令,则仍然可以使用完全虚拟化,但必须通过动态重新编译等软件技术来完成,其中主机可以在guest虚拟机中重新编译特权指令,以便能够以非特权方式在主办.

  • Para虚拟化和完全虚拟化的组合称为混合虚拟化,其中客户操作系统的某些部分对某些硬件驱动程序使用半虚拟化,而主机使用完全虚拟化来实现其他功能.这通常会在客户端产生出色的性能,而无需客户端完全进行半虚拟化.例如:guest虚拟机对内核中的特权指令使用完全虚拟化,但使用guest虚拟机中的特殊驱动程序对IO请求进行半虚拟化.这样客户操作系统不需要完全半虚拟化,因为这有时不可用,但仍然可以通过为客户实现特殊驱动程序来享受一些半虚拟化功能.

  • 如前所述,在半虚拟化中,相比于在完全虚拟化的情况下向由虚拟机管理程序创建的伪硬件设备发布硬件命令,来宾知道并向主机OS发出命令。对于没有主机操作系统的类型1虚拟机管理程序,半虚拟化如何发生令我感到困惑。来宾向谁发出硬件命令? (2认同)
  • @gauravparashar它将直接向管理程序发出命令,就好像它是主机操作系统一样。虚拟机监控程序至少必须具有基本的半虚拟化API,从这个意义上讲,它是一个非常基本的主机OS。 (2认同)