这部分很重要!
1.CPU状态
cpu→寄存器→控制状态寄存器(用于控制处理器的操作)→程序状态字寄存器(PSW:记录cpu的运行状态如条件码、模式、控制位等)
由于操作系统具有并发、共享的特征,为了保证用户成序与用户程序、用户程序与操作系统之间互不干扰,所以操作系统需求cpu提供保护与控制
为了实现对操作系统的保护,cpu在PSW中留了一位来表示cpu的不同的状态权限
操作系统根据cpu提供两种权限状态,来分别运行不同的指令集合
内核态(Kernel Mode):运行操作系统程序
用户态(User Mode):运行用户程序
特权指令:只能由操作系统使用、用户程序不能使用的指令
非特权指令:用户程序可以使用的指令
例:x86架构处理器
其在PSW中预留了两位来表示cpu状态,所以它有4个特权环:R0、R1、R2、R4。R0相当于内核态,R3相当于用户态。
目前大多数基于x86处理器的操作系统只用了R0和R3两个特权级别
CPU状态之间的转换:
用户态→内核态:唯一途径→中断/异常/陷入机制&emsp ;关于访管指令(陷入指令):提供给用户程序的接口,用于调用操作系统的功能服务
内核态→用户态:设置PSW
2.中断与异常机制
操作与异常机制是操作系统的驱动力,可以说操作系统是由中断驱动的
主要作用:
及时处理设备发来的中断请求
可使操作系统捕获 用户程序提出的服务请求
防止用户程序执行过程中的破坏性活动
概念:
CPU对系统发生的某个事件作出的一种反应。
中断/异常发生之后,CPU控制流的变化:
CPU暂停正在执行的程序,保留现场自动转去执行相应事件的处理程序,处理完成之后返回断点继续执行被打断的程序
特点:
是随机发生的
是自动处理的