“仿真器”和“虚拟机”之间的具体区别是什么?

参见英文答案 > full emulation vs full virtualization                                    5个答案                                我看到他们是不同的东西,但我真的不知道为什么。
有些人说:“模拟器是用于游戏的;虚拟机是用于操作系统的”
我不同意这个答案,因为除了视频游戏机(AMIGA(?))之外,还有平台的仿真器

你能帮我吗?

虚拟机利用CPU自身虚拟化,无论其存在的程度如何,都可以为实际硬件提供虚拟化接口。仿真器模拟硬件,而不依赖于CPU能够直接运行代码,并将一些操作重定向到控制虚拟容器的管理程序。

特定的x86示例可能有助于:Bochs是一个模拟器,即使在兼容的物理处理器上运行时也可以在软件中仿真整个处理器; qemu也是一个模拟器,尽管使用内核方面的kqemu软件包,当仿真机器与物理硬件相匹配时,它获得了一些有限的虚拟化功能 – 但是它不能真正利用全x86自虚拟化,所以它是一个有限管理程序; kvm是一个虚拟机管理程序。

管理程序可以说是“模仿”受保护的访问;它不会模拟处理器,但是说它会调解受保护的访问是更正确的。

受保护的访问意味着设置页表或读/写I / O端口。对于前者,虚拟机管理程序通过页表操作来验证(并且通常修改为匹配管理程序自己的内存)并执行受保护的指令本身; I / O操作映射到仿真设备硬件,而不是仿真CPU。

而只是为了使事情变得复杂,Wine还是一个虚拟机管理程序/虚拟机(虽然在较高的ABI级别)比仿真器(因此“不是模拟器”)。

http://stackoverflow.com/questions/6234711/what-are-the-specific-differences-between-an-emulator-and-a-virtual-machine

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:“仿真器”和“虚拟机”之间的具体区别是什么?