- 由外围设备引起的中断。通常包括低速外围设备的数据缓存寄存器已经准备好接受或发送数据,外围告诉设备采用DMA方式完成一个数据传送之后的处理工作,外围设备的启动和停止, 完成对外围设备的控制, 输入输出过程中任意一个环节出现错误
- 由处理机产生的中断。例如算术操作溢出,除数为0,数据校验错误,非法数据格式等。
- 由存储器产生的中断。例如, 非法地址, 动态随即存储器刷新, 主存储器页面失效, 数据或地址校验错,访问主存储器超时。
- 由控制器产生的中断。 例如, 非法指令, 未定义的操作码, 用户程序执行了特权指令, 堆栈溢出, 分时系统中时间片到, 操作系统用户态和特权态的切换。
- 由总线产生的中断。 包括输入输出, 总线出错, 存储器总线出错。
- 实时过程产生的中断。例如, 实时设备的采样中断, 为某些实时控制设备发送控制信号
- 实时钟的定时中断
- 多处理机系统中,从其他处理机发送来的中断, 控制开关中断
- 程序调试过程中, 执行完一条指令或程序运行到一个事先设置的断点时, 通过中断进入监控程序, 以便对被调试程序进行跟踪或检测
- 硬件故障中断。 通过监控程序调用诊断程序对机器各个部分进行诊断, 如果诊断没有错误则重新引导机器, 否则停机。
- 电源故障中断。 这时必须停止其他一切工作, 保存处理机全部状态信息挥发性存储器中的内容
IBM的机器通常把中断源分成6类
- 重启中断
- 机器检验出错中断, 当发生硬件,软件故障时产生。
- 程序性错误引起的中断。包括指令或数据格式错误, 在程序执行过程中出现非法操作码, 主存保护错误,地址越界错误, 各种运算溢出错误。。。
- 访问管理程序中断
- 外部事件中断。包括各种用于计时,计费,控制的定时器中断
- 输入输出中断