编程接口指南

进程抢占

当可以分发优先级较高的进程时,内核便会中断其计算并强制执行上下文切换,从而抢占当前运行的进程。如果内核发现现在可以分发优先级较高的进程,则可能会随时抢占进程。

例如,假定进程 A 从外围设备执行读操作。内核会将进程 A 置于休眠状态。然后,内核发现优先级较低的进程 B 可运行。此时会分发进程 B 并开始执行此进程。最后,外围设备将中断,进程进入此设备的驱动程序。设备驱动程序使进程 A 可运行并返回。现在,内核通过处理、恢复执行已唤醒的进程 A 来抢占 B,而不是返回到已中断的进程 B。

多个进程争用内核资源时,会出现另一种值得关注的情况。高优先级的实时进程可能会等待低优先级进程所占用的资源。低优先级进程释放资源时,内核便会抢占此进程以恢复执行优先级较高的进程。