问题 问答题

给出中断响应的系统流程。

答案

参考答案:每一个程序都要有一个程序状态字(PSW)来刻画本程序的执行状态,在单处理器的计算机系统中整个系统设置一个用来存放当前运行进程的PSW的寄存器,该寄存器称为“程序状态字寄存器”。为了说明中断响应过程,我们区分三种PSW:
(1) 存放在程序状态字寄存器中的PSW是当前正占用处理器的进程的PSW,称“当前PSW”。
(2) 出现中断事件后,要由操作系统的中断处理程序占用处理器,让中断处理程序处理出现的中断事件。我们把中断处理程序的PSW称为“新PSW”,新PSW中存放着中断处理程序的入口地址。
(3) 中断处理程序在占用处理器前,必须把被中断进程的PSW保护好,以便该进程在适当的时候能使被中断时的情况继续执行。把保护好的被中断进程的PSW称为“旧PSW”。
当中断装置发现中断事件后,首先把出现的中断事件存放到程序状态字寄存器中的中断码位置,然后把程序状态字寄存器中的“当前PSW”作为“旧PSW”存放到预先约定好的主存固定单元中保护起来,再把已经确定好的操作系统处理程序的“新PSW”送到程序状态字寄存器,成为“当前PSW”,这一过程称为“交换:PSW”。中断装置通过交换PSW使被中断进程让出处理器,且使处理器按照中断处理程序的“新PSW”控制执行。于是,中断处理程序就占用了处理器,它先从保存好的旧PSW中取出中断码,分析发生的具体事件,从而可完成对中断事件的处理。
一个进程占有处理器运行时,可以由于各种不同的事件发生而被中断。对各类不同的事件操作系统的处理是不同的,一般来说,对每一类事件都要有该类事件的处理程序,每一类处理程序都有一个“新PSW”。中断装置发现中断事件后应按中断事件类让相应的中断处理程序占有处理器,为此,可预先约定一些主存固定单元用来分别存放各类中断处理程序的“新PSW”和由于各种不同原因被中断的进程的“旧PSW”,发生哪类中断事件就交换哪一类的新、旧PSW。具体处理过程如下:
中断装置发现中断事件后把中断事件存入程序状态字寄存器中当前PSW的中断码位置;
把当前PSW保存起来,根据发生的事件类找出事件对应的旧PSW位置(假设发生的是外部中断事件),把当前的PSW保存到该位置上;
把该类事件处理程序的新PSW送入程序状态字寄存器,处理器就按这个新PSW控制处理该事件的中断处理程序执行。

多项选择题
名词解释