操作系统中抢占式和非抢占式调度的区别
在操作系统中, 抢占式调度 是一种CPU调度方法,其中CPU在有限的时间内被分配给一个特定的进程。相比之下, 非抢占式调度 是一种调度技术,其中CPU被分配给一个进程,并由它保持到该进程被终止。
阅读这篇文章,了解更多关于操作系统中的抢占式和非抢占式调度以及它们之间的区别。
什么是抢占式调度
抢占式 调度是CPU调度的一种类型,其中资源(CPU周期)被分配给一个进程的时间是有限的。在这种类型的调度中,一个进程在被执行时可以被打断。
在抢占式调度中,如果一个具有高优先级的进程频繁地到达 “就绪 “队列,低优先级的进程可能会挨饿。另外,这种调度有开销,因为它必须调度多个进程。因此,抢占式调度在本质上是灵活的。
抢占式调度是一种昂贵的调度技术。它有很高的CPU利用率。抢占式调度的例子包括圆周率调度、最短剩余时间优先调度等。
什么是非抢占式调度
非抢占 式调度是指一旦资源(CPU周期)被分配给一个进程,该进程就会保持它,直到它完成它的突发时间或切换到 “等待 “状态。
在非抢占式调度中,一个进程不能被打断,直到它自己终止或其时间结束。如果一个具有较长突发时间的进程正在运行CPU,那么具有较少CPU突发时间的进程就会饿死。
非抢占式调度在本质上是不灵活的,同样它也是不昂贵的。非抢占式调度的例子包括先到先得和最短作业优先。
现在,让我们详细讨论一下抢占式调度和非抢占式调度之间的区别。
抢占式调度和非抢占式调度的区别
下表强调了抢占式调度和非抢占式调度之间的所有重要区别
S.No. | 抢占式调度 | 非抢占式调度 |
---|---|---|
1. | 在CPU调度中,资源(CPU周期)被分配给一个进程的时间是有限的,这被称为抢占式调度。 | 一旦资源(CPU周期)被分配给一个进程,该进程就会持有它,直到它完成突发时间或切换到 “等待 “状态,这种调度类型被称为非抢占式调度。 |
2. | 在抢占式调度中,一个进程在执行时可以被打断。 | 在非抢占式调度中,一个进程不能被打断,直到它自己终止或其时间结束。 |
3. | 如果一个具有高优先级的进程频繁地到达 “就绪 “队列,低优先级的进程可能会挨饿。 | 如果一个具有较长突发时间的进程正在运行CPU,那么具有较少CPU突发时间的进程会饿死。 |
4. | 它有开销。 | 它没有开销。 |
5. | 它在本质上是灵活的。 | 它在本质上是不灵活的。 |
6. | 它是昂贵的。 | 它并不昂贵。 |
7. | 例子 – 循环排班,最短剩余时间优先排班。 | 例子 – 先到先得和最短工作优先。 |
总结
两者之间最重要的区别是,抢占式调度的工作方式是将CPU的时间段分给一个给定的进程,而非抢占式调度则是将CPU拿出来,一直到进程被终止或被推到等待状态。