中断即外中断,指来自处理机和内存外部的中断,包括 I/O 设备发出的 I/O中断、外部信号中断、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断等。 陷阱即内中断,主要指在处理机和内存内部产生的中断。它包括程序运算引起的各种错误。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。 中断和陷阱的主要区别: 1 、陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。 2 、陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。 3 、CPU 在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。 4 、在有的系统中,陷入处理程序被规定在各自的进程上下文中执行,而中断处理程序则在系统上下文中执行。 软中断与硬中断的比较: 相同点:其中断源发中断请求或软中断信号后, CPU 或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。

不同点:接收软中断信号的进程不一定正好在接收时占有处理机,而相应的处理必须等到该接收进程得到处理机之后才能进行

外部中断,就是我们通常所说的中断(interrupt)。对于执行的系统来说,这种中断发生完全是"异步"的,根本无法预测到此类中断会在什么时候发生。因此,CPU(或者软件)对于此类外部中断完全是"被动"的。不过,软件可以通过关中断的形式来关闭对中断的响应,把它"反映情况"的途径掐断,这样就眼不见心不烦了。 软件产生的中断则不同,它是由专设的指令,如Intel X86的"INT n",在程序中有意地产生,所以是主动的,"同步"的。只要CPU一执行一条int指令,就知道在开始执行下一条指令之前一定要先进入中断服务程序,这种主动的中断我们称之为"陷阱"。 此外,还有一种与中断相似的机制称之为"异常"(exception),一般也是异步的,多半是由于"不小心"犯了规才发生的。例如,当你在程序中发出一条除法指令div,而除数为零时就会发生一次异常。这多半是由于不小心,而不是故意的,所以这也是被动的。当然,我们的确可以故意除以零,呵呵,这个就有点强词夺理了。 我终结一下,中断和异常有个比较大的共同点就是"不可预知性",所以是被迫的;而陷阱有"有意为之"的含义。其实,这种东西了解即可,做系统编程的时候身边备上一本Intel手册即可

中断、陷阱、软中断之间的异同相关推荐

  1. 内中断,外中断,软中断,硬中断,异常,陷阱

    不管是内中断,外中断,软中断还是硬中断都是按照中断源来划分的. 一.外中断 狭义上的中断(interruption)指的就是外中断. 指来自CPU执行指令以外的事件的发生,希望处理机能够向设备发下一个 ...

  2. 硬中断、软中断和信号

    硬中断: 1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等.每个设备或设备集都有它自己的IRQ(中断请求).基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核 ...

  3. Linux内核中断系统结构——软中断

    在 Linux异常(中断)处理体系结构 这篇文章,我们详细描写了内核如何进行中断(异常)向量表的初始化.如何初始化硬件中断(IRQ)的操作. 在这篇文章中,我们将重心放在软件中断上.也就是 CPU 本 ...

  4. Linux 硬中断和软中断

    微信公众号:嵌入式Linux中文站 Table of Contents 概述 (1) 硬中断 (2) 软中断 (3) 中断嵌套 (4) 软中断指令 (5)硬中断和软中断的区别 开关 (1) 硬中断的开 ...

  5. 硬中断、软中断、中断上半部、中断下半部

    中断从外设到内核的DataPath 概念 从物理学的角度看,中断是一种电信号,由硬件设备生成,并直接送入中断控制器的输入引脚上. 然后再由中断控制器向处理器发送相应的信号.处理器一经检测到此信号,便中 ...

  6. Windows 2003和XP之间的异同

    Windows 2003和XP之间的异同 收集整理了一下,给一些朋友解说server2003系统的设置.关于用server操作系统,由于不了解,对稳定性,兼容性,驱动或多或少有些疑虑,Win2003是 ...

  7. 如何区别API、REST API、RESTful API和Web Service之间的异同

    当你看到API接口你会想起什么?是接口.第三方调用.还是API文档?初看你可能会觉得这太熟悉了,这不是系统开发日常系列吗?但你仔细想一想,你会发现API的概念在你脑海里是如此的模糊.如何你通过搜索引擎 ...

  8. 硬件中断和软中断的区别

    中断 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程.即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情 ...

  9. 绿米开关如何重置_三种墙壁开关:绿米、调光、凌动/米家之间的异同

    三种墙壁开关:绿米.调光.凌动/米家之间的异同 2020-06-18 18:17:17 9点赞 28收藏 6评论 三种墙壁开关:绿米.调光.凌动/米家之间的异同 详细讲解绿米Aqara智能墙壁开关.Y ...

最新文章

  1. 大白话带你认识Kafka
  2. mysql 安装 注意点
  3. python - 条件语句
  4. 2021牛客暑期多校训练营7 K-xay loves sequence(主席树+二分)
  5. (转)基于svnserve的服务器,权限文件authz配置的常见问题及解答
  6. 计算机网络把许多什么连接在一起,计算机网络技术基础知识汇总习题
  7. final/finalize/finally的区别
  8. 纯 js 让浏览器不缓存 ajax 请求
  9. phpstudy快速搭建网站_小白快速上手搭建属于自己的网站
  10. 数据结构与算法之美-队列
  11. POI合并单元格后设置边框
  12. J2SDK的安装历程
  13. 跳跃表(skiplist )详解及其C++编程实现
  14. Unity TalkingData接入
  15. Java小型综合型练习——打字小游戏
  16. CSDN前两百名博客
  17. 怎么查看笔记本内存条型号_怎么查看笔记本内存条型号?2种查看笔记本内存型号方法...
  18. 博客专家贡献(2022年至今)--2022-11-29(转)
  19. 40页PPT详解金融业智能反欺诈的应用
  20. ModelSim 实用知识:优化,SDF,覆盖率

热门文章

  1. sublime 安装扩展 sublimelinter phpmd
  2. lumia1520 越狱_尝试诺基亚Lumia 1020-内置电话的相机
  3. 最佳助攻!25款轻巧实用的SKETCH插件大合集
  4. Excel散点图 如何用平滑线 连接 不连续的点
  5. nodejs获取当前日期
  6. 模拟cmos集成电路(3)
  7. java excel 插入文件_Java 添加OLE对象到Excel文档
  8. Linux设备驱动---OMAP3630 Linux I2C总线驱动分析(2)
  9. android String文件中修改部分字体颜色
  10. OpenCV色彩空间类型