操作系统中的中断(详细介绍+图片理解)

【中断的概念】

  • 中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程
  • 操作系统是“中断驱动”的;换言之,中断(广义)是激活操作系统的唯一方式
  • 中断有广义和狭义之分,上述中断时指广义的中断

【中断、异常与系统异常】

  • 狭义的中断来源于处理器之外的中断事件,即与当前运行指令无关的中断事件,如I/O中断、时钟中断、外部信号中断等
  • 异常(来源于CPU内部的中断事件,和狭义共同构成广义的中断)指当前运行指令引起的中断事件,如地址异常、算术异常、处理器硬件故障等
  • 系统异常与硬件无关,系统异常指执行陷入指令而触发系统调用引起的中断事件,如请求设备、请求I/O、创建进程等

【中断源—处理器硬件故障中断事件】

  • 由处理器、内存储器、总线等硬件故障引起
  • 处理原则为:保护现场,停止设备,停止CPU,向操作员报告,等待人工干预

【中断源—程序性中断事件】

  • 处理器执行机器指令引起
    #除数为零、操作数溢出等算术异常:简单处理,报告用户;也可以由用户编写中断续元程序处理
    #非法指令、用户态使用特权指令、地址越界、非法存取等指令异常:终止进程
    #终止进程指令:终止进程
    #虚拟地址异常:调整内存后重新执行指令

【中断源—自愿性中断事件】

  • 处理器执行陷入指令请求OS服务引起;在操作系统中,它一般又被称作系统调用
    #请求分配外设、请求I/O、等等
    #处理流程是:陷入OS,保护现场,根据功能号查入口地址,跳转具体处理程序

【中断源—I/O中断事件】

  • 来源于外围设备报告I/O状态的中断事件
    #I/O完成:调整进程状态,释放等待进程
    #I/O出错:等到人工干预
    #I/O异常:等待人工干预

【中断源—外部中断事件】

  • 由外围设备发出的信号引起的中断事件
    #时钟中断、间隔时钟中断:记时与时间片处理
    #设备报到与结束中断:调整设备表
    #键盘/鼠标信号中断:根据信号做出相应反映
    #关机/重启动中断:写回文件,停止设备与CPU

【中断系统】

  • 中断系统是计算机系统中响应和处理中断的系统,包括硬件子系统和软件子系统两部分
  • 中断响应由硬件子系统完成
  • 中断处理由软件子系统完成

【中断响应处理与指令执行周期】

  • 在指令执行周期最后增加一个未操作,以响应中断
    在这里插入图片描述

【中断装置】

  • 计算机系统中发现并响应中断/异常的硬件装置称为中断装置
  • 由于中断源的多样性,硬件实现的中断装置有多重,分别处理不同类型的终端
  • 这些中断装置因计算机而异,通常有:
    #处理器外的中断:由中断控制器发现和响应
    #处理器内的异常:由指令的控制逻辑和实现线路发现和响应,响应机制成为陷阱
    #请求OS服务的系统异常:处理器执行陷入指令时直接触发,响应机制称为系统陷阱

【中断控制器】

  • 中断控制器:CPU中的一个控制部件,包括中断控制逻辑线路和中断寄存器
    #外部设备向其发出中断请求IRQ,在中断寄存器中设置已发生的中断
    #指令处理结束前,会检查中断寄存器,若有不被屏蔽的终端产生,则改变处理器内操作的顺序,引出操作系统中的中断处理程序

【陷阱与系统陷阱】

  • 陷阱与系统陷阱:指令的逻辑实现线路的一部分
    #执行指令出现异常后,会根据异常情况转向操作系统的异常处理程序
    #出现虚拟地址异常后,需要重新执行指令,往往越过陷阱独立设置页面异常处理程序
    #执行陷入指令后,越过陷阱处理,触发系统陷阱,激活系统调用处理程序

【中断响应过程】

  • 发现中断源,提出中断请求
    #发现中断寄存器中记录的中断
    #决定这些中断是否被屏蔽
    #当有多个要响应的中断源时,根据规定的优先级选择一个
  • 中断当前程序的执行
    #保存当前程序的PSW/PC到核心栈
  • 转向操作系统的中断处理程序

【中断的处理】

  • 中断处理程序
    操作系统处理中断事件的控制程序,主要任务是处理中断事件和恢复正常操作
  • 中断处理程序
    #保护未被硬件保护的处理器状态
    #通过分析被中断进程的PSW中断码字段,识别中断源
    #分别处理发生中的中断事件
    #恢复正常操作

【恢复正常操作】

  • 情况一:对于某些中断,在处理完毕后,直接返回刚刚被中断的进程
  • 情况二:对于其他一些中断,要中断当前进程的运行,调整进程队列,启动进程调度,选择下一个执行的进程并恢复其执行

【中断系统处理流程】
在这里插入图片描述

【中断屏蔽】

  • 当计算机检测到中断时,中断装置通过中断屏蔽位决定是否响应已发生的中断
  • 有选择的响应中断

【中断优先级】

  • 当计算机同时检测到多个中断时,中断装置响应中断的顺序
  • 有优先的的响应中断
  • 一种可能的处理次序
    #处理机硬件故障中断事件、自愿性中断事件、程序性中断事件、时钟中断等外部中断事件、输入输出中断事件、重启动和关机中断事件
  • 不同类型的操作系统有不同的中断优先级

【中断的嵌套处理】

  • 当计算机响应中断后,在中断处理过程中,可以再响应其他中断
  • 操作系统是性能攸关程序,且中断响应处理有硬件要求,考虑系统效率和实现代价问题,中断的嵌套处理应限制在一定层数内,如3层
  • 中断的嵌套处理改变中断处理次序,先响应的有可能后处理

【多中断的响应与处理】

  • 决定中断处理次序的因素
    #中断屏蔽可以使中断装置不响应某些中断
    #中断优先级决定了中断装置响应中断的次序
    #中断可以嵌套处理,但嵌套的层数应有限制
    #中断的嵌套处理改变了中断处理的次序

【多重中断处理-1】

  • X、Y两个中断同时发生
  • 先响应X
  • 因Y被屏蔽,继续处理X
  • 再响应并处理Y
    在这里插入图片描述

【多重中断处理-2】

  • X、Y两个中断同时发生
  • 根据中断优先级,先响应X
  • 因未屏蔽Y,再响应并处理Y
  • Y处理完成后,再处理X
    在这里插入图片描述
  • 24
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值