抢占式和非抢占式调度


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

由抢占式调度支持的算法包括轮询(RR)、优先级、SRTF(最短剩余时间优先)。

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

基于非抢占式调度的算法包括非抢占式优先级和最短作业优先。

抢占式调度与非抢占式调度

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

更新于:2020年2月4日

13K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告