Loading

05-中断与异常

中断和异常

#专业课

中断

中断的诞生

中断机制的诞生:早期的计算机中,各个程序只能串行的执行,系统的资源利用率低。
为了解决上述问题,人们发明了操作系统(做为计算机的管理者),引入了中断机制,实现了多道程序并发执行。
本质:发生中断意味着需要操作系统接入,开展管理工作
其中,操作系统内核负责对中断信号进行处理。

中断的概念和作用

  1. 当中断发生时,CPU立即进入核心态
  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
  3. 对于不同的中断信号,会进行不同的处理
    发生了中断,就意味着需要操作系统的介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。

中断的分类

外中断

  1. 外中断:狭义的中断;信号的来源:CPU外部,与当前执行的指令无关
    1. 外设请求:I/O操作完成后发出的中断信号
    2. 人工干预:用户强行终止了一个进程
  2. 外中断的处理过程
    1. CPU每执行完一个指令后,CPU都要检查当前是否有外部中断信号
    2. 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW,程序计数器PC,各种通用寄存器)
    3. 根据中断信号类型转入相应的中断处理程序
    4. 恢复原进程CPU环境并推出中断,返回原进程继续往下执行

内中断

  1. 内中断:也称异常、例外、陷入;信号的来源:CPU内部,与当前执行的命令有关
    1. 自愿中断:指令中断:如系统调用时使用的访管指令(又叫陷入指令、trap指令)
    2. 强迫中断:
      1. 硬件故障:如缺页
      2. 软件中断:如整数除0
posted @ 2023-01-19 16:13  nliuc  阅读(60)  评论(0编辑  收藏  举报