中断体系
一、中断的作用
由于程序的运行,操作系统会将CPU的主动权让给应用程序,当操作系统想收回CPU的主动权的时候,就需要使用中断信号来将运行的应用程序中断,使其从用户态转换为内核态;中断也是操作系统从用户态转换为内核态的唯一途径;
二、中断的分类
1、内中断
(1)陷入:应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令,陷入指令,该指令会引起内部中断信号;
(2)故障:由错误的条件引起的,可能被内核程序修复,内核程序修复后会将CPU的使用权还给操作系统;
(3)中止:由致命错误引起,内核程序无法修复错误,比如除数为0;
2、外中断
1、时钟中断:每隔一段时间发送中断信号,保证进程交替使用CPU
2、IO中断例子:在使用电脑时,你可能需要打印一个文件。当你按下打印按钮后,计算机将开始执行打印操作,但如果打印机缺纸或者出现其他故障,计算机就会检测到这个问题并触发IO中断。这时,计算机会暂停打印操作并向处理器发送一个中断信号,告诉处理器需要进行一些额外的操作,以处理这个中断并尝试解决问题。这可能包括在打印机中添加纸张,或者重新启动打印操作等等。
三、中断机制的基本原理
不同的中断信号,需要不同的中断处理程序来处理,当CPU检测到中断信号的时候,去查询中断向量表,找到相对应的中断处理程序来处理中断。