当CPU处于用户态时,CPU不能执行特权指令,也不能访问内核空间内存。
而当CPU处于内核态时,CPU可以执行所有指令,可以访问所有内存。
现在在 Linux 中,用户模式程序可以访问所有内存(使用/dev/mem)并且可以执行两条特权指令IN和OUT(使用iopl()我认为)。
/dev/mem
IN
OUT
iopl()
因此,Linux 中的用户模式程序可以完成内核模式中可以完成的大多数事情(我认为大多数事情)。
不允许用户模式程序拥有所有这些功能是否违背了拥有 CPU 模式的目的?
linux
linux ×1