Hyper-V 与 Windows Virtual PC

Hyper-V 与 Windows Virtual PC

在试用 Windows 8 消费者预览版时,我安装了 Hyper-V。

它看起来就像另一台 Windows Virtual PC。

有人能解释一下它有什么不同吗? 性能有差异吗? 我有什么理由选择其中一个而不是另一个吗?

答案1

有人能解释一下它有什么不同吗? 性能有差异吗? 我有什么理由选择其中一个而不是另一个吗?

正如您已经解释过的另一个答案,这两个项目之间存在一些架构差异。

粗略地说,对于 Intel VT 虚拟机管理程序而言,要激活虚拟机管理程序,您需要(以汇编语言)运行一系列特殊的指令,最终达到VMXON。这将启用虚拟机管理程序模式。

这项工作的一部分涉及根据虚拟机的扩展页表或 AMD 等效产品。这类似于设置页表(内存映射到哪里)的普通任务,只不过您针对虚拟机的整个内存区域执行此操作。以前的 VM 技术只是陷入了VM 退出此目的它们本质上类似于花哨的硬件中断。

这怎么指架构呢?嗯,构建虚拟机管理程序有两种选择:

  1. 构建一个独立的虚拟机管理程序,设置虚拟机监视器,然后等待客户操作系统。通常,它要么包含足够的操作系统来管理虚拟机,要么支持特权客户机。例如,Xen Hypervisor 包含一个能够管理虚拟机管理程序的“Dom0”“客户机”。

  2. 将虚拟机管理程序构建为现有内核的一部分,例如作为内核模块。代码可以在操作系统生命周期内的任何时间点作为 Intel VT 中的虚拟机监视器安装(假设具有足够的权限),也可以删除。因此,虚拟机管理程序代码只需根据需要在内存中设置必要的空间即可。

实际上,对于最终用户而言,区别在于,如果虚拟机管理程序是第一种类型,则必须重新启动才能卸载它。这是因为它本身就像一个操作系统。Hyper-V 就是这样的 - 例如,如果您安装了 Hyper-V,则无法安装 VirtualBox,因为两者都无法共享虚拟机监视器空间(因为 Hyper-V 已经拥有它)。为了卸载虚拟机管理程序,您需要重新启动。

简单来说:如果你安装了 Hyper-V,即使没有运行任何虚拟机,你也无法使用任何其他虚拟化产品。Virtual PC 则不会出现这种情况。

现在,谈谈性能。在类似 Intel VT 的系统上,无论是先加载操作系统还是先加载虚拟机管理程序,在性能方面可能都没有什么区别,因为这只是一个受 CPU 限制的区域,如果你已经在使用 CPU 硬件辅助虚拟化,那么你的速度已经是最快的了。

性能方面,虚拟化的差异来自于以下技术:半虚拟化并使用IO管理单元/DMA 重新映射简而言之,操作系统内存/CPU 的组织顺序不会对您是否能够有效地虚拟化硬盘、显卡等产生太大影响。

这听起来很像这篇博文Hyper-V 过去曾因消费者类型的虚拟化问题而出现问题:图形、声音等。我没有运行需要这些东西的 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 虚拟机管理程序的示例。

维基百科解释得很清楚

相关内容