操作系统——中断

目录

前置知识

​编辑

基本概念

1.中断特点

[2.PSW(程序状态字,Program statement word)](#2.PSW(程序状态字,Program statement word))

中断的作用

中断的类型

中断嵌套、中断优先级、中断屏蔽

中断响应过程


前置知识

  • 内核程序 :内核是操作系统的核心部分,负责管理计算机的硬件资源,并提供各种系统服务给应用程序。
  • 应用程序:应用程序是在操作系统上运行的用户程序,通过调用操作系统提供的接口来访问系统资源和实现各种功能。
  • 内核态 :也称为特权模式或监管模式,是操作系统运行的特权级别。在核心态下,操作系统拥有对所有硬件资源和系统状态的完全访问权限,可以执行特权指令,管理系统资源并执行关键操作。
  • 用户态:在用户态下,应用程序只能执行受限的指令序列,无法直接访问底层硬件资源,必须通过系统调用等方式请求操作系统提供服务。

基本概念

所谓中断,指的是CPU在执行一个程序时对系统发生的某个事件作出的一种反应

简单来说就是暂停执行当前任务,保存现场,去处理该事件,再回到断点继续执行被中断的程序

1.中断特点

  1. 随机性:系统运行过程中随时可能出现
  2. 可恢复性:完成对某一事件的中断处理后,系统会回到断点处继续执行
  3. 自动性:中断事件发生后,进入中断,执行中断处理程序以及中断返回都是自动完成的

系统进入中断时,会访问中断寄存器和程序状态字寄存器的内容。

中断寄存器:系统硬件会为每个中断源设置中断寄存器用来记录中断发生时的相关信息,中断寄存器中的内容被称为中断字

程序状态字:作用是控制指令的执行顺序并保留和指示与程序相关的系统状态

2.PSW(程序状态字,Program statement word)

  1. 指令地址:PC
  2. 条件码:当前指令执行情况
  3. 目态/管态:指示当前CPU状态
  4. 中断屏蔽位:用于指示程序执行时应该屏蔽哪些中断,即哪些中断发生时CPU不予响应
  5. 寻址方式,编址,保护键
  6. 响应中断的内容

中断的作用

  1. 实现CPU与I/O设备并行工作:宏观上看,I/O每次结束都会发出中断,使得CPU暂停当前程序转入I/O程序,由于速度间隔极小可以看作并行发生
  2. 实现硬件故障处理
  3. 实现人机通信
  4. 实现多道程序和分时操作:多道程序的切换运行需要借助中断系统。在一个程序运行中,可以由中断系统切换到另一个程序,也可以分配每个程序时间片,利用定期的时钟中断实现
  5. 实现实时处理:某些事件发生时,要求计算机立即停止当前工作转而处理中断服务程序
  6. 实现应用程序和操作系统的联系:用户程序中安排一条trap指令可以进入操作系统,实现应用程序与操作系统的联系,称为软中断
  7. 实现多处理机系统中处理机之间的联系

中断的类型

  1. 按功能分类
    1. 硬件故障中断
    2. 程序性中断
    3. 外部中断
    4. I/O中断
    5. 访管中断:对操作系统提出某种需求(如请求I/O、创建进程等),这是由于用户程序在编写程序时需要使用操作系统提供的服务,有意使用访管指令或系统调用所引起的中断,又称软中断
  2. 按中断方式分类
    1. 强迫性中断:通常是由某种事故或外部请求信号所引起(如硬件故障,I/O中断)
    2. 自愿中断
  3. 按中断来源分类
    1. 外中断:由处理机外部事件引起的中断,又称中断或异步中断,它是随着CPU时钟随机产生的,只能在一条指令执行结束之后才能响应该中断
    2. 内中断:由处理机内部事件引起的中断,又称异常或同步中断,它是在一条指令执行完毕之后才会发出中断,一旦发出中断应立即响应
    3. 现代操作系统中,异常总是优先得到响应和处理,所以异常也称高优先级中断

中断嵌套、中断优先级、中断屏蔽

中断嵌套:在处理一个中断事件时,系统允许响应新的中断事件,此时可能发生中断嵌套,即前一个中断处理程序的执行被终止,转而执行新的中断处理程序

引发两个问题:

  1. 处理顺序与响应顺序不一致
  2. 断点现场的保护,中断返回等工作变得复杂
    中断优先级 :中断优先级是硬件 规定的,根据中断事件的重要性和紧迫程度划分。当多个中断同时发生时,系统先根据优先级高低进行相应,对于同级别的中断根据硬件规定的次序进行响应(不同的系统对中断优先级划分不一样,这是在硬件设计时规定的)

一般情况下:硬件故障中断>自愿中断>程序性中断>外部中断>I/O中断
中断屏蔽 :某些时候,系统处理低优先级的中断事件时并不希望被高优先级的中断所打断,这时利用中断屏蔽技术来实现。中断屏蔽字在PSW中查看,如果该事件屏蔽位有屏蔽标志,那么该中断暂时不被系统响应,待屏蔽位消除后再相应。

自愿中断是不能被屏蔽的)

(中断的前期会进行当前中断屏蔽字的设置,处理完该中断之后会恢复原屏蔽字)

中断响应过程

保存现场与恢复现场均要关中断后再执行,执行完再开中断

设置中断屏蔽字是改变中断处理顺序

相关推荐
阑梦清川4 小时前
linux操作系统课程学习02
操作系统
阑梦清川4 小时前
linux操作系统课程学习01
操作系统
望获linux3 天前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
数据智能老司机3 天前
Linux内核编程——网络驱动程序
linux·架构·操作系统
数据智能老司机3 天前
Linux内核编程——字符设备驱动程序
linux·架构·操作系统
数据智能老司机3 天前
Linux内核编程——Linux设备模型
linux·架构·操作系统
望获linux3 天前
【Linux基础知识系列】第四十篇 - 定制彩色终端与 Prompt
linux·运维·前端·chrome·操作系统·开源软件·嵌入式软件
望获linux13 天前
【实时Linux实战系列】实时I/O操作与中断处理
linux·服务器·microsoft·操作系统·交互·rtos·嵌入式软件
redreamSo13 天前
世俗点,假如幸福能量化,公式是什么?
操作系统
智践行14 天前
ROS2 Jazzy:编写可组合节点(C++)
操作系统