zoukankan      html  css  js  c++  java
  • 中断与异常的区别

    转载自: https://blog.csdn.net/qq_29996285/article/details/88078939

    中断是指 CPU 对系统发生某事件时的这样一种响应:

    CPU 暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。

    下图 表示中断时 CPU 的活动轨迹。还可进一步把中断分为外中断和内中断。

    • 外中断——就是我们指的中断——是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等;
    • 内中断——就是异常——是指由于 CPU 内部事件所引起的中断,如程序出错(非法指令、地址越界)。内中断(trap)也被译为“捕获”或“陷入”。
    • 异常是由于执行了现行指令所引起的。由于系统调用引起的中断属于异常。
    • 中断则是由于系统中某事件引起的,该事件与现行指令无关。


    0328补充

    中断和异常

    相同点:都是CPU对系统发生的某个事情做出的一种反应。

     区别:中断由外因引起,异常由CPU本身原因引起。

    引入原因

    中断的引入——为了支持CPU和设备之间的并行操作

    异常的引入——表示CPU执行指令时本身出现的问题

    引发中断或异常的事件

    • 中断——外部事件引起,正在运行的程序所不期望的
    • 异常——内部执行指令引起

  • 相关阅读:
    Java内存分配及垃圾回收机制
    《当你的才华还撑不起你的梦想时》读后感
    Java线程池入门必备
    单例模式的那些事
    idea超炫的自定义模板
    布隆过滤器概念和原理
    MessageDigest
    java zip 压缩与解压
    WebStorm 注册码
    taobao-pamirs-proxycache开源缓存代理框架实现原理剖析
  • 原文地址:https://www.cnblogs.com/talenth/p/14059862.html
Copyright © 2011-2022 走看看