核心定义

  • 用户态 (User Mode): CPU 只能执行非特权指令(加减乘除、跳转)。如果试图执行特权指令(如修改页表寄存器 satp),CPU 会触发异常。
  • 内核态 (Kernel Mode): CPU 可以执行所有指令,访问所有内存地址。

边界跨越

程序不能随意从 User 切换到 Kernel。

  • 主动: 通过 ecall 指令触发 System Call(如 write)。
  • 被动: 外部设备中断(如时钟中断)或 异常(如缺页)。

安全视角

攻击者的终极目标通常是 Privilege Escalation (提权),即欺骗内核执行恶意代码,或者利用内核 Bug 获取 Kernel Mode 权限。一旦进入内核态,就没有防火墙了。