答案1
正如最常用的术语一样,模拟器是在任何平台上运行为一个平台设计的代码的应用程序。
虚拟机是模拟器的一个特例,它在同一平台上的虚拟化环境中运行为一个平台设计的代码 - 例如,像 VMWare 和虚拟盒在 x86 PC 上运行为 x86 PC 设计的代码 - 这使得可以在另一个操作系统上运行一个操作系统等等。
模拟和虚拟化之间的区别在于,模拟时整个操作环境都是在软件中模拟的,而虚拟化时部分工作直接传递给主机 CPU。大多数现代 x86 处理器都有硬件来加速此功能。与必须对客户软件执行的每个操作采取一些行动的模拟器相比,虚拟化速度非常快。
一个流行的 PC 模拟器是波克斯。由于它非常准确地模拟了 x86 硬件(以牺牲速度为代价),因此它对于操作系统级调试非常有用。