中断和异常
中断分为两类,内中断、外中断,发生中断/异常时,运行用户态的CPU立即进入核心态,执行相应的中断处理程序
① 内中断(异常、陷入):源于CPU执行指令内部的事件,包括:地址越界、算术溢出、虚存系统缺页、专门的陷入指令等
· 对异常的处理一般要依赖当前程序的运行现场,且异常不能被屏蔽,一旦出现应当立即处理
· 内中断包括自愿中断(指令中断)、强迫中断。强迫中断还包括硬件中断、软件中断
② 外中断:来自CPU执行指令之外的发生。外中断的产生一般是由于外设请求和用户的干涉
下面是中断处理的过程: