> 文章列表 > 1.2.5 处理机状态及特权指令

1.2.5 处理机状态及特权指令

1.2.5 处理机状态及特权指令

1.处理机的状态

当CPU执行用户程序时,CPU处于用户态。
在执行的过程中出现中断(或陷入)时,系统转去处理与中断有关的事件,CPU转换成核态(或管态)。

计算机系统有两类程序在运行,用户程序和系统程序。

用户程序和系统程序在执行时有不同的权限

有的操作系统将系统程序执行时,机器的状态划分为如下几种,权限由高到低:


核态:CPU执行操作系统程序时所处的状态。允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的IO,改变处理机状态,修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外设的服务。


管态:在此状态下,允许使用一些用户态不能使用的资源,但不能使用修改CPU状态的指令。


用户态:禁止使用特权指令,不能直接使用系统资源以及改变CPU状态。并且只能访问用户程序所在的存储空间。


2.特权指令集

特权指令集:

  • 允许和禁止中断
  • 进程之间,切换处理机
  • 存取用于内存保护的寄存器
  • 执行输入输出操作
  • 使CPU处于暂停状态

下列情况,由用户态转向核态:

  • 用户程序要求操作系统服务,发生系统调用
  • 发生中断
  • 用户程序产生了错误的状态
  • 用户程序企图执行一条特权指令