您的位置:首页 > 其它

操作系统学习笔记(2)——中断和异常

2015-10-19 21:42 330 查看
一、中断的引入

当CPU启动通道(或设备)进行输入输出后,通道可以独立工作,CPU即转去做其他任务;
通道(或设备)输入输出完成后,通道通过向CPU发中断告诉CPU此次输入输出结束,让CPU继续执行原任务输入输出后的程序

中断引入的目的:就是为了I/O和CPU可以并行,从而实现多道程序设计。

二、异常(陷入)的引入
当下述情况发生,CPU中断当前的执行流程,转到相应的错误处理程序或陷入处理程序:

CPU执行指令时本身出现算术异常、零做除数、访存指令越界、虚存缺页等;
正常异常,即执行了一条trap指令,用于实现系统调用

三、中断和异常的区分

1、中断:通道(或设备)完成输入输出后,通道会“通知”CPU此次输入输出结束,这个“通知”就是中断

可以看到,中断与CPU正在执行的指令并没有关系。

2、异常:而异常则是正在执行的指令本身出现了错误(如算术溢出、地址越界)等。

3、但中断和异常的结果都是使得“CPU暂停正在执行的程序”:
CPU接受“中断”后停止当前的任务,去继续上一个任务或继续当时在执行的任务(如何选择则是与调度有关)。
CPU接受“异常”后停止当前任务,去处理这些错误。 处理完成后CPU返回暂停点继续工作。
4、中断:与正在执行的指令无关,可以屏蔽
异常:与正在执行的指令有关,不可屏蔽

四、中断/异常的分类



五、中断的分级与屏蔽
中断触发器:寄存中断事件的全部触发器,一般一个触发器表示一个中断
中断位:每个触发器称为一个中断位,当发生中断时相应位就被置上(0置到1)
中断序号:给中断一个顺序编号
中断响应:由硬件在执行每一条指令的最后时刻判断是否有中断,有则转入操作系统的中断处理程序(中断响应必须是由硬件支持的)



六、中断优先级
1、高级中断>中级中断>低级中断



2、中断优先级设置的原则

从提高资源利用率角度:高速设备(如磁盘)优先级高,慢速设备(如鼠标键盘)优先级低
交互式系统中:可以考虑用户响应满意优先原则
实时系统中:实时设备优先

3、处理机优先级:指处理机正在运行的程序的可响应中断的级别。
在中断处理程序运行之前前,去设置这个处理机优先级。
即当处理机处理某一个优先级中断时,只允许处理机去响应比该优先级高的中断,低于或等于该优先级的中断则屏蔽掉。
屏蔽掉的中断由硬件暂时保存,屏蔽解除时再处理。(此屏蔽称为软屏蔽)
如图举例:
A、若此时处理机优先级处于0,那么此时对于中断优先级为1的中断,它响应(1>0)
B、若此时处理机优先级处于2,那么此时对于中断优先级为1的中断,它不响应(1<2)
那么此时对于中断优先级为2的中断,它不响应(2=2)
那么此时对于中断优先级为3的中断,它响应(3>2)



处理机优先级的0级:就是处理机在运行核心态和用户态程序的时候
当处理机处理某级别的中断时,处理机的响应的放在哪个级别上,并按照上述过程选择响应更高级中断屏蔽低级/同级中断

4、中断屏蔽:禁止处理机响应中断(一般采用这种)或禁止中断出现
中断屏蔽的实现:

硬件支持:屏蔽寄存器
软件实现:

屏蔽寄存器怎么设置?



七、中断/异常的响应

中断响应:CPU能够在每条机器指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号。若无则CPU继续执行程序的后续指令;若有则转入操作系统内的中断处理程序

异常响应:异常是在执行指令的时候,由指令本身的原因发生的,CPU中指令的执行逻辑发现了异常则转入操作系统的异常处理程序

八、几个概念

PC寄存器:程序计数器,指向马上要执行的那一条指令

断点:检测到中断时,处理机刚执行完的那条执行恢复地址

恢复点:断点的逻辑后续指令地址,PC的值



现场信息:指中断那一刻确保被中断程序能继续运行的有关信息,如PC、通用寄存器、其他特殊寄存器等

核心态(系统态、监督方式、管态):允许特权指令执行的状态;此状态运行访问系统空间和用户空间

用户态(用户态、用户方式、目态):一般程序所运行的状态;只可以访问用户空间

PS(PSW)寄存器:程序状态字(处理机状态字),寄存了处理机的运行状态,包括:

当前处理机运行态(核心态or用户态)
当前处理机优先级
各种控制位(如外中断赋能位)

中断向量:存放程序状态字和中断处理程序入口地址的内存单元;
中断向量由操作系统初始化程序进行设置,硬件按照中断号及异常类型的不同,来通过中断向量表散转到相应的处理程序上

九、中断/异常响应和处理的过程

硬件保存PC、PSW
软件继续保存现场(保存现场以“栈”的方式)
分析原因并转中断/异常处理程序
(进程调度)恢复现场







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: