中断发生时,cpu首先执行如栈指令将程序计数器内容保护起来为什么错

中断发生时,cpu首先执行如栈指令将程序计数器内容保护起来为什么错,第1张

中断发生时,

cpu首先判断该中断是否不被允许(包含总允许)、是春余碧否存在更高等级毁信的中断、是否存在优先次序在它之前的同等级中断、是否正在执行其它高等级扒举/同等级中断服务子程序

以上均为“否”时,才会响应该中断,将程序指针压栈,进入该中断服务子程序

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

   中断是多程序并发执行的前提条件。

  从上面过程可以看出:

  中断的本质: 发生中断就意味着需要 *** 作系统介入,开展管理工作。

  当发生了中断,就意味着需要 *** 作系统的介入,开展管理工作。由于 *** 作系统的管理工作( 如进程切换、分配IO设备)需要使用特权指令,因此CPU要从用户态转换为核心态。 中断就可以使CPU从用户态转换为核心态,使 *** 作系统获得计算机的控制权。因此,有了中断,才能实现多道程序并发执行。

   用户态到核心态的转换就是通过中断机制实现的,并且中断是唯一途径。

  核心态到用户态的切换时通过执行一个特权指令,将程序状态字(PSW)标志位设置为用户态。

  中断可以分为:内中断和外中断。

 谈脊  内中断 :内中断的信号来源于CPU内部、与当前执行的指令有关。如整数除0。

   外中断 :外中断的信号来源于CPU外部、与当前执行的指令无关。如用户强制结束一个进程、IO设备完成 *** 作发生的中断信号。

  (1) 执行完每个指令后,CPU都要检查当前是否有外部中断信号。

  (2) 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如 程序状态字PSW、程序计数器、各种通用寄存器 )。

  (3) 根据中断信号类型转入相应的中断处理程序。

  (4) 恢复进程的CPU环境并退出中断,返回核中原进程继续往下执行。

  (1) 中断是为了实现多道程序并发执行而引入的一种改侍山技术。

  (2) 中断的本质就是发生中断时需要 *** 作系统介入开展管理工作。

  (3) 发生CPU会立即进入核心态,针对不同的中断信号,采取不同的处理方式。

  (4) 中断是CPU从用户态进入核心态的唯一途径。

  (5) 中断分为内中断和外中断。

  (6) 进程中断时, *** 作系统会保存CPU的运行环境,如程序状态字(PSW)、程序计数器、各种通用寄存器,这是为了当进程再次运行时可以从中断的状态处继续运行。

本文完

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12444435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存