Java教程

计算机的中断

本文主要是介绍计算机的中断,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

中断机制的诞生


早期没有操作系统的时候运行程序只能按顺序一个一个来,内存里最多只能有一个程序运行,这样资源利用率很低。为了解决这个问题,人们发明了操作系统,自动管理计算机,引入“中断”机制,实现了多道程序并发执行


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


概念和作用


中断直观感觉是一个核心态开启的开关
1.当中断发生时,cpu立即进入核心态
2.当中断发生后,当即运行的进行暂停运行,并由操作系统内核对中断进行处理
3.对不同的中断信号,会进行不同的处理

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

用户态 -> 核心态 是通过中断实现的,且中断是唯一途径


核心态 -> 用户态 是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”


中断的分类

(图片来源于王道考研视频)


内中断和外中断,区别在于是否信号的来源是cpu内部还是外部,如果是内部,与当前执行的指令有关,就是内中断,反之,是外中断

外中断的处理过程

比如用户通过键盘输了一个字符,会触发外中断


step1:执行完每个指令之后,CPU都要检查当前是否有外部中断信号
step2:如果检查到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器),就像玩游戏玩到一半存档
step3:根据中断信号类型转入相应的中断处理程序
step4:恢复原进程的CPU环境并退出中断,返回原进程继续往下执行

参考资料

本文内容参考了B站王道计算机考研视频

这篇关于计算机的中断的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!