莫非我们假的处理器和RAM与虚拟机管理程序?

问题描述 投票:2回答:2

我听到了很多关于“管理程序不是模拟器。如果您需要效仿其他硬件规格比你的电脑有,你需要使用仿真器,而不是管理程序”。

好了,但昨天我看到YouTube上的这段视频 - click here - 它展示了如何在现代的MacOS在VMware Fusion安装Win 95。

我奇怪的是,在17:39你可以看到,运95虚拟机是“Pentium Pro的64 MB RAM”。

enter image description here

哼!因此,融合莫名其妙伪造的处理器和内存,对不对?但它不是模拟器,对不对?那么,这是否意味着,任何管理程序可以假冒处理器和内存?

virtual-machine emulation vmware virtualization hypervisor
2个回答
1
投票

在其发布的时候,Windows 95只有代码来识别CPUIDs高达Pentium Pro的。任何处理器不低于Pentium Pro的是“称为” Pentium Pro的。

主要的区别是管理程序无法模拟CPU的代码。所有代码都必须在原有的处理器上运行。

管理程序做模拟BIOS,它在告诉OS的硬件规格可用;包括RAM,引导顺序和外设连接。


1
投票

当你在谈论VMware Fusion的这种工作方式依赖于虚拟化技术是如何实现的。据wikipedia VMware Fusion的利用硬件辅助虚拟化,动态二进制转换和半虚拟化。

hardware-assited virtualization情况下,@Strom是正确的评价和指令可以直接在主机CPU上执行。此外@Strom的回答,您可以伪造通过捕获并模仿CPUID指令的CPU类型。

para-virtualization情况下,你通过调用该模拟代表客户的指令管理程序替换关键的指示。所以,再一次可以模拟CPUID指令为“假” CPU类型。请记住,这需要修改的,因此准虚拟化,客户操作系统。

最后,dynamic binary translation扫描运行过程中关键指令来宾代码,并可以通过陷阱替换他们到虚拟机管理程序实现某种“活的半虚拟化”或翻译的来宾代码块成主机代码相当于块,根据修改虚拟机状态原客代码(这是如如何QEMU全系统仿真器工作)。其结果是,你又能够“假”通过模拟CPUID指令的CPU类型。请注意,宾主可以在这种情况下,相同的架构,但没有必要为此。

当然以上技术的组合也是可行的。

至于主存储的虚拟化,系统管理程序是在硬件的完全控制,所以你可以简单地与主内存64MB仅仅配置一个虚拟机。该虚拟机是不是能够“看到”比这更因为不久以上讨论的技术。

请记住,这只是给虚拟化的一个很简短的介绍,我试图保持短和信息,所以我知道我的解释是部分不是很准确。如果你在虚拟化很感兴趣,我建议阅读“虚拟机:用于系统和流程通用平台”或波普克&戈德堡关于这个专题的论文和“Xen和虚拟化的艺术”

© www.soinside.com 2019 - 2024. All rights reserved.