当前位置: 首页 > news >正文

操作系统【OS】中断和异常

 

异常(内中断)

中断(外中断)

基本概念

  • 由CPU执行指令内部产生的事件
  • 内中断都是屏蔽中断,一旦出现,就要立即处理。
  • 由来自CPU外部的设备发出的中断请求(常用于输入输出)
  • 典型的由外部设备触发的、与当前正在执行的指令无关的异步事件
  • 外部I/O设备通过特定的中断请求信号线向CPU提出中断请求
  • CPU每执行完一条指令就检查中断请求信号线,若检测到中断请求,则进入中断响应期
  • 外部中断都是在一条指令执行完成后(中断周期)才被检测并处理的

分类

故障

  • 由指令执行引起的异常
  • 在引起故障的指令启动之后、执行结束前被检测到的异常事件

自陷

  • 也称陷阱或陷入,是预先安排的一种“异常事件”,就像预先设置好的“陷阱”一样

终止

  • 若在执行指令的过程中发生了使计算机无法继续执行的硬件故障,那么程序将无法继续执行,只能终止

可屏蔽中断(INTR)

  • 通过可屏蔽中断请求线INTR向CPU发出的中断请求
  • 通过改变屏蔽字可以实现多重中断

不可屏蔽中断(NMI)

  • 通过不可屏蔽中断请求线NMI向CPU发出的中断请求
  • 通常是非常紧急的硬件故障,如电源掉电等。
  • 不受中断标志位的影响,即使在关中断的情况下也会被响应

举例

故障

  • 指令译码时,出现“非法操作码”
  • 取数据时,发生“缺段”或“缺页”
  • 除数为零
  • 地址越界
  • 运算溢出

自陷

  • x86机器中,用于程序调试“断点设置”和单步跟踪功能
  • 系统调用指令
  • 条件自陷指令

终止

  • 控制器出错
  • 存储器校验错
  • 调出中断服务程序来重启系统
  • 终止异常(Abort)和外中断属于硬件中断
  • 故障异常和自陷异常属于软件中断
  • I/O中断:键盘输入,打印机缺纸
  • 时钟中断:一个固定的时间片已经到了,让处理机处理计时、启动定时运行的任务

执行时间

  • CPU在执行指令时会检查是否有异常发生
  • 每个指令周期末尾,CPU都会检查是否有外中断信号需要处理

不同点

  • 缺页”或“溢出”等异常事件是由特定指令在执行过程中产生的
  • 异常的检测由CPU自身完成,不必通过外部的某个信号通知CPU
  • 中断不与任何指令相关联,也不阻止任何指令的完成

 

CPU响应可屏蔽中断需要满足3个条件:

中断源有中断请求;

CPU允许中断及开中断;

一条指令执行完毕,且没有更紧迫的任务。

相关文章:

操作系统【OS】中断和异常

异常(内中断) 中断(外中断) 基本概念 由CPU执行指令内部产生的事件内中断都是不可屏蔽中断,一旦出现,就要立即处理。 由来自CPU外部的设备发出的中断请求(常用于输入输出)典型的由…...

[AutoSAR系列] 1.1 AutoSar 发展历史

AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。 AutoSar 是一项开源的汽车软件标准,旨在提高汽车电子系统的互操作性和可重用性。AutoSar 成员通常是汽车制造商、电子元件制造商、软件供应商和工具供应商等公司,他们在共同开发和推进 AutoSar 标…...

【vscode编辑器插件】前端 php unity自用插件分享

文章目录 一篇一句前言前端vuegitphpunity后端其他待续完结 一篇一句 “思考是最困难的工作,这也许是为什么很少有人这样做。” - 亨利福特(Henry Ford) 前言 无论是什么语言,我都会选择使用vscode进行开发,我愿称v…...

【企业级SpringBoot单体项目模板 】—— 项目代码管理

😜作 者:是江迪呀✒️本文关键词:SpringBoot项目模版、企业级、模版、代码管理☀️每日 一言:生命力顽强的种子,从不对瘠土唱诅咒的歌。 文章目录 一、第一种:先创建仓库1.1 创建仓库1.2 clone…...

Python读取Excel文件中指定的列数并生成CSV文件

0x00 安装Pandas和OpenPyXL pip install pandaspip install openpyxl0x01 Encoding import os import pandas as pd import openpyxl from openpyxl import load_workbook import csvdef write_dict_to_csv(dict_data, fileName):df pd.DataFrame.from_dict(dict_data)# 将D…...

MySQl有哪些索引(种类)?索引特点?为什么要使用索引?

普通索引:仅加速查询唯一索引:加速查询 列值唯一(可以有null)主键索引:加速查询 列值唯一(不可以有null) 表中只有一个组合索引:多列值组成一个索引,专门用于组合搜索&…...

49数码论坛系统设计与实现

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…...

蓝桥杯每日一题2023.10.19

题目描述 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 题目分析 我们以每一个节点的坐标来将这一深度的权值之和相加从而算出权值和 要清楚每一个深度的其实节点和末尾节点,使用双指针将这个深度节点的权值和计算出来,记录所 需要的深度即可 #includ…...

NIO IN:技术蔚来的首次「大阅兵」

宝山,上海第一钢铁厂旧址。 上周,蔚来在这里点亮金色炉台,2500 立方米高炉,浓重的工业气质与古典凝重的光影交织,蔚来 NIO IN 用科技的进步呼应那个火红的年代。 这是蔚来第一次开科技发布会,为了全方位展…...

Android推送问题排查

针对MobPush智能推送服务在使用过程中可能出现的问题,本文为各位开发者们带来了针对MobPush安卓端推送问题的解决办法。 TCP在线推送排查 排查TCP在线收不到推送时,我们先通过客户端的RegistrationId接口获取设备的唯一标识 示例: MobPush…...

轻量级导出 Excel 标准格式

一般业务系统中都有导出到 Excel 功能,其实质就是把数据库里面一条条记录转换到 Excel 文件上。Java 常用的第三方类库有 Apache POI 和阿里巴巴开源的 EasyExcel 等。另外也有通过 Web 模板技术渲染 Excel 文件导出,这实质是 MVC 模式的延伸&#xff0c…...

蓝桥杯 (年号字串 C++)

思路&#xff1a; 1、看成10进制转化成26进制 。 2、A表示1、B表示2。以此类推&#xff0c;Z表示26. 代码&#xff1a; #include <iostream> using namespace std; int main() {char str[10]; int sum 2019, n, i 0; while (sum > 0) {str[i] sum % 26 64;sum / …...

软件测试01

一、认识软件及测试 1、什么是软件 控制计算机硬件工作的工具 2、软件的基本组成 页面客户端------请求----->代码服务器-------请求------>数据服务器 3、软件产生过程 需求产生------->需求文档------->设计效果图------->产品开发-------->产品测试 …...

【IBIS 模型与仿真 - IBISWriter and Write_IBIS】

本文将介绍如何从用户设计中编写自定义IBIS模型。 本文是 SelectIO 解决方案中心&#xff08;Xilinx 答复 50924&#xff09;的设计助手部分&#xff08;Xilinx 答复 50926&#xff09;的一部分。 原文链接&#xff1a;https://support.xilinx.com/s/article/50957?languagee…...

[题] 筛质数 #质数(素数)

题目 AcWing 868. 筛质数 题解 方法一&#xff1a;朴素筛法 及其优化&#xff1a;埃氏筛 从2~n枚举 i,再从小到大枚举所有已知的质数 primes[j],筛掉合数 i*primes[j],遇到新的质数就入队 枚举所有小于n的数i,将i的所有倍数筛掉。 筛完后剩下的数就是质数。 朴素做法 void ge…...

C进阶-语言文件操作

本章重点&#xff1a; 什么是文件 文件名 文件类型 文件缓冲区 文件指针 文件的打开和关闭文件的顺序读写文件的随机读写文件结束的判定 1. 什么是文件 磁盘上的文件是文件。 但是在程序设计中&#xff0c;我们一般谈的文件有两种&#xff1a;程序文件、数据文件 1.1 程序文件…...

17-spring aop调用过程概述

文章目录 1.源码2. debug过程1.源码 public class TestAop {public static void main(String[] args) throws Exception {saveGeneratedCGlibProxyFiles(System.getProperty("user.dir") + "/proxy");ApplicationContext ac = new ClassPathXmlApplicatio…...

微信小程序------框架

目录 视图层 WXML 数据绑定 列表渲染 条件渲染 模板 wsx事件 逻辑层 生命周期 跳转 视图层 WXML WXML&#xff08;WeiXin Markup Language&#xff09;是框架设计的一套标签语言&#xff0c;结合基础组件、事件系统&#xff0c;可以构建出页面的结构。 先在我们的项目中…...

Cross-Modal Joint Embedding with Diverse Semantics

计算两个嵌入之间的相似度得分&#xff0c;然后利用损失函数进行联合嵌入损失最小化优化并更新参数 辅助信息 作者未提供代码...

工具 | macOS 最简方式安装 adb 工具 | Mac

工具 | macOS 最简方式安装 adb 工具 | Mac 介绍 ADB&#xff08;Android Debug Bridge&#xff09;是 Android开发工具包&#xff08;SDK&#xff09;中的一项实用工具&#xff0c;用于与 Android 设备进行通信和调试。 在 macOS 操作系统上安装 ADB 环境可以帮助开发人员与…...

WarcraftHelper:魔兽争霸3终极增强插件解决现代系统兼容性问题

WarcraftHelper&#xff1a;魔兽争霸3终极增强插件解决现代系统兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔…...

Dream-Creator:基于Stable Diffusion的本地AI图像生成工作站部署与实战

1. 项目概述&#xff1a;一个面向未来的AI图像生成工具最近在GitHub上闲逛&#xff0c;发现了一个名为“Dream-Creator”的项目&#xff0c;作者是Xianyu33666。这个项目名本身就挺有意思的&#xff0c;“梦想创造者”&#xff0c;听起来就充满了想象力。点进去一看&#xff0c…...

变分量子算法测量成本优化与TreeVQA框架解析

1. 变分量子算法与测量成本困局变分量子算法&#xff08;Variational Quantum Algorithms, VQAs&#xff09;作为当前量子-经典混合计算的核心范式&#xff0c;通过参数化量子电路逼近目标问题的解。其工作流程可类比经典机器学习中的参数优化&#xff1a;量子处理器负责制备量…...

c++怎么在Linux下通过文件描述符获取详细的Inode节点信息【底层】

...

省、地级市数字经济关注度(百度指数、资讯指数)-(2011-2023年)

01、数据介绍数字经济是一个综合性指标&#xff0c;用于衡量社会各界对数字经济发展及其相关议题的关心和重视程度。这种关注度涵盖了多个维度和主体&#xff0c;包括但不限于政府政策制定者、企业家、投资者、学术界以及广大民众。参考《中南财经政法大学学报》中黎新伍(2022)…...

企业级编程语言视觉标识一体化解决方案:专业图标库的技术文档标准化体系

企业级编程语言视觉标识一体化解决方案&#xff1a;专业图标库的技术文档标准化体系 【免费下载链接】programming-languages-logos Programming Languages Logos 项目地址: https://gitcode.com/gh_mirrors/pr/programming-languages-logos 在技术内容创作与传播日益重…...

星穹铁道抽卡数据分析终极指南:免费解锁您的完整抽卡历史

星穹铁道抽卡数据分析终极指南&#xff1a;免费解锁您的完整抽卡历史 【免费下载链接】star-rail-warp-export Honkai: Star Rail Warp History Exporter 项目地址: https://gitcode.com/gh_mirrors/st/star-rail-warp-export 还在为记不清自己抽了多少次卡而烦恼吗&…...

5个CS2游戏增强功能:Osiris跨平台辅助工具完全指南

5个CS2游戏增强功能&#xff1a;Osiris跨平台辅助工具完全指南 【免费下载链接】Osiris Cross-platform game hack for Counter-Strike 2 with Panorama-based GUI. 项目地址: https://gitcode.com/gh_mirrors/os/Osiris Osiris是一款专为《反恐精英2》&#xff08;CS2&…...

构建企业级AI驱动测试自动化平台的完整架构实战

构建企业级AI驱动测试自动化平台的完整架构实战 【免费下载链接】testsigma Testsigma is an agentic test automation platform powered by AI-coworkers that work alongside QA teams to simplify testing, accelerate releases and improve quality across web, mobile, de…...

Visual C++运行库一键修复:告别软件启动失败的终极解决方案

Visual C运行库一键修复&#xff1a;告别软件启动失败的终极解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当您打开心爱的游戏或专业软件时&#xff0…...