抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

中断的作用

CPU上会运行两种程序,一种是**操作系统内核程序**,一种是**应用程序**。 在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序。 “中断”是**让操作系统内核夺回CPU使用权**的唯一途径。 “中断”会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。 如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序。

中断的分类

“中断”特指狭义中的中断,即外中断。而内中断一般称为“异常“。

内中断

  • 也称异常、例外。
  • 与当前执行的指令有关,中断信号来源于CPU内部
  • 有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令——陷入指令,该指令会引入一个内部中断信号。
  • 执行“陷入指令”,意味着应用程序主动的将CPU控制权还给操作系统内核。“系统调用”就是通过陷入指令完成的。
由陷入指令引发,是应用程序故意引起的。 由错误条件引起的,可能被内核程序修复。内核程序修复故障后会把CPU使用权还给应用程序,让它继续执行下去。如:缺页故障。 由致命错误引起,内核程序无法修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。如:整数除0,非法使用特权指令。

外中断

  • 也称“中断”。
  • 与当前执行的指令无关,中断信号来源于CPU外部
  • 时钟中断
  • I/O中断请求

中断机制的基本原理

检查中断信号

CPU在执行指令时会检查是否有异常发生 每个指令周期末尾,CPU都会检查是否有外中断信号需要处理

找到相应的中断处理程序

通过“中断向量表”实现

评论