在任何操作系统中,都必须有双模式操作,以确保系统免受未经授权或错误的用户的保护和安全。这种双模式将用户模式与系统模式或内核模式分开。
什么是特权指令?
The Instructions that can run only in Kernel Mode are called Privileged Instructions .
特权指令具有以下特点:
(i) 如果试图在用户模式下执行特权指令,则它不会被执行并被视为非法指令。硬件将其捕获在操作系统中。
(ii) 在将控制权转移到任何用户程序之前,操作系统有责任确保定时器设置为中断。因此,如果定时器中断,则操作系统重新获得控制权。
因此,任何可以修改定时器内容的指令都是特权指令。
(iii) 操作系统使用特权指令以实现正确操作。
(iv) 特权指令的各种示例包括:
- I/O 指令和 Halt 指令
- 关闭所有中断
- 设置定时器
- 上下文切换
- 清除内存或从内存中删除进程
- 修改设备状态表中的条目
什么是非特权指令?
The Instructions that can run only in User Mode are called Non-Privileged Instructions .
非特权指令的各种示例包括:
- 读取处理器状态
- 读取系统时间
- 生成任何陷阱指令
- 发送打印机的最终打印输出
此外,重要的是要注意,为了将模式从特权模式更改为非特权模式,我们需要一条不会产生任何中断的非特权指令。