📜  操作系统中的特权和非特权指令

📅  最后修改于: 2021-09-28 09:29:46             🧑  作者: Mango

在任何操作系统中,都必须有双模式操作,以确保系统免受未经授权或错误的用户的保护和安全。这种双模式将用户模式与系统模式或内核模式分开。

什么是特权指令?

特权指令具有以下特点:

(i) 如果试图在用户模式下执行特权指令,则它不会被执行并被视为非法指令。硬件将其捕获在操作系统中。

(ii) 在将控制权转移到任何用户程序之前,操作系统有责任确保定时器设置为中断。因此,如果定时器中断,则操作系统重新获得控制权。
因此,任何可以修改定时器内容的指令都是特权指令。

(iii) 操作系统使用特权指令以实现正确操作。

(iv) 特权指令的各种示例包括:

  • I/O 指令和 Halt 指令
  • 关闭所有中断
  • 设置定时器
  • 上下文切换
  • 清除内存或从内存中删除进程
  • 修改设备状态表中的条目

什么是非特权指令?

非特权指令的各种示例包括:

  • 读取处理器状态
  • 读取系统时间
  • 生成任何陷阱指令
  • 发送打印机的最终打印输出

此外,重要的是要注意,为了将模式从特权模式更改为非特权模式,我们需要一条不会产生任何中断的非特权指令。