1.处理机的状态
当CPU执行用户程序时,CPU处于用户态。
在执行的过程中出现中断(或陷入)时,系统转去处理与中断有关的事件,CPU转换成核态(或管态)。
计算机系统有两类程序在运行,用户程序和系统程序。
用户程序和系统程序在执行时有不同的权限
有的操作系统将系统程序执行时,机器的状态划分为如下几种,权限由高到低:
核态:CPU执行操作系统程序时所处的状态。允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的IO,改变处理机状态,修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外设的服务。
管态:在此状态下,允许使用一些用户态不能使用的资源,但不能使用修改CPU状态的指令。
用户态:禁止使用特权指令,不能直接使用系统资源以及改变CPU状态。并且只能访问用户程序所在的存储空间。
2.特权指令集
特权指令集:
- 允许和禁止中断
- 进程之间,切换处理机
- 存取用于内存保护的寄存器
- 执行输入输出操作
- 使CPU处于暂停状态
下列情况,由用户态转向核态:
- 用户程序要求操作系统服务,发生系统调用
- 发生中断
- 用户程序产生了错误的状态
- 用户程序企图执行一条特权指令