异常处理的返回

2023-10-26

异常处理的返回

异常可以分为四类:中断(interrupt)、陷阱(trap)、故障(fault)和终止(abort)。 这几种异常处理之后又有不同的返回方式,总的来讲:

类别 原因 异步/同步 返回行为
中断 来自I/O设备的信号 异步 总是返回到下一条指令
陷阱 有意的异常 同步 总是返回到下一条指令
故障 潜在可恢复的错误 同步 可能返回到当前指令
终止 不可恢复的错误 同步 不会返回

中断

中断是来自I/O设备的信号,在中断处理结束后会返回下一条指令。

在这里插入图片描述

陷阱

陷阱是有意的异常,是执行一条指令的结果。就像中断处理程序一样,陷阱处理程序将控制返回到下一条指令。

在这里插入图片描述

故障

故障由错误情况引起,它可能能够被故障处理程序修正。根据故障是否能够被修复,故障处理程序要么重新执行引起故障的指令,要么终止。

在这里插入图片描述

终止

终止是不可恢复的致命错误造成的结果,通常是一些硬件错误。Linux/x86-64系统中的异常终止处理程序将控制传递给一个内核abort例程,该例程会终止这个应用程序。

在这里插入图片描述

以上参考《深入理解计算机系统 原书第三版》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异常处理的返回 的相关文章

  • fork之后子进程到底复制了父进程什么

    fork之后子进程到底复制了父进程什么 发表于2015 4 3 9 54 08 2161人阅读 分类 操作系统 include
  • System.getProperty用法

    转自 http blog darkmi com 2011 03 16 1666 html System getProperty 用于获取当前的系统属性 比如java版本 操作系统名称 区域 用户名等 这些属性一般由jvm自动获取 不能手工设
  • Linux系统的安装(在VM虚拟机上安装CentOS 7)

    工具准备 物理计算机一台 配置要求 操作系统 win10 64位 大家基本上都是 硬盘可用容量 20G以上 内存容量 4G以上 虚拟机安装包 VMware workstation full 12 5 下载链接 点我下载 提取码 9gha C
  • 虚拟内存的最大容量与实际容量区别

    虚拟内存的最大容量与实际容量区别 1 概念介绍 虚拟内存的最大容量是计算机的地址结构 CPU寻址范围决定的 虚拟内存的实际容量是内存与外存之和 CPU寻址范围 两者的最小值 2 例题介绍 某计算机的地址结构是64位 按字节编址 内存大小51
  • 设备管理过程

    复杂度2 5 机密度2 5 最后更新2021 04 19 AIX中对设备会有如下五个操作 define aix下能看到设备的定义 但驱动程序并没有加载或初始化 该设备不可用 lsdev看到设备时defined 很多逻辑设备 vg lv等 只
  • gpuz怎么看显存颗粒

    gpuz可以帮助一些用户查看电脑的一切显卡参数 对于想要了解显卡的网友来说使用起来是非常方便的 不过有些网友是刚开始使用 还不知道gpuz怎么看显存颗粒 下面小编就教下大家gpuz查看显存颗粒的方法 首先 显存颗粒是显存的物理存储组成单元
  • Linux 磁盘与文件系统管理(鸟哥私房菜)

    本文来自 http vbird dic ksu edu tw linux basic 0230filesystem php 第八章 Linux 磁盘与文件系统管理 系统管理员很重要的任务之一就是管理好自己的磁盘文件系统 每个分割槽不可太大也
  • office2013 excel 打开时提示excel词典xllex.dll文件丢失或损坏

    今天打开Excel时 发现报错 xllex dll文件丢失或损坏 我用的是office2013 网上找了好多都是2007的dll文件 导入不了 于是乎重装office 问题解决 但还是把xllex dll烤出来做个备份吧 参考下面步骤即可
  • CF、SF、OF、ZF标志位

    没学汇编 这种题我真是做一道错一道 OF overflow flag 溢出标志位 溢出标志位 OF 1 表示带符号整数运算时结果发生溢出 对于无符号整数运算 OF没有意义 对于有符号数的溢出判断方式有 1 采用一位符号位 思想为 或 则为溢
  • InfoQ视频直播分享报名:前贝尔实验室、Oracle架构师为你在线揭秘分布式平台内核...

    报名方式 关注InfoQ微信公众号 ID infoqchina 回复 InfoQ 即可观看在线直播技术分享 分享地点 u0026amp 时间 InfoQ直播微课堂将在熊猫 TV 网站播出 看腻了卖肉的女主播 来看看QCon 的明星讲师如何
  • LWIP在STM32上的移植

    本文做记录摘抄 加上自己的体会 文章标题 STM32使用LWIP实现DHCP客户端 http www cnblogs com dengxiaojun p 4379545 html 该文章介绍了几点 LWIP源码的内容 关键点 1 inclu
  • 操作系统笔记六(文件管理)

    1 文件逻辑结构 1 1逻辑结构的文件类型 分类 有结构文件 例如 PNG文件 无结构文件 1 2顺序文件 1 3索引文件 2 辅存的存储空间分配 2 1分配方式 连续分配 直接分配连续的存储空间 链接分配 隐式链接 在盘块内指定下一个盘块
  • Elasticsearch 日志

    下载并安装 Filebeat 首次使用 Filebeat 请参阅入门指南 复制代码片段 curl L O https artifacts elastic co downloads beats filebeat filebeat 7 2 0
  • Linux alien命令

    一 简介 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 二 安装 http toutiao com a6188997768449360129 三 实例 http www
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • Ubuntu9.04太多乱码(中文不能正常显示)

    最近在使用Ubuntu9 04的过程中 发现有好多地方都出现乱码 其实是中文不能正常显示 现在把我所遇到的所有乱码问题集中一下 方便以后查阅参考 一 Flash乱码 在终端输入 sudo gedit etc fonts conf d 49
  • 内存管理——分页分段

    一 分页存储管理 1 页面与页框 1 页面 将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 2 页框 相应于页面 把内存空间分成和页面相同大小的若干个存储块 称为 物理 块或页框 frame 3 页内碎片 在
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • 图解五种磁盘调度算法, FCFS, SSTF, SCAN, C-SCAN, LOOK

    一 FCFS 调度 先来先服务 磁盘调度的最简单形式当然是先来先服务 FCFS 算法 虽然这种算法比较公平 但是它通常并不提供最快的服务 例如 考虑一个磁盘队列 其 I O 请求块的柱面的顺序如下 98 183 37 122 14 124
  • 八股文打卡day20——操作系统(3)

    面试题 线程同步的方式有哪些 我的回答 多线程同时访问和修改某个数据的话 会造成数据的不一致和冲突问题 所以就需要线程同步 线程同步的方式有 1 互斥锁 互斥锁就是 当一个资源被访问和操作时 会对这个资源加锁 把这个资源锁定 其他线程不能对

随机推荐

  • C3P0的详细配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)

    C3P0是一个开放源代码的JDBC连接池 它在lib目录中与Hibernate一起发布 包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象 c3p0 config gt
  • 使用Pytorch进行多卡训练

    当一块GPU不够用时 我们就需要使用多卡进行并行训练 其中多卡并行可分为数据并行和模型并行 具体区别如下图所示 由于模型并行比较少用 这里只对数据并行进行记录 对于pytorch 有两种方式可以进行数据并行 数据并行 DataParalle
  • 数据库课程设计:图书信息管理系统(Java+MySQL)(附程序)

    期末数据库课程设计做了个图书信息管理系统 由于老师给的选题给得早 所以我在开学后的几周就开学搞了 删删改改整了好多 在此整理分享一下 项目简介 随着社会的发展 人们对知识的需求也在不断增长 书籍作为人们获取并增长知识的只要途径 使得书城 书
  • 如何通过远程桌面重启计算机?

    使用远程桌面连接远程计算机后 在开始菜单中只有 注销 和 关机 选项 无法直接重启现场终端 可以使用命令行重启现场终端 使用运行命令 Windows R键 输入命令行shutdown r t 0 Shutdown r t 5 关闭 重启 延
  • 看尚电视adb安装当贝桌面,并开机自启

    1 链接 可以电脑下奇兔刷机 实用工具里有adb 点开直接用 ADB 链接好后输入命令验证 c adb gt adb devices 如显示 192 168 5555 device字样表示链接成功 不同的adb前面几个字母也许不一样 2 开
  • 每个初级程序员都希望有一天能成为一名高级开发工程师。

    当程序员想要转向更高需求以及更高层次的角色时 他们的能力也必须随之提升 但也正因如此 很多人都会在这种转变中失败 程序员们通常认为 成为一名高级开发工程师必定要积累一定年限的经验以及十分擅长编程 虽然这些的确是必要因素 但想要成为一名高级开
  • 多线程创建的方式

    多线程的创建方式有以下几种 1 继承Thread类创建多线程 继承java lang Thread类 重写Thread类的run 方法 在run 方法中实现运行在线程上的代码 调用start 方法开启线程 Thread 类本质上是实现了 R
  • 【Ubuntu换源教程】不同Ubuntu系统版本换清华源

    今天在新电脑上装了虚拟机VMware Workstation Pro 16 在虚拟机上安装了Ubuntu20 04系统 在做Ubuntu20 04系统换源的时候 发现源要和Ubuntu的版本匹配 之前一直不知道 一直都是盲目换源 版本如果不
  • unity给localRotation赋值

    transform localPosition和transform localScale都是直接赋值三元数 给旋转赋值需要用 方法一 xxx transform localEulerAngles new Vector3 0 0f 0 0f
  • JS面试中常见的算法题

    1 验证一个数是否是素数 1 如果这个数是 2 或 3 一定是素数 2 如果是偶数 一定不是素数 3 如果这个数不能被3至它的平方根中的任一数整除 num必定是素数 而且除数可以每次递增 排除偶数 function isPrime num
  • 优秀logo设计解析_优秀Logo设计!具象表现手法!

    文 王新华 具象标志以客观物象的自然形态为造型基础 经过提炼 概括 抓住客观对象的精神内涵 强化其主要特征 忽略与舍弃次要因素 达到直观 感性的视觉效果 人物形 人是万物之灵 是社会的主宰 以人物为题材是标志设计的重要表现内容 人体的各种动
  • C++中memset函数详解

    memset函数定义于
  • Django中分页功能的实现及封装与调用(超详细)

    在django开发过程中 实现前端页面的分页是一个基本且常用的功能 下面就同小编一起完成分页功能的实现及封装与调用 一 在pycharm中创建django项目 小编默认看客朋友们都会创建 故不在赘述 若不熟悉 猛戳这里 二 在mysql中创
  • React事件处理、事件的特点、事件语法、React事件处理函数里的this、事件对象、阻止浏览器的默认行为

    React事件的特点 1 React 事件绑定属性的命名采用驼峰式写法 而不是小写 如 onClick 2 如果采用 JSX 的语法你需要传入一个函数作为事件处理函数 而不是一个字符串 DOM 元素的写法 函数不写小圆括号 3 在 Reac
  • CSAPP malloclab实验

    书本配套实验地址 构造一个分配器是一件富有挑战的任务 设计空间很大 有多种块格式 空闲链表格式 以及放置 分割和合并策略可供选择 另一个挑战就是我们经常被迫在类型系统的安全和熟悉的限定之外编程 依赖于容易出错的指针强制类型转换和指针运算 这
  • FreeRTOS记录(五、FreeRTOS任务通知)

    在前面几篇文章我们已经对FreeRTOS任务API和任务调度原理进行了相对深入的分析 这篇文章主要针对任务与任务之间的交互 信息传递相关的API组件进行分析 目录 一 任务通知基本介绍 1 FreeRTOS 任务通知函数 2 CMSIS封装
  • Android调用打印机

    打印机其实和Android没有什么大的关系 和linux内核关联才是比较强的 最终的结果是要在Android实现驱动打印机 但是一般调试一个新的驱动的流程是这样的 1 先在linux PC上进行测试 2 在标准嵌入式linux上进行调试 3
  • MFC原理与方法(二)

    MFC原理与方法 二 一 前言 二 类向导的使用 三 MFC消息管理 1 MFC消息映射机制 2 消息处理 四 结语 一 前言 时间过得好快啊 又是一个星期过去了 我又回来啦 每个星期保持写博客的习惯 及时消化上课的知识 不仅仅对我有帮助和
  • MySQL进阶篇之存储过程(procedure)

    04 视图 存储过程 触发器 4 1 视图 view 4 2 存储过程 procedure 4 2 1 介绍 1 介绍 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合 调用存储过程可以简化应用开发人员的很多工作 减少数据在数据
  • 异常处理的返回

    异常处理的返回 异常可以分为四类 中断 interrupt 陷阱 trap 故障 fault 和终止 abort 这几种异常处理之后又有不同的返回方式 总的来讲 类别 原因 异步 同步 返回行为 中断 来自I O设备的信号 异步 总是返回到