我们必须确保操作系统维护对CPU的控制。我们不允许用户程序陷入无限循环,或者不能调用系统服务以致于不能将控制权返回给操作系统。为了实现这个目标,我们可以使用计时器。可以设置一个计时器来在指定的时间段后中断计算机。这个中断计算机的时间段可以是固定的(例如,1/60秒)或变量(例如,从1毫秒到1秒)。可变计时器通常由固定速率时钟和计数器实现。操作系统设置计数器。每次时钟滴答作响,计数器就会变小。当计数器达到0时,会发生中断。例如,带有1毫秒钟的10位计数器,允许以1毫秒到1024毫秒的间隔进行中断,步长为1毫秒。

在将控制权交给用户之前,操作系统将确保计时器设置为中断。如果计时器中断,控制将自动转移到操作系统,这可能会将中断视为致命错误,或给程序更多的时间。显然,修改计时器内容的指令是特权指令。

results matching ""

    No results matching ""