操作系统中的特权指令和非特权指令是什么?


让我们了解一下操作系统中的特权指令。

特权指令

这些指令被称为机器级指令,在处理器处于特权模式时执行。

示例包括:

  • 关闭系统

  • 更改控制寄存器的内容。

  • 跳转到内核代码。

  • 向I/O设备发送命令。

当操作系统内核中的函数正在执行时,处理器处于特权模式。

如果尝试在非特权模式下执行特权指令,则会导致运行时错误。

通常,操作系统的用户模式称为非特权模式,而内核模式称为特权模式。

特性

特权指令的特性如下:

  • 尝试在用户模式下执行特权指令会被视为非法指令,不会执行。

  • 当控制转移到任何用户程序时,操作系统有责任确保设置计时器中断。

  • 因此,如果计时器中断,操作系统将获得控制权。任何修改计时器内容的指令都是特权指令。

  • 特权指令主要由操作系统用来实现正确的操作。

非特权指令

非特权模式也称为用户模式或安全指令。

示例包括:

  • 加载和存储指令

  • 加法、减法等。

下图显示了操作系统中的非特权模式和特权模式:

用户模式
(或)
非特权模式
内核模式
(或)
特权模式

必须有一种机制来切换模式,如下所示:

  • 用户 → 内核(内置于硬件中)

  • 内核 → 用户(特权指令)

更新于:2021年12月1日

3K+ 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.