我正在尝试了解ARM CortexA8项目的硬件辅助虚拟化并使用ARM Trustzone功能。我是这个主题的新手,因此我从Wiki条目开始了解更多。
维基百科解释了硬件辅助的虚拟化,并在定义中添加了一行:
完全虚拟化用于模拟完整的硬件 环境或虚拟机,其中包含未经修改的guest虚拟机 操作系统(使用与主机相同的指令集) 完全隔离执行。
粗体文字有点令人困惑。处理器的相同指令集如何用于提供两个隔离环境?有人可以解释一下吗? ArmTrustzone手册还谈到了一个“虚拟处理器核心”来提供安全性。请稍微说清楚。
感谢
答案 0 :(得分:1)
不,CPU没有附加说明。虚拟机指令集由称为VMM(虚拟机管理器)的管理程序组件转换,以在物理CPU上执行。
带辅助虚拟化的物理CPU仅引入了一个名为VMX的新环0模式,允许虚拟机在环0中执行某些指令。
答案 1 :(得分:1)
短语" 使用与主机相同的指令集"表示客户操作系统不知道虚拟化层,并且表现得好像是在真实机器上执行(具有相同的指令集)。这与客户操作系统知道虚拟化并调用某些特定VMM功能(即超级调用)的半虚拟化范例形成对比。