中断与异常的区别
2015-07-28 09:11
267 查看
一、中断:系统停止当前正在运行的程序而转向其他服务,可能是因为优先级高的请求
服务了,或者是因为人为安排中断。中断是属于正常现象。
异常:是由于软件错误而引起的
二、中断是CPU所具备的功能 – 硬件
异常是软件运行过程中的一种开发过程中没有考虑到的程序错误 – 软件
三、
1.中断的概念
所谓中断是指CPU对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,
保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“
打断”的程序。
引起中断的事件称为中断源,中断源向CPU提出进行处理的请求称为中断请求。
2.中断类型
按中断事件来源进行分类,主要有两类:
(1)中断。由CPU以外的事件引起的中断,如I/O中断、时钟中断、控制台中断等。
(2)异常(exception)。来自CPU的内部事件或程序执行中的事件引起的过程。如
由于CPU本身故障、程序故障和请求系统服务的指令引起的中断等。
3.中断的一般处理过程
中断处理一般分为中断响应和中断处理两个步骤。中断响应由硬件实施,中断处理主
要由软件实施。
(1)中断响应
对中断请求的整个处理过程是由硬件件和软件结合起来而形成的一套中断请求机构实
施的,发生中断时,CPU暂停执行当前的程序,而转去处理中断。这个硬件对中断请求
作出反应的过程,称为中断响应。
一般来说,中断响应顺序执行下述三步动作:①中止当前程序的执行;②保存原程序
的断点信息;③转到相应的处理程序。
通常CPU在执行一条指令后,立即检查有无中断请求。如有,则立即作出响应。
(2)中断处理
中断响应后,就由软件(中断处理程序)进行相应处理。中断处理过程大致分为四个
阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中
断程序现场(即中断返回)。
服务了,或者是因为人为安排中断。中断是属于正常现象。
异常:是由于软件错误而引起的
二、中断是CPU所具备的功能 – 硬件
异常是软件运行过程中的一种开发过程中没有考虑到的程序错误 – 软件
三、
1.中断的概念
所谓中断是指CPU对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,
保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“
打断”的程序。
引起中断的事件称为中断源,中断源向CPU提出进行处理的请求称为中断请求。
2.中断类型
按中断事件来源进行分类,主要有两类:
(1)中断。由CPU以外的事件引起的中断,如I/O中断、时钟中断、控制台中断等。
(2)异常(exception)。来自CPU的内部事件或程序执行中的事件引起的过程。如
由于CPU本身故障、程序故障和请求系统服务的指令引起的中断等。
3.中断的一般处理过程
中断处理一般分为中断响应和中断处理两个步骤。中断响应由硬件实施,中断处理主
要由软件实施。
(1)中断响应
对中断请求的整个处理过程是由硬件件和软件结合起来而形成的一套中断请求机构实
施的,发生中断时,CPU暂停执行当前的程序,而转去处理中断。这个硬件对中断请求
作出反应的过程,称为中断响应。
一般来说,中断响应顺序执行下述三步动作:①中止当前程序的执行;②保存原程序
的断点信息;③转到相应的处理程序。
通常CPU在执行一条指令后,立即检查有无中断请求。如有,则立即作出响应。
(2)中断处理
中断响应后,就由软件(中断处理程序)进行相应处理。中断处理过程大致分为四个
阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中
断程序现场(即中断返回)。
相关文章推荐
- 高精度问题之大数相加
- Android 屏幕旋转时Activity的生命周期
- HDU - 1358 - Period (KMP)
- vector的reserve(),resize(),capacity()
- Java内存模型
- PHPStorm的资料网址
- POP介绍与使用实践(快速上手动画)
- 源码推荐(7.28):习惯了的Sqlite,自己动手造一个可以深度自定义的图片选择器
- android网络操作I: OkHttp, Volley以及Gson
- Core Graphics Tutorial Part 3: Patterns and Playgrounds
- final、static关键字
- 【HDOJ 1150】Machine Schedule
- 【图文教程】如何将Apple Watch应用提交到App Store
- iOS可持续化集成: Jenkins+bundler+cocoapods+fastlane
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- mybatis 配置文件mysql常用语句写法总结
- uva 639 Don't Get Rooked ( 回溯 )
- Android基础_页面布局_TableLayout(表格布局)
- 使用Playground学习数值算法
- java.lang.NoClassDefFoundError: org/slf4j/Logger