Virtual machine 陷阱和模拟与二进制翻译之间的区别是什么?

Virtual machine 陷阱和模拟与二进制翻译之间的区别是什么?,virtual-machine,virtualization,Virtual Machine,Virtualization,我理解什么是陷阱和模拟,但是我很难理解什么是二进制翻译,以及它与陷阱和模拟的区别。我对这个话题很陌生,我试图从2006年的一篇论文中理解这个介绍: “直到最近,x86体系结构还不允许传统的陷阱和模拟虚拟化。针对x86的虚拟机监视器(如VMware®Workstation和Virtual PC)改为使用来宾内核代码的二进制翻译。然而,Intel和AMD现在都引入了架构扩展来支持经典虚拟化。” 我也不明白上下文陷阱和模拟与二进制翻译中的“经典虚拟化”是什么。如果有助于理解这些术语,我将不胜感激。我认

我理解什么是陷阱和模拟,但是我很难理解什么是二进制翻译,以及它与陷阱和模拟的区别。我对这个话题很陌生,我试图从2006年的一篇论文中理解这个介绍:

“直到最近,x86体系结构还不允许传统的陷阱和模拟虚拟化。针对x86的虚拟机监视器(如VMware®Workstation和Virtual PC)改为使用来宾内核代码的二进制翻译。然而,Intel和AMD现在都引入了架构扩展来支持经典虚拟化。”

我也不明白上下文陷阱和模拟与二进制翻译中的“经典虚拟化”是什么。如果有助于理解这些术语,我将不胜感激。

我认为这将对您有所帮助。我已经尝试对其进行了总结,有关更多信息,请参阅链接

每当来宾操作系统尝试执行其中一个特权操作时,处理器将“陷阱”“将指令和控制权移交给主机操作系统或虚拟机监控程序,以便它可以执行所需的操作,然后将控制权返回给来宾。但大多数现实世界的指令集,包括x86,在设计时都没有考虑到虚拟化。因此,有些特权指令没有任何相应的陷阱功能


二进制翻译直接解决了这个问题。它不依赖处理器本身来检测特权指令,而是使用虚拟化软件来检查软件中的指令流,每当虚拟化软件检测到有问题的指令时,它就会动态地重写它,通常用一种手动陷阱来代替它,这将在适当的时候将控制权移交给虚拟机监控程序。希望这对您有所帮助。

Trap and simulate是经典的虚拟化,早在20世纪60年代和70年代就开始使用了。对于想知道这篇文章是哪篇的人来说,它是:“x86虚拟化的软硬件技术比较”。