Raj*_*Raj 21
二进制翻译是一种系统虚拟化技术.
Guest OS二进制文件中的敏感指令被安全处理此类敏感指令的Hypervisor调用或导致CPU陷阱的某些未定义操作码所取代.这种CPU陷阱由Hypervisor处理.
在大多数现代CPU上,上下文敏感指令是不可虚拟化的.二进制翻译是克服此限制的技术.
例如,如果访客想要修改/读取包含重要标志/控制位域的CPU处理器状态字,则主程序将扫描来宾二进制文件以获取此类指令,并用调用管理程序或某些虚拟操作码替换它们.
另一方面,Para-Virtualization是一种修改guest OS的源代码的技术.使用Hypervisor API修改所有与系统资源访问相关的代码.
miz*_*izo 14
请参见VMware_paravirtualization.pdf,第3页和第4页.
这种方法(如图5所示)转换内核代码,用新的指令序列替换非虚拟化指令,这些指令对虚拟硬件有预期的影响.
因此,特权指令被转换为其他指令,这些指令访问虚拟机监视器提供的虚拟BIOS,内存管理和设备,而不是直接在真实硬件上执行.
这些指令究竟是什么,由VM实现定义.专有虚拟化软件的供应商不一定发布他们的二进制翻译技术.
| 归档时间: |
|
| 查看次数: |
11085 次 |
| 最近记录: |