C-以下哪些说明可以在非特权模式下运行?1)加载2)存储3)输入4)输出



试图了解用户模式与内核模式,哪些指令可以在非特权模式下运行。

每个亚伯拉罕·塞伯萨茨,所有这些都可能需要syscall。

它取决于它是哪个CPU以及OS如何配置。

例如;对于80x86,inout指令可以在用户模式下执行:

  • IOPL字段(IO特权级别(设置为不小于当前特权级别。

  • IO权限Bitmap(在当前任务状态段中(配置为允许访问特定的IO端口/s。

当然,许多IO是内存映射的,这也允许内核可以将任何"内存映射"区域映射到用户空间中。

一般而言;整体内核将在内核空间中运行设备驱动程序,并且不允许用户模式代码直接访问任何类型的IO;微型内核将在用户空间中运行设备驱动程序,并会明确配置事物,以便设备驱动程序进程可以为其驾驶的设备执行输入/输出(但没有其他设备(。

最新更新