【操作系统】中断和异常

image

1.中断机制的诞生

(1)早期的程序串行执行,资源利用率低。
image

(2)后续发明了操作系统,引入了中断机制,实现了多道程序并发执行。
本质上:操作系统作为计算机的管理者,发生中断意味着需要操作系统介入,开展管理工作
image

2.中断的概念和作用

(1)当中断发生时,CPU立即进入核心态。
(2)当中断发生后,当前运行的进程暂停执行,并由操作系统内核对中断进行处理。
(3)对不同的中断信号,会进行不同的处理。

由于操作系统的管理工作,(如进程切换、分配I/O等)需要使用特权指令,因此CPU要从用户态转为和心态。中断可以使CPU从用户态转为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。

(4)用户态和核心态之间的转换
用户态-->核心态:通过中断可以实现用户态-->核心态,并且中断是唯一途径
核心态-->用户态:通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态。

3.中断的分类

(1)内中断(异常、例外、陷入)
中断信号来源:CPU内部,与当前执行的指令有关
又可分为

  • 自愿中断
    • 指令中断
  • 强迫中断
    • 硬件故障(如:缺页)
    • 软件中断(如:整数除0)

(2)外中断(中断)
中断信号的来源:CPU外部,与当前执行的指令无关
又可分为

  • 外设请求:如I/O操作完成发出的中断信号。
  • 人工干预:如用户清醒终止一个进程。

(3)中断的另一种分类
image

4.外中断的处理过程

image

(1)执行完每个指令后,CPU都要检查当前是否有外部中断信号。
(2)如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器),就像游戏打到一半,发生了中断,保存游戏数据。
(3)根据中断信号类型转入相应的中断处理程序
(4)恢复原进程的CPU环境并退出中断,返回原进程继续往下执行。

posted @ 2023-02-21 23:34  植树chen  阅读(256)  评论(0编辑  收藏  举报