抢占式和非抢占式调度

抢占式调度是一种CPU调度技术,它通过将CPU的时隙分配给给定的进程来工作。给定的时间段可能能够完成整个过程,也可能无法完成。当进程的突发时间大于CPU周期时,它将被放回就绪队列并在下一次执行。当进程切换到就绪状态时使用此调度。

抢占式调度支持的算法有round-robin(RR)、priority、SRTF(shortest remaining time first)。

非抢占式调度是一种CPU调度技术,该进程占用资源(CPU时间)并将其保留,直到该进程终止或被推入等待状态。在完成处理之前,以及在该处理器切换到另一个处理之后,不会中断任何处理。

基于非抢占式调度的算法是非抢占式优先级,且最短的作业优先。

抢占式与非抢占式调度

抢占式调度非抢占式调度
在有限的时间内根据周期分配资源。资源被使用,然后由进程保留,直到被终止。
该过程甚至可以在完成之前被中断。该过程直到其生命周期完成才被中断。
由于在队列中插入了优先级过程,可能导致饥饿。当突发时间较长的进程占用系统时,可能会发生饥饿。
维持队列和剩余时间需要存储开销。不需要此类开销。