考研帮 > 数学 > 每日一练

2.2 中断技术

2.2.5 中断事件的具体处理方法

  不同的中断事情有不同的处理方法,下面给出一些常见的中断情况及其处理方法。
  1.机器故障中断事件的处理
  一般来说,这种事件是由硬件的故障产生的,排除这种故障必须进行人工干预。中断处理能做的工作一般是保护现场,防止故障蔓延,报告给操作员并提供故障信息以便维修和校正,以及对程序中所造成的破坏进行估价和恢复。
  2.程序性中断事件的处理
  处理程序性中断事件大体上有两种办法。对于那些纯属程序错误而又难以克服的事件,如非法使用特权指令,企图访问一个不允许其使用的主存储器单元等,操作系统只能将出错程序的名字、出错地点和错误性质报告给操作员并请求干预。对于其他一些程序性中断,如定点溢出、阶码下溢等,不同的用户往往有不同的处理要求。所以,操作系统可以将这种程序性中断事件转交给用户程序自行处理。如果用户程序对发生的中断事件没有提出处理办法,那么操作系统进行标准处理。
  3.外部中断事件的处理
  时钟定时中断及来自控制台的信息都属外部中断事件,它们的处理原则如下。
  (1)时钟中断事件的处理
  时钟是操作系统进行调度工作的重要工具,如让分时进程作时间片轮转、让实时进程定时发出或接收控制信号、系统定时唤醒或阻塞一个进程、对用户进程进行记账。时钟可以分成绝对时钟和间隔时钟(即闹钟)两种。利用计时器能确保操作系统必要时获得控制权,如陷入死循环的进程最终因时间片耗尽会被迫出让处理器。
  系统设置一个绝对时钟寄存器,计算机的绝对时钟定时地(如每10 毫秒)把该寄存器的内容加1。如果开始时这个寄存器的内容为0,那么,只要操作员告诉系统开机时的年、月、日、时、分、秒,以后就可推算出当前的年、月、日、时、分、秒了。当绝对时钟寄存器记满溢出时,就产生一次绝对时钟中断,操作系统处理这个中断时,只要在主存的固定单元上加1 就行了。这个固定单元记录了绝对时钟中断的次数,这样就可保证有足够的计时量。计算当前时间时,只要按绝对时钟中断的次数和绝对时钟寄存器的内容推算就可得到。
  间隔时钟是定时将一个间隔时钟寄存器的内容减1,当间隔时钟寄存器的内容为0时,就产生一个间隔时钟中断。所以,只要在间隔时钟寄存器中放一个预定的值,那么,就可起到闹钟的作用,每当产生一个间隔时钟中断,就意味着预定的时间到了。
  操作系统经常利用间隔时钟作控制调度。时钟硬件做的工作仅仅是按已知时间间隔产生中断,其余与时间有关的任务则必须由软件来做,不同的操作系统有关时钟的任务也不同,但一般包括以下内容:
  维护绝对日期和时间;
  防止进程的运行时间超出其允许值,发现陷入死循环的进程;
  对使用CPU的用户进程记账;
  处理进程的间隔时钟(闹钟);
  对系统的功能或部件提供监视定时器。
  (2)控制台中断事件的处理
  操作员可以利用控制台开关请求操作系统工作,当使用控制台开关后,就产生一个控制台中断事件通知操作系统。操作系统处理这种中断就如同接受一条操作命令一样,转向处理操作命令的程序执行。
  4.I/O中断的处理
  (1)I/O操作正常结束后的处理
  首先,把正在等待输入/输出操作完成的进程设置为可执行的状态,然后查看是否有等待该设备或通道的其他进程,若有则释放。
  (2)I/O操作发生故障后的处理
  对于设备本身的故障,可以先向相应设备发命令索取状态字节,然后,进行分析就可以知道故障的确切原因。如果该外围设备的控制器有复执功能,就组织复执。如果该外围设备的控制器没有复执功能,那么,对于某些故障,系统可组织软复执。对于不能复执的故障或复执多次仍不能克服的故障,系统将向操作员报告,请求人工干预。
  (3)I/O 操作发生异常后的处理
  如果设备在操作中发生了某些特殊事件,那么,在设备操作结束发生中断时,也要将这个情况向系统报告。操作系统从设备状态字节中的设备特殊位为1,可以判知设备在操作中发生了某个特殊事件。
  (4)设备报到或设备结束的处理
  如果是外围设备上来的“设备报到”或“设备结束”等异步信号,表示有外围设备接入可供使用或断开暂停使用,操作系统应修改系统表格中相应设备的状态。
  5.自愿中断事件的处理
  操作系统的基本服务是通过系统调用来请求的,是操作系统为用户程序调用其功能提供的接口和手段。本质上系统调用机制是通过特殊硬指令和中断系统来实现的。不同机器系统调用命令的格式和功能号的解释不尽相同,但任何机器上的系统调用都有共性处理流程。这一共性处理流程如下:
  用户程序执行n号系统调用;
  通过中断系统进入访管中断处理,保护现场,按功能号跳转;
  通过系统调用入口表找到相应功能入口地址;
  执行相应例行程序,结束后正常情况返回系统调用的下一条指令执行。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭