Full、 Para 和硬件辅助虚拟化之间的区别是什么?

我正在经历虚拟化的话题,我完全被理解基本概念吸引住了,维基百科确实提供了一些相关信息,但是对我来说理解基本概念还不够好。这个概念将是2至3行,但我不能找到他们在网上,也没有在书上。

如果有人给我这三种类型的基本理解,我会很高兴。我非常了解虚拟化,也非常理解它,但是这三种类型..。

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

  • 完全虚拟化 是一种虚拟化,在这种虚拟化中,客户操作系统不知道自己处于虚拟化环境中,因此硬件由主机操作系统虚拟化,以便客户可以对它认为是实际硬件的东西发出命令,但实际上只是主机创建的模拟硬件设备。

  • 硬件辅助虚拟化 是一种完全虚拟化类型,其中微处理器架构具有特殊的指令来帮助实现硬件的虚拟化。这些指令可能允许设置虚拟上下文,以便客户机可以直接在处理器上执行特权指令,而不会影响主机。这样的特性集通常称为 Hypervisor。如果上述指令不存在,完全虚拟化仍然是可能的,但它必须通过软件技术,如 动态重新编译,其中主机重新编译在客户端的特权指令,以便能够在主机上以非特权方式运行。

  • 还有一个叫做 混合虚拟化的完全虚拟化和完全虚拟化的组合,客户操作系统的某些部分使用半虚拟化来驱动某些硬件,而主机使用完全虚拟化来驱动其他功能。这通常会给客户带来卓越的性能,而不需要将客户完全虚拟化。这方面的一个例子: 客户端使用完全虚拟化来获取内核中的特权指令,但是在客户端使用一个特殊的驱动程序来处理 IO 请求半虚拟化。这样,来宾操作系统就不需要完全虚拟化,因为有时这是不可用的,但是仍然可以通过为来宾实现特殊的驱动程序来享受一些半虚拟化的特性。

在硬件辅助虚拟化的情况下,虚拟化设计在。指令集提供对主机进行分区的指令。以英特尔的 VT-x 技术为例。这样系统管理程序就可以直接与硬件一起工作,而不需要使用任何操作系统来访问硬件并提供完全的虚拟化