特权指令和敏感指令
从操作系统角度谈特权指令
通常指系统中的一些操作和管理关键系统资源的指令,只有在最高特权级上能够正确运行;
如果在非最高特权级上运行,特权指令会引发一个异常,处理器会陷入到最高特权级,交由系统软件处理;
并不是每个特权指令都会引发异常,它有可能被直接忽略?
从虚拟化角度谈敏感指令
操作特权资源的指令,包括:
修改虚拟机的运行模式或者下面物理机的状态;
读写时钟、中断等寄存器;
访问存储保护系统、地址重定位系统及所有的I/O指令。
特权解除和陷入模拟:
虚拟化场景下,要求将GuestOS内核的特权解除,从原来的0降低到1或者3;
特权指令在GuestOS中发生的时候,就会产生Trap,被VMM捕获,从而由VMM完成;
虚拟化场景中敏感指令必须被VMM捕获并完成,x86绝大多数的敏感指令是特权指令,但是有部分敏感指令不
是特权指令,执行这些指令的时候不会自动trap被VMM捕获。
疑问:哪些敏感指令不是特权指令呢
知道的老司机评论一下哈