0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中断的类型和作用是什么

h1654155282.3538 来源:Linux云计算架构 作者:Linux云计算架构 2020-11-15 10:14 次阅读

1.中断的概念

中断对于操作系统非常重要,它就好像机器中的齿轮,驱动各部件的动作。所以,许多人称操作系统是由“中断驱动”的。

所谓中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。

引起中断的事件或发出中断请求的来源称为中断源。中断源向CPU提出的处理请求称为中断请求。发生中断时,被打断程序的暂停点称为断点。

前面讲过,中断最初是作为通道(或设备)与CPU之间进行通信的工具。通道和CPU并行工作,各自负责自己的任务。当通道完成某项预定的I/O请求或数据传输过程中发生故障时,就用中断方式向CPU“报告情况”,请求处理。

中断的概念后来得到进一步扩展。在现代计算机系统中,不仅通道或设备控制器可向CPU发送中断信号,其他部件也可以造成中断。例如,程序在CPU上运行时出现运算溢出、取数时奇偶错、电源故障、时钟计数到时等,都可成为中断源。

中断概念的另一个发展是访管(即访问管理)指令(或系统调用)的使用。用户程序中可以使用操作系统对外界提供的系统调用,得到系统内部服务。当用户程序执行到系统调用时,进程状态从用户态变为核心态。核心根据系统调用的编号,转去执行相应的处理程序,如对文件的读/写、对进程的控制等。硬件保证用户态下运行的程序不得访问核心空间中的数据,从而保护了操作系统。系统调用的出现为用户编制程序提供了方便和可靠性保证。

2.中断类型

按功能划分

这种分类法类似于IBM360/370系统的分类法,所有中断源分为5类。

(1)机器故障中断。它是机器发生错误时产生的中断,用来反映硬件在执行过程中出现的故障,以便进入诊断程序,做出处理。例如,机器电路检验错、电源故障和内存读数错,等等。

(2)I/O中断。这是来自通道或各种外部设备的中断,用于反映通道或设备的工作情况。例如,打印机打印结束、磁盘传输完成、利用终端进行输入/输出等。

(3)外部中断。它是来自计算机系统外部装置的中断,用来反映外界对本系统的要求。例如,计时器到时溢出,操作员操纵控制台按钮,在多机系统中它机送来信号,等等。

(4)程序性中断。这是因错误地使用指令或数据而引起的中断,用于反映程序执行过程中发现的例外情况,例如,非法操作码,无效地址和运算溢出,等等。

(5)访管中断。由于执行“访问管理程序”指令而产生的中断,用来使CPU的状态从用户态转入管理态,由操作系统根据不同的编号引进不同的处理。这样,操作系统为用户态程序提供对系统资源使用请求的服务。

按产生中断的方式划分

(1)强迫中断。在程序运行过程中,发生某些(个)随机性事件,如外设工作结束和程序运行出错等,需要及时进行处理的一种中断。程序设计人员在编制程序时并不知道它何时出现,也并不期望它出现。上述按功能划分的机器故障中断、I/O中断、外部中断和程序性中断都可算做强迫中断。

(2)自愿中断。程序员在编制程序时因需要系统提供某些服务而有意使用访管指令或系统调用,从而导致执行程序的中断。这是程序员事先安排好的,其出现时机是可知的。上述按功能划分的访管中断就属于这一类。

按中断事件来源划分

目前,很多小型机系统和微型机系统都采用这种分类方式。

(1)中断。它是由CPU以外的事件引起的,如I/O中断、时钟中断、控制台中断等。利用中断实现设备与CPU的通信。中断是异步的,因为从逻辑上讲,中断的产生与当前正在执行的进程无关。

(2)异常(Exception)。它是来自CPU内部的事件或程序执行中的事件引起的过程。如CPU本身故障(电源电压低于105V,或频率在47~63Hz之外)、程序故障(非法操作码、地址越界、浮点溢出等)和请求系统服务的指令(即访管指令)引起的事件等。可见,异常包括很多方面,主要有出错、陷入和可编程异常。出错和陷入之间最重要的区别是处理完异常事件返回时,出错事件会重新执行导致异常的那条指令,如缺页故障处理完之后还会尝试重新执行那条触发异常的指令(通常不会再缺页);而陷入事件则不会重新执行那条指令。陷入主要用于程序调试,被调试的进程遇到用户设置的断点会停下来等待你的处理,当你让它重新运行时,它就执行下面的指令。

可编程异常是由于用户在C程序中使用了系统调用而引发的过程。系统调用也称软件中断(或陷入)。应用程序使用系统调用就可由用户模式转入核心模式,在核心模式下完成相应的服务之后再返回用户模式。所以系统调用是用户程序与内核的接口。硬件对可编程异常的处理与对陷入的处理是一致的,即从这类异常返回时,也返回产生异常的下一条指令。

3.中断系统的作用

中断系统是当代计算机必不可少的组成部分之一。中断系统的作用主要有以下5点。

(1)提高主机的利用率,使高速CPU可以和低速的外部设备并行工作。

(2)及时进行事故处理。当计算机发生硬件故障或出现程序性错误(如运算结果溢出、除数为0、地址错、非法操作码等)时,可以通过中断系统进行处理。操作系统通过程序复执来排除偶然性错误,或将故障与错误记录下来,为故障诊断和机器恢复做好准备。

(3)实现分时操作。如前所述,在分时系统中正在运行的进程用完所分到的时间片后,就要让出CPU,排到相应的就绪队列中。在这里,依靠定时时钟对时间片进行计时,到达预定值时就产生时钟中断,调用进程调度程序进行相应处理。就是说,通过中断系统将CPU的时间分配给各个进程使用。

(4)实现实时操作。在实时控制系统中,很多信号是随机产生的,只有通过中断系统才能对它进行及时处理,避免信息的丢失。

(5)方便程序调试。利用中断可以方便地调试程序,可人为设置断点,随时中断程序的执行,查看中间结果,了解机器的工作状态,输入临时命令等。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6737

    浏览量

    123190
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41391
收藏 人收藏

    评论

    相关推荐

    晶振的作用是什么?

    `晶振的作用是什么?在机电行业中,有一个特殊的器件它叫做晶振,可以将它理解为晶体谐振器。其实它属于一个由石英晶体切割制成的引线,其具备一个非常显著的功能,那就是在通电的时候,能够发生机械震荡,当然是
    发表于 08-08 11:29

    缓冲电路的作用是什么?有什么类型

    缓冲电路的作用与基本类型缓冲电路的基本结构
    发表于 04-06 07:03

    单片机中断作用是什么?单片机中断处理过程是怎样运行的?

    单片机中断作用是什么?单片机中断处理过程是怎样运行的?中断优先级是什么意思?单片机中断响应条件有哪些?
    发表于 07-08 06:21

    static的作用是什么

    文章目录关键字static的作用是什么?“引用”与指针的区别是什么?.h头文件中的ifndef/define/endif 的作用?描述实时系统的基本特性全局变量和局部变量在内存中是否有区别?如果有
    发表于 10-27 06:22

    单片机中断作用是什么?处理过程是怎样的?

    单片机中断作用是什么?处理过程是怎样的?
    发表于 11-01 07:07

    中断与函数调用的作用是什么?他们之间有什么联系区别?

    中断与函数调用的作用是什么?他们之间有什么联系区别?
    发表于 11-16 07:37

    STM32F4定时器中断作用是什么?

    STM32F4定时器中断作用是什么?
    发表于 11-24 07:50

    C++中的四种类型转换分别是哪些?C++中析构函数的作用是什么

    C++中的四种类型转换分别是哪些?C++中析构函数的作用是什么?在C语言中关键字static主要有何作用
    发表于 12-24 06:57

    施密特的作用是什么?

    施密特的作用是什么?开漏的作用是什么?
    发表于 01-20 06:18

    IN4007的作用是什么

    问题:1.IN4007的作用是什么???不是直流电源吗????(二极管)2.复位操作????3.开关这一段是怎么连接的,没有网络标号4.为什么一段VCC还搞一个+5V电源???5.原理图里面的时钟电路在哪里????(那个YYYYY)6.红外接外部中断,使用10K电阻,上拉
    发表于 01-21 07:51

    定时器中断作用是什么?怎样去使用定时器中断

    中断是什么意思?定时器中断作用是什么?怎样去使用定时器中断呢?
    发表于 01-24 06:52

    中断相关寄存器EA的作用是什么

    :CPU的总中断允许位,EA=1,CPU开放中断,EA=0,CPU屏蔽所有的中断申请。EA的作用是使中断允许形成多级控制。即各
    发表于 02-18 07:51

    不同类型电抗器的作用是什么

    由于其类型较多并且作用都各不相同,所以在这里从电路原理上来讲电抗器可分为两种大类都有串联与并联,而它们的主要作用就是可实现限流与滤波。接下来我们就详细的讲讲不同类型电抗器的
    发表于 06-25 17:51 2657次阅读

    减速器的作用是什么,有哪些类型

    减速器的作用是什么,有哪些类型
    的头像 发表于 09-19 09:02 9595次阅读

    电抗器的作用是什么

    电抗器由于种类多,作用不同,从电路原理上可以分为串联和并联两大类,主要作用是实现限流和滤波。接下来,我们将详细讨论不同类型电抗器的功能。
    的头像 发表于 06-29 15:54 8108次阅读