xen split driver model

问题描述:

iam混淆了这两个概念。 Xen拆分驱动程序模型和准虚拟化。这两个是一样的吗?当xen以完全虚拟化模式运行时,你会得到拆分驱动程序模型吗?xen split driver model

据我所知,它们是密切相关的,虽然不完全一样。拆分驱动程序意味着domU中的驱动程序通过与dom0中的相应驱动程序进行通信而工作。通信是通过超级调用来完成的,它要求Xen hypervisor在域之间移动数据。半虚拟化意味着来宾域知道它在虚拟机管理程序下运行,并且与虚拟机管理程序进行对话,而不是试图与真实硬件对话,所以拆分驱动程序是半虚拟化驱动程序,但半虚拟化是更广泛的概念。

拆分驱动程序不在HVM域中使用,因为来宾操作系统使用自己的普通驱动程序,它认为它们正在与真实硬件对话。

+0

@ user581734,不,他们不是。当您说“完全虚拟化模式”时,您正在讨论用于运行未经修改的操作系统(如Windows)的HVM域。 – Wyzard 2011-04-24 13:41:18

准虚拟化是对来宾操作系统的内核进行修改以使其知道它在虚拟而不是物理硬件上运行的一般概念,因此利用此功能来提高效率或性能或安全等等。半虚拟化的内核可能无法在物理硬件上运行,与试图在不兼容的硬件上运行操作系统的方式类似。

拆分驱动程序模型是创建高效虚拟硬件的一种技术。一台设备驱动程序在客户虚拟机(又名domU)内部运行,并与控制域虚拟机(又称为dom0)内的另一个相应设备驱动程序进行通信。这对代码设备驱动程序一起工作,因此可以被认为是一个单独的“分裂”驱动程序。

拆分设备驱动程序的示例是运行半虚拟化guest虚拟机时Xen的传统块和网络设备驱动程序。

运行HVM guest虚拟机时,情况变得模糊。当您首次在HVM guest虚拟机中安装guest虚拟机操作系统时,它会使用设计用于真实物理硬件的操作系统的本机设备驱动程序,Xen和dom0将模拟这些设备用于新guest虚拟机。但是,当您在guest虚拟机中安装半虚拟驱动程序时(这些是您在XenServer,XenClient以及VMware上的guest虚拟机中安装的“工具”) - 那么,您将采用不同的配置再次。你在那里有一个HVM guest虚拟机,运行一个非半虚拟化的操作系统,但是具有半虚拟分离设备驱动程序。

因此,要回答您的问题,当您以完全虚拟化模式运行时,您可能会或可能不会使用拆分设备驱动程序 - 这取决于它们是否实际安装以供guest虚拟机操作系统使用。最近的Linux内核已经包含了可以在HVM域内活动的半虚拟驱动程序。