操作系统-中断和异常

中断和异常


中断机制的诞生

​ 早期的计算机中,个程序只能串行执行,系统的资源利用率很低。为了解决这个问题,人们发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。

本质:发生中断就意味着需要操作系统介入,开展管理工作

中断的概念和作用

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

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

“用户态=>核心态”是通过中断实现的,并且中断是唯一途径。

“核心态=>用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”

中断的分类

  • 内中断(也称为“异常”)

    ​ 信号的来源:CPU内部与当前执行的指令有关。

    • 资源中断–指令中断

      ​ 如:系统调用时使用的访管指令(又叫陷入指令、trap指令)

    • 强迫中断
      • 硬件故障

        ​ 如:缺页。

      • 软件中断

        ​ 如:整数除0。

  • 外中断

    ​ 信号的来源:CPU外部与当前执行的指令无关。

    • 外设请求

      ​ 如:I/O操作完成发出的中断信号。

    • 人工干预

      ​ 如:用户强制终止一个进程。

外中断的处理过程

​ 可分为四步。

  1. 执行完每个指令之后,CPU都要检查当前是否有外部中断信号;
  2. 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器);
  3. 根据中断信号类型转入相应的中断处理程序;
  4. 恢复原进程的CPU环境并退出中断,返回原进程继续往下执行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值