我认为虚拟机只是允许在其自己的沙盒环境中并行加载另一个操作系统。
它仅限于与主机操作系统相同的硬件架构。
使用 Intel VT(及类似技术),可以在 32 位主机上运行 64 位版本的操作系统。
例如 VirtualBox 和 VMWare。
但 QEMU 是一个硬件模拟器:它模拟整个计算机,并且(可能)模拟整个架构,模拟每个部件。
这不限于同一架构。
我们可以在 x64 CPU 上运行 QEMU 上的 ARM 版 Linux。
Android SDK 使用 QEMU 模拟平板电脑和手机进行测试。
提出这个问题,我们可以说 QEMU 是一个虚拟机吗?
这在“如何防止网络管理员访问 USB 驱动器“在另一个网站上,存在一个关于硬件模拟器仍然是虚拟机的‘争议’。
答案1
虚拟机不是意味着需要特殊的硬件支持才能实现高效的虚拟化并使用相同的指令集。
VMWare 将代码转换为在 64 位主机中运行 8086 实模式。PowerPC 上的 PC Emulator 是将软件转换为不同的指令集。Java 虚拟机是用软件实现的抽象,看起来像是 CPU 和架构。 玛梅是一组经典街机游戏机的虚拟机,其中包括各种 CPU 和特殊的图形和声音芯片以及其他新颖的芯片组功能。
从科学意义上讲,模拟器就是虚拟机,因此它们是同义词。在常见的非正式用法中,它暗示被模拟的东西是“机器”,一个完整的设备,也可能作为硬件实例存在。但这有点模糊。