操作系统——中断

目录

前置知识 

​编辑

基本概念

1.中断特点

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中查看,如果该事件屏蔽位有屏蔽标志,那么该中断暂时不被系统响应,待屏蔽位消除后再相应。

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

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

中断响应过程

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/539735.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

封装、继承、多态

1.封装 1.1 概念 举个例子解释,我们使用计算机时,并不关心内部核心部件,而是只需要知道如何开机,如何通过键盘鼠标与计算机进行交互即可.因此厂家在出厂计算机时,在外部套上壳子将内部实现细节隐藏起来,仅仅对外提供开机等,让用户可以与计算机进行交互即可. 封装: 将数据和…

14.WEB渗透测试--Kali Linux(二)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:13.WEB渗透测试--Kali Linux(一)-CSDN博客 netcat简介内容:13.WE…

log4cplus在Qt linux中的应用与问题解决

log4cplus在Qt linux中的应用与问题解决 背景log4cplus下载遇到问题:libm.so.6:undefined reference to __strtof128_nanGLIBC_PRIVATE‘解决方案编译生成在Qt工程里面添加对应依赖编译运行成功 背景 最近工作中需要用到log4cplus的日志做一些记录,用了…

R语言深度学习-3-过拟合问题(无监督正则化/Lasso回归/岭回归/集成和平均算法)

本教程参考《RDeepLearningEssential》 我们从上一个教程看到,我们看到在我们训练迭代或者训练更大神经网络的时候,往往会产生过拟合,而且越来越严重,它可能会把训练它的数据拟合的很好,但是未必能把新数据做的很好。…

通过路由器监控,优化网络效率

路由器是网络的基本连接组件,路由器监控涉及将路由器网络作为一个整体进行管理,其中持续监控路由器的性能、运行状况、安全性和可用性,以确保更好的操作和最短的停机时间,因此监控路由器至关重要。 为什么路由器监控对组织很重要…

vue3动态组件未渲染问题

渲染问题 component动态组件写法与vue2写法一致&#xff0c;代码如下&#xff1a; <component :is"componentName"/><script setup>import { ref } from vueimport account from ./user/account.vue// 组件名称const componentName ref(account)// 点击…

JVM探究

JVM探究 请你谈谈你对JVM的理解&#xff1f;java -> class -> jvm java 8虚拟机和之前的变化更新OOM 内存溢出。栈溢出 StackOverFlowError > 怎么分析JVM的常用调优参数 &#xff1f; 扩大内存内存快照如何抓取&#xff0c;怎么分析Dump文件&#xff1f;知道吗&…

用Stable Diffusion生成同角色不同pose的人脸

随着技术的不断发展&#xff0c;我们现在可以使用稳定扩散技术&#xff08;Stable Diffusion&#xff09;来生成同一角色但不同姿势的人脸图片。本文将介绍这一方法的具体步骤&#xff0c;以及如何通过合理的提示语和模型选择来生成出更加真实和多样化的人脸图像。 博客首发地…

人形机器人进展:IEEE Robotics出版双臂通用协同机械手操作架构

文章目录 1. Main2. My ThoughtsReference彩蛋a. OpenAI 投资: 人形机器人公司 Figure AIb. 人工智能软件工程师 Devin 上线 1. Main 图1 人居环境下的人形双臂机器人系统 通用人形机器人 作为近年来机器人与AI交叉领域的研究热点和技术竞争高地&#xff0c;因其具备在 非结构化…

2 Redis的安装与配置

这里是要将 Redis 安装到 Linux 系统中。 1.1 Redis 的安装 1.1.1 克隆并配置主机 修改主机名&#xff1a;/etc/hostname修改网络配置&#xff1a;/etc/sysconfig/network-scripts/ifcfg-ens33 1.1.2 安装前的准备工作 &#xff08;1 &#xff09;安装 gcc &#xff08;2…

linux 安装gradle7.4.2环境

1.下载gradle7.4.2工程 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1hoNEFkBJPHAgs9ITAEh3Zg?pwdGJ…

Landsat、哨兵等免费数据下载地址汇总

我们科研和一些工程化应用中&#xff0c;经常会用到免费的Landsat、哨兵1/2/3等数据。下面介绍常用的下载网址&#xff1a; 1.哨兵系列数据 哨兵系列数据在https://scihub.copernicus.eu/dhus 上简单注册一个用户就可以下载&#xff0c;就是速度慢点&#xff0c;还限制一个用…