我对这两个概念感到困惑。xen拆分驱动程序模型和半虚拟化。这两个是一样的吗?当xen在完全虚拟化模式下运行时,您是否获得了拆分驱动程序模型?
发布于 2012-01-20 07:27:28
半虚拟化是对来宾操作系统的内核进行修改以使其知道它在虚拟硬件上运行而不是在物理硬件上运行的一般概念,因此可以利用这一点来获得更高的效率、性能或安全性等。半虚拟化内核可能根本不能在物理硬件上运行,就像试图在不兼容的硬件上运行操作系统一样。
分离驱动程序模型是用于创建高效虚拟硬件的一种技术。一个设备驱动程序在客户虚拟机(又称domU)内运行,并与控制域虚拟机(又称dom0)内的另一个相应的设备驱动程序通信。这对共同设计的设备驱动程序一起工作,因此可以被认为是一个单独的“分离”驱动程序。
拆分设备驱动程序的示例是Xen在运行半虚拟化来宾操作系统时的传统块和网络设备驱动程序。
在运行HVM来宾系统时,情况会比较模糊。当您第一次在HVM来宾中安装来宾操作系统时,它使用操作系统的本机设备驱动程序,这些驱动程序是为使用真实的物理硬件而设计的,Xen和dom0为新的来宾操作系统模拟这些设备。但是,当您随后在来宾系统中安装半虚拟驱动程序时(这些是您在XenServer或XenClient上安装在来宾系统中的“工具”,也可能安装在VMware等系统上)-那么,您将再次处于不同的配置中。这里有一个HVM客户机,它运行非半虚拟化的操作系统,但带有半虚拟的拆分设备驱动程序。
因此,为了回答您的问题,当您在完全虚拟化模式下运行时,您可能使用或不使用拆分设备驱动程序--这取决于它们是否实际安装为供来宾操作系统使用。最近的Linux内核已经包含了可以在HVM域中活动的半虚拟驱动程序。
发布于 2011-04-24 10:54:11
据我所知,它们是密切相关的,尽管不完全相同。拆分驱动程序意味着domU中的驱动程序通过与dom0中的相应驱动程序通信来工作。通信是通过超级调用来完成的,这些超级调用要求Xen虚拟机管理程序在域之间移动数据。半虚拟化意味着来宾域知道它在虚拟机管理程序下运行,并与虚拟机管理程序对话,而不是尝试与实际硬件对话,因此拆分驱动程序是半虚拟化驱动程序,但半虚拟化是一个更广泛的概念。
在HVM域中不使用拆分驱动程序,因为来宾操作系统使用自己的普通驱动程序,这些驱动程序认为它们是在与真正的硬件对话。
https://stackoverflow.com/questions/5768222
复制相似问题