计算机操作系统学习之中断和异常

一.概念与作用

  • 发生了中断,就意味着需要操作系统介入,开展管理工作
  • 由于操作系统进行管理工作时需要调用特权指令,因此CPU要从用户态转为核心态,使操作系统获得计算机的控制权。
  • 当中断发生时,CPU立即进入核心态
  • 当中断发生后,当前运行的进程暂停运行,由CPU内核对中断进行处理
  • 对于不同的中断信号,会进行不同的处理
  • 有了中断,才能实现多道程序并发执行

二.核心态和用户态的切换

  • 用户态到核心态:通过中断实现,并且只能通过中断实现
  • 核心态到用户态:通过执行一条特权指令修改程序状态字实现

三.中断的分类

内中断(也称异常)

  • 中断信号来自CPU内部,与当前执行的指令有关

分类:

  • 指令中断(自愿中断):如系统调用时使用的访管指令
  • 硬件故障(强迫中断):如缺页
  • 软件中断(强迫中断):如除数为0

外中断

  • 中断信号来自CPU外部,与当前执行的指令无关

分类:

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

四.中断的另一种分类方式

内中断

  • 陷阱、陷入(trap):有意为之的异常,如系统调用
  • 故障(fault):由错误条件引起的,可能被故障处理程序修复,如缺页
  • 终止(abort):不可恢复的错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如除数为0

外中断

  • I/O中断请求
  • 人工干预

五.外中断的处理过程

在这里插入图片描述

  • 执行完每个指令,都会检测是否有外部中断信号
  • 如果发现有外部中断信号,则要保护被中断进程的cpu环境
  • 根据中断信号类型转入相应的中断处理程序
  • 恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值