2011-04-24 69 views
1

iam混淆了這兩個概念。 Xen拆分驅動程序模型和準虛擬化。這兩個是一樣的嗎?當xen以完全虛擬化模式運行時,你會得到拆分驅動程序模型嗎?xen split driver model

回答

1

據我所知,它們是密切相關的,雖然不完全一樣。拆分驅動程序意味着domU中的驅動程序通過與dom0中的相應驅動程序進行通信而工作。通信是通過超級調用來完成的,它要求Xen hypervisor在域之間移動數據。半虛擬化意味着來賓域知道它在虛擬機管理程序下運行,並且與虛擬機管理程序進行對話,而不是試圖與真實硬件對話,所以拆分驅動程序是半虛擬化驅動程序,但半虛擬化是更廣泛的概念。

拆分驅動程序不在HVM域中使用,因爲來賓操作系統使用自己的普通驅動程序,它認爲它們正在與真實硬件對話。

+0

@ user581734,不,他們不是。當您說「完全虛擬化模式」時,您正在討論用於運行未經修改的操作系統(如Windows)的HVM域。 – Wyzard 2011-04-24 13:41:18

5

準虛擬化是對來賓操作系統的內核進行修改以使其知道它在虛擬而不是物理硬件上運行的一般概念,因此利用此功能來提高效率或性能或安全等等。半虛擬化的內核可能無法在物理硬件上運行,與試圖在不兼容的硬件上運行操作系統的方式類似。

拆分驅動程序模型是創建高效虛擬硬件的一種技術。一臺設備驅動程序在客戶虛擬機(又名domU)內部運行,並與控制域虛擬機(又稱爲dom0)內的另一個相應設備驅動程序進行通信。這對代碼設備驅動程序一起工作,因此可以被認爲是一個單獨的「分裂」驅動程序。

拆分設備驅動程序的示例是運行半虛擬化guest虛擬機時Xen的傳統塊和網絡設備驅動程序。

運行HVM guest虛擬機時,情況變得模糊。當您首次在HVM guest虛擬機中安裝guest虛擬機操作系統時,它會使用設計用於真實物理硬件的操作系統的本機設備驅動程序,Xen和dom0將模擬這些設備用於新guest虛擬機。但是,當您在guest虛擬機中安裝半虛擬驅動程序時(這些是您在XenServer,XenClient以及VMware上的guest虛擬機中安裝的「工具」) - 那麼,您將採用不同的配置再次。你在那裏有一個HVM guest虛擬機,運行一個非半虛擬化的操作系統,但是具有半虛擬分離設備驅動程序。

因此,要回答您的問題,當您以完全虛擬化模式運行時,您可能會或可能不會使用拆分設備驅動程序 - 這取決於它們是否實際安裝以供guest虛擬機操作系統使用。最近的Linux內核已經包含了可以在HVM域內活動的半虛擬驅動程序。