【发布时间】:2013-04-21 07:10:54
【问题描述】:
我有一个关于虚拟机 CPU 虚拟化的问题。我无法理解即时到本机代码翻译和陷阱和模拟翻译之间的区别。
据我了解,在第一种情况下,假设我从不同平台模拟二进制代码,如果我有一个 x86 CPU,代码将转换为等效的 x86 指令。现在,在陷阱和仿真方法中,虚拟机接收来自客户操作系统的 ISA 调用,并将其转换为主机操作系统的等效 ISA 调用。
为什么我们需要从 ISA 翻译到 ISA?假设我在 Windows 主机上运行 Ubuntu 来宾。 Ubuntu ISA 调用与 Windows ISA 调用不同?我了解访客无法访问主机上的系统 ISA,只有监视器可以这样做。但为什么需要转换为 Host ISA? ISA 也依赖于操作系统?
【问题讨论】:
标签: virtualization virtual-machine