【发布时间】:2014-08-28 10:14:40
【问题描述】:
我读到 kvm 使用了硬件辅助虚拟化。
使用 VT-x,有两种模式:VMX-Root 和 VMX-NonRoot。每个模式有四个环(0到3),对吗?
在带有 kvm 的 Linux 操作系统上,内核是否在 VMX-root 中运行?用户空间中的进程呢?它们是否在 VMX-Root 中,这意味着用户空间程序可以用作管理程序?
【问题讨论】:
标签: linux process virtualization kvm
我读到 kvm 使用了硬件辅助虚拟化。
使用 VT-x,有两种模式:VMX-Root 和 VMX-NonRoot。每个模式有四个环(0到3),对吗?
在带有 kvm 的 Linux 操作系统上,内核是否在 VMX-root 中运行?用户空间中的进程呢?它们是否在 VMX-Root 中,这意味着用户空间程序可以用作管理程序?
【问题讨论】:
标签: linux process virtualization kvm
关于第一个问题,是的,它是正确的。关于第二个问题,所有用户空间进程都运行环 3,环 0 中的来宾内核,您可以拦截来宾 vm 用户空间中的 rdtsc 指令并处理 vm_exit arch/x86/kvm/vmx.c 使用 vmx_getcpl() 来证明它。当然,用户空间程序无法成为管理程序或被用作管理程序。我不太明白你为什么问这个。
【讨论】: