关键区别——操作系统中的抢占式调度与非抢占式调度
进程是正在执行的程序。计算机应该同时执行许多任务。因此,CPU应该获取进程并执行它们。有时需要执行某些进程而不是其他进程。此时,正在运行的进程被中断,CPU被分配给新进程。任务完成后,CPU被分配回上一个进程。根据这种机制进行的调度称为抢占式调度。如果正在运行的进程不能被中断,并且必须执行正在运行的进程,则称为非强制调度。本文讨论了操作系统中抢占式调度与非抢占式调度的区别。抢占式调度是一种进程调度机制,通过这种机制,一个进程在执行过程中可以被另一个进程中断。非强制调度是一种进程调度机制,通过该机制,一个进程只在前一个进程终止后才开始执行。这就是操作系统中抢占式调度和非抢占式调度的关键区别。
目录
1. 概述和主要区别
2. 什么是操作系统中的抢占式调度
3. 什么是操作系统中的非强制调度
4. 操作系统中抢占与非抢占调度的相似性
5. 并行比较-表格式的操作系统中的抢占式调度与非抢占式调度
6. 摘要
什么是操作系统中的抢占式调度(preemptive sche****ng in os)?
循环调度是抢占式调度的一个例子。每个进程只需要少量的CPU时间。通常是10到100毫秒。这个小的数据单位也被称为时间量子。经过此时间后,进程被抢占并添加到就绪队列的末尾。假设有4个过程,如P1、P2、P3和P4。以毫秒为单位的CPU突发时间如下所示。时间量是20。
P1进程执行到20。还有33毫秒。然后P2执行。由于时间量为20,所需时间P2为17ms,P2将执行17ms,因此P2过程完成。然后给P3机会。执行20ms,剩余48ms,然后P4执行20ms,4ms完成整个过程。同样,P1将执行20ms,它还有13ms来完成这个过程。找零给了P3。它将执行20毫秒,它还有28毫秒才能完全完成。P4执行。它只有4ms,因此P4完成执行。P2和P4已经完成。其余的过程是P1和P3。机会给了P3。它有13毫秒要完成,所以它完成了。现在剩下的唯一过程就是P3。它需要28毫秒才能完成。因此P3将运行20ms,其余为8ms,所有其他进程已经完成执行。因此,P3的其余8ms将再次执行。同样,每个进程都有执行的机会。
什么是操作系统中的非强制调度(nonpreemptive sche****ng in os)?
先到先得(FCFS)调度可以作为非抢先调度的一个例子。首先请求的进程首先分配给CPU。这种调度很容易由先进先出(FIFO)队列来管理。如果有顺序为P1、P2和P3的过程,那么机会首先被赋予P1。完成后,P2将执行。当P2完成时,P3将执行。假设有3个进程,如P1、P2和P3,CPU突发时间以毫秒为单位,如下所示。
根据上述内容,P1将执行。一旦完成,P2进程执行3ms,剩下的进程是P3。然后它就会执行。P1的等待时间为零。进程P2必须等待24毫秒,而进程P3必须等待27毫秒。如果进程按P2、P3和P1的顺序到达,则P2将首先完成。下一个P3将完成,最后,P1将完成。
什么是操作系统中抢占与非抢占调度的相似性(the similarity between preemptive and nonpreemptive sche****ng in os)?
- 操作系统中的抢占式和非抢占式调度都是在计算机上调度进程的机制。
先发制人(preemptive)和操作系统中的非强制调度(nonpreemptive sche****ng in os)的区别
操作系统中的抢占与非抢占调度 | |
抢占式调度是一种进程调度机制,通过该机制,一个进程可以在其执行过程中被另一个进程中断。 | 非强制调度是一种进程调度机制,通过该机制,一个进程只在前一个进程终止后才开始执行。 |
过程中断 | |
在抢占式调度中,进程可以被中断。 | 在非强制调度中,进程可以被中断。 |
CPU利用率 | |
在抢占式调度中,CPU利用率高于非抢占调度。 | 在非抢占式调度中,与抢占式调度相比,CPU利用率最小。 |
灵活性 | |
抢占式调度是灵活的。 | 非强制性的调度是不灵活的。 |
总结 - 先发制人(preemptive) vs. 操作系统中的非强制调度(nonpreemptive sche****ng in os)
一台计算机上运行着多个进程。当每个进程执行时,CPU被分配给该特定进程。有时,有必要停止当前进程的执行,并优先考虑另一个进程。进程调度机制可以是抢占式或非抢占式。抢占式调度是一种进程调度机制,通过这种机制,进程在执行过程中可以被另一个进程中断。非强制调度是指一个进程在前一个进程终止后才开始执行的调度机制。这就是操作系统中抢占式和非抢占式调度的区别。
下载操作系统中抢占式与非抢占式调度的pdf文件
你可以下载这篇文章的PDF版本,并根据引文说明离线使用。请在这里下载PDF版本:操作系统中抢占式和非抢占式调度的区别