![](/img/trans.png)
[英]Please explain the issue of sensitive instructions in Virtualization and how it is resolved
[英]How does Hypervisor deal with sensitive instructions executed from host process that is not VM-instance?
我知道所謂的 Type2 Hypervisor(例如 VMWare Workstation、VirtualBox)是作為內核模塊實現的。 VM-instance 是主機操作系統進程。
假設以下情況。(我知道這很奇怪,但為了簡單起見)
我不明白 Hypervisor 在 CPU 上運行 calc.exe 時是否會捕獲敏感指令。
我有兩個想法。
i) 管理程序捕獲來自 calc.exe 的敏感指令。 管理程序識別 calc.exe 或 VM 實例進程。 如有必要,Hypervisor 會模擬從 VM 實例進程執行的它。
ii) 當由於上下文切換中斷導致 VM-EXIT 時,Hypervisor 不會執行 vmresume。 換句話說,CPU 在執行 calc.exe 時是“VMX ROOT MODE”。 因此管理程序不起作用。
在 ii) 的情況下,當 VM 實例進程重新分配給 CPU 時,Hypervisor 如何執行 vmresume?
謝謝你。
“敏感”意味着指令可以區分是否在來賓 VM 中運行。 (或者可能會影響來賓 VM 之外的狀態)。 calc.exe 不在來賓 VM 中運行,因此它的作用無關緊要。
calc.exe 基本上是管理程序的一部分。 阻止用戶空間進程弄亂其他進程(包括來賓 VM)取決於正常的操作系統機制,即不讓它們禁用中斷或覆蓋其他進程的內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.