中断和异常

早期计算机,各程序只能串行执行,系统资源利用率低。

为了解决上述问题,人民发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。

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

一、中断的概念和作用

①当中断发生时,CPU立即进入核心态

②当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。

③对于不同的中断信号,会进行不同的处理

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

我们曾介绍过,CPU状态分成两种:核心态和用户态, 那么用户态、核心态之间的转换是通过什么来实现的?

用户态->核心态中断实现,并且中断是唯一的方式。

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

二、中断的分类

中断的分类

通过”中断信号来自CPU内部/外部"这一点来判断是内中断还是外中断。

内中断亦可分为:陷入(trap),故障(fault)和终止(abort)。分别对应指令中断硬件故障软件中断

三、外中断的处理过程

CPU内部处理应用程序指令队列时,如果中途遇到外部中断信号(例如用户通过键盘输入一个字符)则会按下面步骤进行处理:


中断处理程序

产生中断的每个设备都有一个相应的中断处理程序,一个设备的中断处理程序是它设备驱动程序的一部分。

你可能感兴趣的:(中断和异常)