Aim*_*han 5 virtualization operating-system virtual-machine kernel-mode paravirtualization
我一直在寻找敏感指令和特权指令之间的明显区别,但现在一切都很模糊。
据我所知:如果在用户空间中执行,敏感指令需要捕获到内核模式,否则它会被忽略,而如果在用户空间中执行,特权指令将捕获到内核模式。
这种差异对我来说是模糊且不能令人满意的。请随意留下一个很棒的答案!
编辑:只是想一下,这些是同一件事吗?
小智 7
这些术语通常用在硬件虚拟化的上下文中:虚拟机。敏感指令是管理程序或虚拟机监视器(VMM) 想要捕获和模拟的指令,以便给未修改的操作系统提供它拥有其硬件资源的错觉,即成功虚拟化并运行操作系统。
同时,特权指令仅指 ISA 定义为特权的指令集。也就是说,这些指令必须由运行在环 0 中的进程执行。(请注意,这个概念与用户空间或内核模式本身无关,而是与进程运行的环级别有关。就是这样几乎所有时候,我们都在环 3 中运行用户空间进程,在环 0 中运行内核)。
理想情况下,我们希望敏感指令集等于特权指令集,这使我们能够使用现有硬件进行捕获和模拟。但过去情况并非如此,因此创建了硬件扩展(例如 Intel VT-x)来解决这个问题。几乎所有现代 CPU 都支持硬件虚拟化,部分是通过允许 VMM 捕获和模拟所有敏感指令。
更多背景和来源请参见: Analyse of the Intel Pentium'sability to support a secure virtual machine monitor