操作系统(三)——中断与异常

中断与异常的概念

在操作系统中处理机有两种状态——用户态与核心态,如何实现这两种状态的切换就成了一个问题,实际上,处理机的状态切换是通过程序状态字(PSW,Program Status Word)来实现的,0标识核心态,1标识用户态。用户程序工作在用户态,内核程序则工作在核心态。有些用户程序需要实现核心态的功能,因此引入中断机制。当中断或异常发生时,处理机会从用户态转为核心态。

中断(Interruption),也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入 / 输出请求,同时让完成输入/输出后的程序继续运行。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。这一类中断通常是与当前程序运行无关的事件。

异常(Exception),也称内中断、例外、陷入(Trap),指源自CPU执行指令内部的事件,如程序的非法操作码、 地址越界、算术溢出等引起的事件。对异常的处理一般要依赖于当前程序的运行现场,且异常不能被屏蔽,一旦出现应立即处理。

中断与异常的区别如下图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xywxhzsjhh/article/details/112773102
今日推荐