中断与异常
来源:互联网 发布:手机棋牌游戏平台知乎 编辑:程序博客网 时间:2024/05/17 23:38
中断:
由一个外部硬件产生,告知CPU,异步事件
异常:
由程序执行过程中引发,与当前处理器正在执行的任务有关,同步事件
中断与异常是由统一管理(IDT - > 中断描述符表)
系统为每一个中断或者异常都提供一个处理函数(陷阱处理器)
当中断或者异常发生,指令的执行就会转到特性的陷阱处理器中,
由该陷阱处理器完成中断或者异常的处理工作.
这些陷阱处理器被放到一张表中(数组 - > IDT),异常或中断发生时,
cpu根据异常或中断的类型,转到表中某项去执行.
异常的分类:
错误 :
错误类异常通常都是可以被纠正的,产生错误异常,会保存当前线程
环境(寄存器状态等),然后从IDT中找到处理该错误的陷阱处理器,处理
完后,恢复线程环境,回到产生错误处继续执行
(纠正错误后在次执行产生异常的指令)
::线程环境中保留的EIP是产生异常的指令地址,而不是下一条指令
陷阱:
陷阱类异常产生时,错误指令已经被执行完毕,线程环境中保存的是
产生异常的指令的下一条指令,也可以恢复执行
终止:
终止类异常都极为严重的错误,程序一般已经无法继续运行了,只能
结束当前程序
(程序一开始就错了,但是执行一段时间之后才显现出来)
阅读全文
0 0
- 中断与异常
- 3.中断与异常
- ARM异常与中断
- 中断与异常
- 关于中断与异常
- 中断与异常处理
- ARM7异常与中断
- 异常与中断处理
- 中断与异常
- 中断分类(异常 与 中断)
- 【中断异常】软中断与Bottom Half
- 中断与异常的关系
- 中断与异常的区别
- 异常与中断的区别
- 非屏蔽中断与异常
- ARM的异常与中断
- 异常处理与程序中断
- Linux2.6中断与异常
- 【JZOJ 5447】【NOIP2017提高A组冲刺11.3】考托福又不会考
- Android 简易计算器
- MAC下升级Ruby
- 杂记(隐藏滚动条及鼠标滚轮事件)
- intellij 快捷键 .转载
- 中断与异常
- px4原生源码学习-(1)
- Java数据结构与算法(4) -冒泡排序
- 第 4 章 数据类型
- strcpy函数实现
- 线程的五种状态及改变状态的三种方法
- SEH原理剖析
- vijos 1752
- java操作redis(一):建立连接以及常用存取值的操作