中断
定义
广义和狭义
- 广义:程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。
- 操作系统是“中断驱动”的,中断是激活操作系统的唯一方式。
- 狭义:处理器之外的中断事件,与当前运行指令无关的中断事件。I/O中断、时钟中断、外部信号中断。
异常
- 当前运行指令引起的中断事件。地址异常、算术异常、处理器硬件故障。
- 系统异常:执行陷入指令而触发系统调用引起的中断事件。请求设备、请求I/O、创建进程。
由处理器、内存储器、总线等硬件故障引起
处理原则:
- 保护现场
- 停止设备
- 停止CPU
- 向操作员报告
- 等待人工干预
由处理器执行机器指令引起。
- 除数为0,操作数溢出等算术异常:简单处理,报告用户;由用户编写中断续元程序处理
- 非法程序、用户态使用特权指令、地址越界、非法存取等指令异常:终止程序
- 终止进程指令:终止进程
- 虚拟地址异常:调整内存后重新执行指令
处理器执行陷入指令请求OS服务引起的;在操作系统中,它一般又被称作系统调用
- 请求分配外设、请求I/O等等
- 处理流程:陷入OS,保护现场,根据功能号查入口地址,跳转具体处理程序