在低优先级进程和普通优先级进程之间的上下文切换期间,当高优先级进程到达时会发生什么情况?



我正在开发一个调度程序模拟器,它将允许我在许多不同的配置中评估许多不同的调度算法。

但是我不确定在高优先级进程到达时在低优先级和正常优先级进程之间发生上下文切换的情况下该怎么办。

我想它可能因调度算法而异,我只想知道这种情况的通常解决方案,这样我就可以让我的模拟更逼真。

大多数内核中的到达是由中断或系统调用触发的。 中断处理程序可能会导致某些进程准备好运行,这可能会导致内核抢占当前进程。

通常,在内核承诺切换到新上下文时,它会禁用中断,直到执行新上下文。 因此,您的更高优先级进程的到来将被推迟那时。 这是调度延迟的一个来源;通常还有其他方法,您的模拟应该考虑到这一点。

最新更新