我正在阅读有关中断的内容。可以通过特殊的中断屏蔽来暂停非关键中断。这称为中断屏蔽。我不知道的是您何时/为什么可能想要或需要暂时中止中断?可能是信号量,或者在多处理器环境中编程?
当操作系统准备运行自己的“让我们编排世界”代码时,它就会这样做。
例如,在某些时候操作系统线程调度程序具有控制权。它会准备处理器寄存器以及在让线程运行之前需要完成的所有其他操作,以便为该进程和线程设置环境。然后,在让该线程运行之前,它会设置一个计时器中断,以便在该线程占用 CPU 的时间结束后引发该中断。
经过该时间段(量子)后,将引发中断,操作系统调度程序将再次获得控制权。它必须弄清楚下一步需要做什么。为此,它需要保存 CPU 寄存器的状态,以便知道如何消除其执行代码的副作用。如果在保存状态时因任何原因(例如某些异步 I/O 完成)引发另一个中断,这将使操作系统处于其世界处于以下状态:not处于有效状态(实际上,保存状态需要是原子操作)。
为了避免陷入这种情况,操作系统内核会在执行任何需要原子操作的此类操作时禁用中断。在完成所需的操作并且系统再次处于已知状态后,它会重新启用中断。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)