我知道通常 cpu 可以以两种模式之一运行:高级权限模式,其中启用对硬件中“安全”区域的访问,以及访问其余部分时使用的低级权限模式。中央处理器功能。
我也知道有某种形式的保护机制强制只有操作系统才能在处理器上运行,而它处于高级特权模式(有时称为环 0),并且当任何用户空间进程正在运行处理器时处于低级特权模式(环 3)。
我的问题是:cpu 如何区分在 ring 0 模式下运行的 OS 进程和在 ring 3 中运行的用户空间进程?有什么机制可以确保用户级别的进程永远无法获得 ring 0 特权级别?