操作系统-中断技术

文章发布时间:

最后更新时间:

2.2中断技术

(缺失部分内容)

定义

中断指在程序运行过程中遇到急需处理的事件时,暂时终止现行程序在CPU上的运行,转而执行相应的事件处理程序,待处理完成后再返回断点或调度其他程序执行的过程。
(该处有一未知知识点:功能实现依靠函数

硬中断或软中断

接受到的信号或软件中断,进程未必占有处理器运行或者内核正在执行敏感性操作(要等待)

中断异常响应要做:

  • 发现中断源
  • 保护现场
  • 转向处理中断/异常事件的处理程序
  • 恢复现场

中断事件处理

没有被处理的核心态异常是操作系统的致命错误

时钟中断

时钟是:操作系统进行调度工作的重要工具。

分成:

  • 绝对时钟(时间点)
  • 间隔时钟(时间差)

中断优先级和多重中断

中断优先级

以不发生中断丢失为前提 ,把紧迫程度相当的中断源归在同一级,差别大的归在不同级。

中断优先级仅仅是 响应 中断的次序。

系统在处理时有先后次序问题,响应顺序和处理顺序 未必一致 ,先响应的可以后处理。

中断屏蔽

主机能允许/禁止某类中断的响应;有些中断不能被禁止(如计算机中自愿性访管中断)

插曲:访管中断

何谓访管中断?:

​ 访管指令是一条可以在用户态下执行的指令,在用户程序中,因要求操作系统提供服务而有意识的使用 访管中断,从而产生一个中断事件,将操作系统转换为核心态,称为访管中断。

访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。

​ 访管指令是什么?访管指令是用于解决“用户程序只能在用户态下运行”的问题。用户如果想完成在“用户态无法完成的工作”,就要靠访管指令。需要注意的是,访管指令不是 特权指令,他只是让程序拥有自愿进入核心态的手段,从而引起访管中断。

再次强调,访管指令是非特权指令,其是程序员主动获得使用特权指令的手段。