中断是指CPU对系统中发生的某个事件的反应,CPU暂停正在执行的程序,保存现场后自动执行对应的处理程序,处理该事件后,返回中断处继续执行原程序。 中断的三个常见类别之一是由CPU外部引起的,称为集中暴发。 像I/O中断、时钟中断那样,一个是在来自CPU内部的事件或程序的执行中发生的中断,例如内部中断程序的非法操作、地址越界、浮点溢出,或者(异常、陷入)、 中断处理一般分为中断响应和中断处理两个步骤,中断响应由硬件实施,中断处理主要由软件实施。
中断(Interruption )也称为外中断,是指来自CPU的执行指令以外的事件的发生。 例如,来自设备的I/O终止中断表示设备的输入/输出处理已完成,处理器希望向设备发送下一个输入/输出请求,同时允许输入/输出完成后的程序继续运行。 时钟到期意味着一定的时间片已经到来,让处理器处理计时、开始定时运行的任务等。 这种中断通常是与当前程序运行无关的事件,与当前处理器上运行的程序无关。
异常(发生故障)是由CPU内部事件引起的中断,如内中断进程在运算过程中发生上溢或下溢,导致错误的指令、地址越界等程序错误通常将这种中断称为内中断或陷落。 如果发现系统发生故障的事件,CPU也会暂停正在运行的程序,并运行该故障事件的处理程序。
中断和陷入的主要区别在于信号是来自CPU外部还是来自CPU内部。
另一种是系统调用系统调用,是用户在程序中调用操作系统提供的一些子功能,系统调用可以看作是一个特殊的公共子程序。 由于系统中的各种共享资源都由操作系统集中管理,因此用户程序通过系统调用操作与资源相关的所有操作,包括存储分配、I/o传输和文件管理通常,一个操作系统提供的系统调用命令有几十到几百个。
中断的处理方法
1. 屏蔽(禁止)中断
处理器处理中断时,所有中断都将被阻止。 也就是说,处理器将忽略新的中断请求,并且在处理器完成这次中断的处理后,处理器将检查是否发生中断。 在某种情况下,处理新到的中断,如果没有,则返回被中断的程序的方法简单易行,因为所有的中断都是按顺序执行的,所以具有不适合要求实时性的中断请求的优点。
2. 嵌套中断
在设定了中断优先顺序的系统中。 通常按照这样的规则处理中断。
)1)优先级不同的中断请求同时有多个时,CPU优先响应最高优先级的中断请求。
)2)高优先级的中断请求可以断开正在执行的低优先级中断处理机。
中断处理程序的处理过程
1 .测量是否有未响应的中断信号。
2 .保护进程中断的CPU环境。
3 .转入相应的设备处理程序。
4 .中断处理。
5 .恢复CPU现场,解除中断。