zoukankan      html  css  js  c++  java
  • 中断、异常和系统调用的关系

    中断、异常和系统调用的关系

    1.中断的概念

    中断是CPU的一个功能,就是CPU停下当前的工作,保留现场后自动地转去执行相应的处理程序,CPU控制权发生改变,、

    处理完该事件后再返回断点继续执行被刚才被打断的程序。

    2.中断的分类

    2.1分为软中断和硬中断

    软中断:

    a.编程异常通常叫做软中断

    b.软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。

    c.中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能

    d.软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。

    硬中断:

    a.硬中断是由外部事件引起的因此具有随机性和突发性;软中断是执行中断指令产生的,无面外部施加中断请求信号,因此

       中断的发生不是随机的而是由程序安排好的。

    b.硬中断的中断响应周期,CPU需要发中断回合信号(NMI不需要),软中断的中断响应周期,CPU不需发中断回合信号。

    c.硬中断的中断号是由中断控制器提供的(NMI硬中断中断号系统指定为02H);软中断的中断号由指令直接给出,无需使用中断控制器。

    d.硬中断是可屏蔽的(NMI硬中断不可屏蔽),软中断不可屏蔽。

    区别:

    a.软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的

    b.软中断是由程序调用发生的,而硬中断是由外设引发的

    c.硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会等待较长时间

    参考资料:软中断vs硬中断

    2.2可屏蔽中断和不可屏蔽中断

    2.3中断可分为三类:

    第一类是由CPU外部引起的,称作中断,如I/O中断、时钟中断、控制台中断等。

    第二类是来自CPU的内部事件或程序执行中的事件引起的 过程,称作异常,如由于CPU本身故障(电源电压低于105V或频率在47~63Hz之外)、

    程序故障(非法操作码、地址越界、浮点溢出等)等引起的过程。

    第三类由于在程序中使用了请求系统服务的系统调用而引发的过程,称作“陷入”(trap,或者陷阱)。前两类通常都称作中断,它们的产生往往是无意、

    被动的,而陷入是有意和主动的。

    第一类(中断)+第二类(异常)= 中断

    第三类(系统调用)= 系统调用

    参考资料:中断、异常和系统调用

  • 相关阅读:
    Java 处理 multipart/mixed 请求
    SpringBoot 动态更新 resources 目录的文件
    dubbo 2.7.0 中缺乏 <dubbo:annotation /> 的解决方案
    设计模式 — 终章.
    代理模式
    状态模式.
    第七节、双目视觉之空间坐标计算
    第六节、双目视觉之相机标定
    经典项目博客集合
    第五节、轮廓检测、直线和圆、多边形检测
  • 原文地址:https://www.cnblogs.com/wufengv5/p/3091317.html
Copyright © 2011-2022 走看看