(8)操作系统--中断一

中断与中断系统

操作系统是中断驱动的!
Interrupt driven

处理机在运行过程中,出现了某一事件,必须暂停正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。

中断系统:
中断装置(硬件)
中断处理程序(软件)
发现并响应中断的硬件机构
识别中断源,当有多个中断源时,按紧迫程度排队;
保存现场;
引出中断处理程序。

中断源
中断寄存器
中断字:中断寄存器的内容
中断向量:中断处理程序的运行环境与入口地址PSW,PC,os中有一个中断向量表

强迫性中断
运行程序非预期的
时钟中断
IO中断
控制台中断
硬件故障中断
power failure
内存校验错
程序性中断
越界,越权
缺页,缺段
溢出,除0
非法指令

自愿性中断
运行程序期望的
系统调用
访管指令
系统调用
fd=open(fname,mode)
访管指令
准备参数:把参数放在寄存器和用户栈
svc(supervisorcall)访管 n
取返回值

中断嵌套与处理过程

中断优先级:
硬件规定的中断响应次序,依据:
紧迫程度;
处理时间。

中断屏蔽:
高优先级中断事件处理不受低优先级中断打扰;
程序调整中断响应次序。

在目态运行的时候,系统栈是空的

强迫性中断(嵌套从管态,非嵌套从目态)
关中断,保存现场,取中断字,分析中断原因

自愿性中断(非嵌套):
关中断
进一步保存现场到系统栈
取调用号
分析何种系统调用

在这里插入图片描述

终止:
收回资源,撤销PCB
选择上升进程
由PCB恢复上升进程现场

等待:保存下降进程现场到PCB
选择上升进程
由PCB恢复上升进程现场
处于核心态关于等待
何时等待?
处于核心态,无嵌套中断或有嵌套中断
等待几次?
可能多次
什么级别现场?
核心级别现场
等待时系统栈如何?
栈底是目态现场,然后是嵌套函数的返回点、参数、局部变量、返回值;
如有嵌套,接下来是核心现场,然后是嵌套函数的返回点、参数、局部变量、返回值;(可能多重)

用户级别的现场保存在系统栈中,核心级别现场保存在下降的PCB中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值