首页 文章

陷阱和模拟以及二进制翻译有什么区别?

提问于
浏览
1

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

"Until recently, the x86 architecture has not permitted classical trap-and-emulate virtualization. Virtual Machine Monitors for x86, such as VMware ® Workstation and Virtual PC, have instead used binary translation of the guest kernel code. However, both Intel and AMD have now introduced architectural extensions to support classical virtualization."

我也不明白上下文陷阱中的“经典虚拟化”是什么,模仿二进制翻译 . 任何帮助理解这些术语将不胜感激 .

1 回答

  • 2

    我认为link会帮助你 . 我试图总结一下,有关更多信息,请参阅链接 .

    每当客户操作系统尝试执行这些特权操作之一时,处理器将“捕获”指令并将控制权交给主机操作系统或管理程序,以便它可以执行所需的操作,然后将控制权返回给客户机 . 但是大多数真实世界的指令集,包括x86,都没有考虑到虚拟化 . 因此,有特权指令没有任何相应的陷阱工具 .

    二进制转换直接解决了这个问题 . 它不是依靠处理器本身来检测特权指令,而是使用虚拟化软件来检查软件中的指令流,并且每当虚拟化软件检测到问题指令时,它就会在运行中重写它,通常用一种手册替换它 . 陷阱,在适当的时候将控制交给管理程序 . 希望这对你有所帮助 .

相关问题