异常和中断的区别

news2024/10/5 22:23:56

异常和中断的区别

  • 中断
  • 异常
  • 中断和异常的相同点
  • 中断和异常的区别

在这里插入图片描述

中断

中断是由硬件设备产生的,而它们从物理上说就是电信号,之后,它们通过中断控制器发送给CPU,接着CPU判断收到的中断来自于哪个硬件设备(这定义在内核中),最后,由CPU发送给内核,有内核处理中断。下面这张图显示了中断处理的流程:
在这里插入图片描述

异常

异常包括很多方面,有出错,有陷入,也有可编程异常

  1. 出错保存的EIP指向触发异常的那条指令。因此,当从异常返回时,出错会重新执行那条指令,如我们熟悉的缺页异常,由于是fault,所以当缺页异常处理完成之后,还会去尝试重新执行那条触发异常的指令。
  2. 陷入保存的EIP指向触发异常的那条指令的下一条指令,陷入不会重新执行因为异常的指令。陷入的最主要的应用是在调试中,被调试的进程遇到你设置的断点,会停下来等待你的处理,等到你让其重新执行了,它当然不会再去执行已经执行过的断点指令。
  3. 可编程中断:这类中断可由编程者用int指令来触发。在Linux中,使用了一个,也是唯一的一个可编程中断,就是int 0x80 系统调用。硬件对可编程中断的处理与对trap的处理类似,即从这类异常返回时也是返回到触发异常的下一条指令。

异常是由CPU产生的,同时,它会发送给内核,要求内核处理这些异常,下面这张图显示了异常处理的流程:
在这里插入图片描述

中断和异常的相同点

  1. 最后都是由CPU发送给内核,由内核去处理。
  2. 处理程序的流程设计上是相似的。

中断和异常的区别

  1. 产生源不相同,异常是由CPU产生的,而中断是由硬件设备产生的。
  2. 中断是异步的,这意味着中断可能随时到来;而异常是CPU产生的,所以,它是时钟同步的。
  3. 当处理中断时,处于中断上下文中;处理异常时,处于进程上下文中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机屏幕视窗机器视觉定位软硬件-康耐德

【检测目的】 手机屏幕视窗视觉定位 【效果图片】 【安装示意图】 【硬件配置】

vs20222使用qt做材料库

Material.h #pragma once #include "QtWindow.h" #include "ui_Widget.h" #include <QWidget> #include <QObject> #include <QDialog>//防止中文乱码 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8")// …

【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行

最近开发vue2 项目 &#xff0c;接口返回的是类似于这样的数据&#xff1a;我是第一行的哦\n我是第二行的哦 我是直接这样渲染的&#xff0c; //html <p v-htmltext></p>//渲染值 this.text "我是第一行的哦\n我是第二行的哦"但结果却是不如意&#x…

数据之海 — 探索大数据的无尽可能

数据之海 — 探索大数据的无尽可能 &#x1f498; &#x1f498;1. 什么是大数据&#xff1f;&#x1f498; &#x1f498;2. 大数据的应用领域&#x1f496; &#x1f496;2.1 商业决策&#x1f496; &#x1f496;2.2 医疗保健&#x1f496; &#x1f496;2.3 城市规划&#…

【机器学习】处理样本不平衡的问题

文章目录 样本不均衡的概念及影响样本不均衡的解决方法样本层面欠采样 &#xff08;undersampling&#xff09;过采样数据增强 损失函数层面模型层面采样集成学习 决策及评估指标 样本不均衡的概念及影响 机器学习中&#xff0c;样本不均衡问题经常遇到&#xff0c;比如在金融…

安全文件传输:如何避免数据泄露和黑客攻击

网络安全问题日益严重&#xff0c;导致许多数据被泄露和黑客袭击的事件频发。为了保证文件传输的安全&#xff0c;需要实施一系列安全文件传输策略来防止数据被泄露和黑客袭击。 第一、选择适合的加密方法是非常关键的 加密是一种将明文转换成密文的过程&#xff0c;这样只有授…

再探python装饰器

参考视频教学&#xff1a; 可能是b站上最好的Python装饰器教程_哔哩哔哩_bilibili 【python】如何在class内部定义一个装饰器&#xff1f;这里的坑你要么不知道&#xff0c;要么不会填&#xff01;_哔哩哔哩_bilibili 推荐&#xff01;先学习第一个视频&#xff0c;再学习第…

Selenium 根据元素文本内容定位

使用xpath定位元素时&#xff0c;有时候担心元素位置会变&#xff0c;可以考虑使用文本内容来定位的方式。 例如图中的【评价】按钮&#xff0c;只有按钮文本没变&#xff0c;就可以定位到该元素。 xpath内容样例&#xff1a; # 文本内容完全匹配 //button[text()"评价&…

赋能教育数字化转型,经管大数据课程教学训练营线下培训圆满收官!

全面推进教学教改、加快学科专业交叉融合&#xff0c;2023年7月30日&#xff0c;由邮电出版有限责任公司联合上海和今信息科技有限公司&#xff08;下简称“和鲸科技”&#xff09;、山东省中国石油大学&#xff08;华东&#xff09;大数据人才培训示范基地主办的“数字化转型背…

【三等奖方案】Web攻击检测与分类识别赛题「Cyan」团队解题思路

2022 CCF BDCI 数字安全公开赛「Web攻击检测与分类识别」赛题Cyan战队获奖方案 地址&#xff1a;http://go.datafountain.cn/4Zj 团队简介 团队成员来自中国科学院大学&#xff0c;对数据挖掘与网络安全有浓厚兴趣&#xff0c;曾多次获得大数据安全分析等比赛的Top名次。希望…

网络:SecureCRT介绍

1. 使用Tab键补全时出现^I&#xff0c;如下操作

MySQL数据库服务器的简化(此操作针对开发人员,不推荐运维人员)

目录 引言 一&#xff0c;5.7之前版本简化 二&#xff0c;5.7之后版本简化 引言 简化数据库只是为了让数据库文件更小更简单。对于开发人员来说是一个不错的选择&#xff0c;h是将数据库只用于简单的数据操作&#xff0c;但是对于运维人员来说就是灾难。 建议每次删除前可以备…

vscode 通过mongoose 连接mongodb atlas

了解mongodb 的项目结构 1.代表集群名称 > 2.代表数据库名称>3.代表每个 collection名称 三者范围为从大到小的关系 &#xff08;一对多&#xff09;。每个集群有不同的连接地址、用户信息&#xff08;Database Access&#xff09;、ip配置信息&#xff08;Network Acce…

安全狗V3.512048版本绕过

安全狗安装 安全狗详细安装、遇见无此服务器解决、在windows中命令提示符中进入查看指定文件夹手动启动Apache_安全狗只支持 glibc_2.14 但是服务器是2.17_黑色地带(崛起)的博客-CSDN博客 安全狗 safedogwzApacheV3.5.exe 右键电脑右下角安全狗图标-->选择插件-->安装…

Vue3基础(1)

1.简单的vue实例 1.data函数介绍 也可以修改data里的数据 2.自定义函数 调用函数 3.Vue模板语法 &#xff08;1).V-html (2)三目运算符的支持 &#xff08;3&#xff09;对函数的支持 &#xff08;4&#xff09;v-bind 值动态修改 4.指令 1.v-if和v-else的使用

数据截断、频谱泄漏与窗函数的选择

目录 数据截断、频谱泄漏与窗函数的选择 什么是频谱泄漏&#xff1f; 解决频谱泄漏问题的方法 主瓣和旁瓣 窗函数介绍 窗函数解决频谱泄漏问题的原理 窗函数的种类、特点和如何使用 1、矩形窗 2、三角窗 3、汉宁窗 4、海明窗 5、布莱克曼窗 6、巴特窗&#xff1a;…

docker 保存和载入镜像

查看本机docker镜像 docker images保存镜像 docker save -o /home/space/work1/docker_qnx7.1.tar.gz a01ee6d74c36复制镜像到其他服务器 scp /home/space/work1/docker_qnx7.1.tar.gz XXXIP:/home/dell/work1/登录新 服务器操作 docker load -i docker_qnx7.1.tar.gz载入后…

滇医通微信小程序分析笔记

注意 本文章仅供学习交流使用&#xff0c;如果你是铁粉你就会知道博主之前发布过一篇相关的文章&#xff0c;但是由于代码涉及到法律相关所以就隐藏了&#xff0c;两年的时间过去了&#xff0c;因为女朋友已经早早安排上了&#xff0c;所以就搁置了&#xff0c;本次不做代码分…

【Linux】Linux服务器连接百度网盘:实现上传下载

【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载 文章目录 【Linux】Linux服务器连接百度网盘&#xff1a;实现上传下载1. 前言2. 具体过程2.1 pip 安装所需包2.2 认证&#xff08;第一次连接需要认证&#xff09;2.3 下载所需文件或者目录2.4 其他指令使用2.5 注意…

Vue3和typeScript路由传参

1 params传的参数&#xff0c;页面刷新就消失,而query传的参数&#xff0c;页面刷新还会存在&#xff0c;所以通常用query。 query传参 跳转页面&#xff1a;拿到router对象,调用push方法做跳转. import { useRoute,useRouter} from "vue-router"; export default…