中断系统的响应过程中,为什么要关中断和开中断

中断系统的响应过程中,为什么要关中断和开中断,第1张

中断处理的过程中需要开关中断2次

开始:

程序正常执行

↓响应中断

关中断(开始中断程序后,CPU不能再响应更高级的中断,所以先关闭)

↓保存断点;保存中断程序地址;保存现场(这里是保存中断请求的必要信息)

开中断(把中断打开,现在允许执行更高级别的中断)

↓执行中断服务程序(这里是可以响应高级别中断的)

关中断(和第一次中断一样,在恢复现场的情况下,不能响应另外的中断)

↓恢复现场

开中断

↓中断返回

其中中断处理就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序。

1、中断处理过程包括中断请求、中断判优、中断响应、中断处理、中断返回

2、硬件实现:中断请求、中断判优、中断响应、中断返回

3、软件实现:中断请求、中断判优、中断处理

4、软件、硬件都实现:中断请求、中断判优

扩展资料:

当中断处理程序开始执行时,首先去唤醒处于阻塞状态的驱动(程序)进程。如果是采用了信号量机制,则可通过执行 signal *** 作,将处于阻塞状态的驱动(程序)进程唤醒;在采用信号机制时,将发送一信号给阻塞进程。

对于不同的设备,有不同的中断处理程序。该程序首先从设备控制器中读出设备状态,以判别本次中断是正常完成中断,还是异常结束中断。若是前者,中断程序便进行结束处理;若还有命令,可再向控制器发送新的命令,进行新一轮的数据传送。若是异常结束中断,则根据发生异常的原因做相应的处理。

参考资料来源:百度百科-执行中断

发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。

中断处理程序需要注意:

若是改写系统中断,尽量保存系统中断的原地址;

如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。

另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。

以上就是关于中断系统的响应过程中,为什么要关中断和开中断全部的内容,包括:中断系统的响应过程中,为什么要关中断和开中断、简述中断的处理过程、什么是中断处理程序编写中断处理程序时要注意哪些问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9712833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存