我正在向班级介绍虚拟化。
在研究过程中,我对裸机虚拟机管理程序和具有二进制转换的完全虚拟化模式感到困惑。
有人可以解释一下吗?
答案1
裸机 hupervisor(一种虚拟化)利用 CPU 功能,让客户操作系统感觉自己是计算机上唯一的操作系统。它们必然会虚拟化大部分设备访问,这样客户操作系统就不会造成问题。主要优势是速度,通常情况下速度非常快。
通过二进制翻译实现的虚拟化本质上是一个模拟器。它是在另一个操作系统中运行的程序,向您显示它对客户机的“分析”结果。例如,它不会运行将 1 + 2 相加的代码(并让 CPU 确定答案是 3),而是使用算法来评估代码,确定它正在将两个数字相加,找到这些数字,将它们相加,然后将结果呈现给您。如您所见,这是一个更加复杂的过程。主要优点是客户机的 CPU 不必与主机的 CPU 相同。
答案2
我不确定您在哪里看到了带有二进制翻译的完全虚拟化;例如?
裸机虚拟机管理程序通常被认为是类似于 VMWare 的 ESX(i) 工具。您有一台服务器只是处理虚拟化;您无法坐在控制台前浏览网页,而后台运行虚拟化引擎。它是用于虚拟化 PC 环境的专用服务器,通常是经过修改的 Windows 基本内核(用于 Microsoft 产品)或经过修改的专用 Linux 发行版(VMWare、Citrix 等),专门精简以与其产品包一起运行。
裸机的出现是因为您不需要安装多用户操作系统或进行任何配置。您购买服务器,放入 CD,十分钟后就可以开始配置虚拟机了。它实际上不是为您设计,只是创建虚拟机。另一种选择,如链接中所示,是让您将虚拟机管理程序作为托管应用程序运行,通过系统调用与已安装的操作系统共享对硬件的访问。
二进制翻译听起来像这样罗塞塔在 Mac 上,或者像 Java 或 .NET 字节码转换这样的虚拟机上。Rosetta 采用非本地代码并将其转换为本地版本,以便在不同的硬件平台上运行以获得更好的性能,而不是在系统调用进入时对其进行转换。对于 Mac,它采用 PowerPC 代码并让其在 Intel 处理器上运行。
答案3
裸机虚拟机管理程序(例如 VMWare ESXi)是直接在硬件上运行的虚拟机管理程序,中间没有操作系统,例如在 PC 或 Mac 上运行 VMWare Server/Fusion 或 Workstation,然后在虚拟化中运行另一个操作系统。在我看来,完全虚拟化意味着虚拟化作为客户机运行的操作系统可用的整个硬件,而不是像虚拟机有专用磁盘或 NIC 时那样将命令直接传递给硬件。根据课程主题,您应该包括硬件虚拟化,这是由 IBM 大型机完成的,或者在一定程度上通过 Intel VT 或 AMD-V 完成的。
答案4
我的观点是“裸机虚拟化”是营销语言,而不是技术语言,主要是由 VMWare 宣扬的,目的是给人一种错觉,即 ESX 更好,因为它“精简”或“专用”或更快。在我看来,这是胡说八道,并不意味着比 Hyper-V 或其他任何东西有任何技术优势。
我对 ESX 没有任何意见;我们在这里经常使用它,而且它确实有用。我发现虚拟化是营销白痴的最新狂潮。
至于“完全虚拟化”……又是营销垃圾。你可以阅读所有关于如何完成、差异、硬件支持等技术术语。可能对于你的课程来说太低级了。