
在試用 Windows 8 Consumer Preview 時,我安裝了 Hyper-V。
它看起來就像是另一台 Windows 虛擬 PC。
有人可以解釋一下它有什麼不同嗎?有性能差異嗎?我有什麼理由選擇其中一個而不是另一個?
答案1
有人可以解釋一下它有什麼不同嗎?有性能差異嗎?我有什麼理由選擇其中一個而不是另一個?
正如您已經解釋的另一個答案,這兩個項目之間存在一些架構差異。
粗略地說,就 Intel VT 虛擬機管理程序而言,要激活虛擬機管理程序,您需要運行(在彙編中)特殊的指令序列,最終生成VMXON
.這將啟用管理程序模式。
這份工作的一部分涉及根據虛擬機的功能來定義虛擬機擴充頁表或 AMD 同等產品。這類似於設定頁表(記憶體映射到哪裡)的普通任務,只不過您是為虛擬機器的整個記憶體區域執行此操作。以前的VM技術只是受困用於此目的的 VM 退出這本質上就像是奇特的硬體中斷。
這是如何指建築學的?那麼,建立虛擬機器管理程式有兩種選擇:
建立一個獨立的虛擬機器管理程式來設定虛擬機器監視器,然後等待來賓作業系統。通常,它要么包含足夠的自己的作業系統來管理虛擬機,要么支援特權來賓。例如,Xen Hypervisor 包括一個“Dom0”“guest”,它能夠管理該 hypervisor。
將虛擬機器管理程式建構成現有核心的一部分,例如作為核心模組。程式碼可以在作業系統生命週期內的任何時刻(假設有足夠的權限)作為虛擬機器監視器安裝在 Intel VT 中,也可以刪除。因此,管理程式程式碼只需根據需要在記憶體中設定必要的所需空間。
實際上,最終用戶的區別在於,如果虛擬機器管理程式是第一種類型,則無需重新啟動就無法卸載它。這是因為它本身就像一個作業系統。 Hyper-V 的行為是這樣的 - 例如,如果您安裝了 Hyper-V,則無法安裝 VirtualBox,因為兩者無法共用虛擬機器監視器空間(因為 Hyper-V 已經擁有它)。為了卸載虛擬機器管理程序,您需要重新啟動。
簡而言之:如果你安裝了Hyper-V,即使你沒有運行任何虛擬機,你也將無法使用任何其他虛擬化產品。 Virtual PC 的情況並非如此。
現在,性能。在類似Intel VT 的系統上,無論您首先載入作業系統還是虛擬機器管理程序,在效能方面可能沒有什麼區別,因為這只是CPU 限制區域,如果您已經在使用CPU 硬體輔助虛擬化,那麼您的速度會一樣快無論如何你都能得到。
效能方面,虛擬化的差異來自於以下技術:半虛擬化以及使用IOMMU/DMA 重新映射。簡而言之,作業系統記憶體/CPU 的組織順序不會像能否有效地虛擬化硬碟、顯示卡等裝置那樣產生太大的影響。
聽起來很像這篇博文Hyper-V 過去在消費者類型的虛擬化問題上存在問題:圖形、聲音等。
答案2
Hyper V 將提供比 Windows Virtual PC 更好的效能
http://en.wikipedia.org/wiki/Hypervisor
Robert P. Goldberg 將虛擬機器管理程式分為兩種:[5]
類型 1(或本機、裸機)虛擬機器管理程式直接在主機硬體上執行,以控制硬體並管理來賓作業系統。因此,來賓作業系統在虛擬機器管理程式之上的另一個層級上運作。
該模型代表了虛擬機器架構的經典實作;最初的虛擬機器管理程式是測試工具 SIMMON 和 CP/CMS,兩者都是 IBM 在 20 世紀 60 年代開發的。 CP/CMS 是IBM z/VM 的祖先。現代的等同物是 Citrix XenServer、VMware ESX/ESXi 和 Microsoft Hyper-V 虛擬機器管理程式。
類型 2(或託管)虛擬機器管理程式在傳統作業系統環境中運作。由於虛擬機器管理程式層作為獨特的第二個軟體級別,來賓作業系統在硬體之上的第三級別運行。 KVM、BHyVe 和 VirtualBox 是 2 類虛擬機器管理程式的範例。
維基百科解釋得很清楚