美文网首页OS
操作系统中断

操作系统中断

作者: HRADPX | 来源:发表于2019-07-22 00:58 被阅读0次

1 中断机制的产生

  早期计算机各个程序只能串行执行、系统资源利用低。为了解决上述问题,人们就发明了操作系统,引入了中断机制,实现了多道程序的并发执行,提高了系统资源的利用率。
  中断是多程序并发执行的前提条件。

  (1) 以两个进程并发运行为例,进程1在用户态运行了一段时间后,CPU会接收到计时部件(操作系统内核的时钟管理部件)发出的中断信号,表示进程1已经用完了一个时间片,CPU会切换到核心态,把CPU的使用权限交还给操作系统,操作系统内核就会对刚才的中断进行处理,操作系统知道进程1的时间片用完,就需要切换进程,在完成切换进程的一系列工作后,操作系统又会将CPU的使用权交还给用户进程。
  (2) 接着进程2拿到CPU执行权就会在用户态下执行,进程2执行一段时间后,进程2发出系统调用(内中断信号),请求输出,主动要求操作系统介入工作,CPU会立即切换到核心态,把CPU的使用权限交还给操作系统,操作系统内核接管进程2系统调用请求,调用IO设备开始输出工作,然后操作系统交还CPU执行权,IO设备也会并行执行,进程2需要等待IO操作完成,所以进程1拿到CPU执行权开始运行。当执行一段时间后,IO操作完成,IO设备向CPU发送一个中断信号,此时CPU由用户态再次转换为核心态,对刚才的中断信号处理,由于IO操作完成,所以操作系统知道进程2可以恢复运行了,以完成后续工作,所以操作系统再次交还CPU执行权,让进程2再次运行。

  从上面过程可以看出:

  (1) 当中断发生时,CPU立即进入核心态。
  (2) 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进程处理。
  (3) 对于不同的中断信号,会进行不同的处理。

2 中断的本质

  中断的本质:发生中断就意味着需要操作系统介入,开展管理工作。
  当发生了中断,就意味着需要操作系统的介入,开展管理工作。由于操作系统的管理工作(如进程切换、分配IO设备)需要使用特权指令,因此CPU要从用户态转换为核心态。中断就可以使CPU从用户态转换为核心态,使操作系统获得计算机的控制权。因此,有了中断,才能实现多道程序并发执行。
  用户态到核心态的转换就是通过中断机制实现的,并且中断是唯一途径。
  核心态到用户态的切换时通过执行一个特权指令,将程序状态字(PSW)标志位设置为用户态。

3 中断的分类

  中断可以分为:内中断和外中断。
  内中断:内中断的信号来源于CPU内部、与当前执行的指令有关。如整数除0。
  外中断:外中断的信号来源于CPU外部、与当前执行的指令无关。如用户强制结束一个进程、IO设备完成操作发生的中断信号。

4 中断的处理过程

  (1) 执行完每个指令后,CPU都要检查当前是否有外部中断信号。
  (2) 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器、各种通用寄存器)。
  (3) 根据中断信号类型转入相应的中断处理程序。
  (4) 恢复进程的CPU环境并退出中断,返回原进程继续往下执行。

5 小结

  (1) 中断是为了实现多道程序并发执行而引入的一种技术。
  (2) 中断的本质就是发生中断时需要操作系统介入开展管理工作。
  (3) 发生CPU会立即进入核心态,针对不同的中断信号,采取不同的处理方式。
  (4) 中断是CPU从用户态进入核心态的唯一途径。
  (5) 中断分为内中断和外中断。
  (6) 进程中断时,操作系统会保存CPU的运行环境,如程序状态字(PSW)、程序计数器、各种通用寄存器,这是为了当进程再次运行时可以从中断的状态处继续运行。

本文完


  如发现错误,请指正!!!

相关文章

  • 操作系统拾遗-中断与系统调用

    中断 概念 操作系统是中断驱动的,整个操作系统离不开中断机制,所谓的中断机制,宏观上讲就是cpu在执行某件事情时可...

  • 操作系统:中断

    控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用,在某种特权级别下可以访问、修改 常见的控制和状态寄...

  • 操作系统中断

    1 中断机制的产生 早期计算机各个程序只能串行执行、系统资源利用低。为了解决上述问题,人们就发明了操作系统,引入了...

  • 操作系统笔记5-导论(五)

    操作系统的执行 现代操作系统是由中断驱动的,在没有用户需要响应时,操作系统会等待直到某个事件的发生。事件总是由中断...

  • 每日记录之操作系统的中断

    操作系统的中断 计算机遇到一些更紧急的工作,中断当前的工作,去处理更紧急的工作 中断的类别 外部中断,内部中断,软...

  • windows异常

    异常处理 异常和中断是由CPU触发的.操作系统怎么接收到异常的?IDT表, 操作系统在启动时,就会将中断处理的地址...

  • 1. 操作系统的实时性

    核心在于,内核是否可以无条件的被中断被抢占。 真正的实时操作系统内核是可中断可抢占的。而非实时的操作系统通常...

  • Linux IO多路复用底层原理(刚接触,知识还不成体系,等懂得

    Linux 操作系统中断 什么是系统中断系统处理中断的过程: 首先由需要紧急处理的程序向处理器发送中断请求,处理器...

  • 操作系统中断机制

    什么是中断 操作系统需要对连接到计算机上的所有硬件设备进行管理,要管理这些设备,首先得和它们互相通信才行,一般有两...

  • CPU外设中断

    中断向量和中断服务例程的对应关系主要是由 IDT(中断门描述符表)来描述。操作系统在IDT 中设置好各种中断向量对...

网友评论

    本文标题:操作系统中断

    本文链接:https://www.haomeiwen.com/subject/bvmblctx.html