不同的CPU调度算法具有不同的属性,并且特定算法的选择取决于各种因素。已经提出了许多标准来比较CPU调度算法。
标准包括以下内容:
- CPU利用率–
任何CPU调度算法的主要目标是保持CPU尽可能繁忙。从理论上讲,CPU利用率可以在0到100的范围内变化,但是在实时系统中,根据系统负载的不同,CPU利用率可以在40%到90%之间变化。 - 吞吐量–
CPU完成的工作的度量标准是每单位时间执行和完成的进程数。这称为吞吐量。吞吐量可能因过程的长度或持续时间而异。 - 周转时间 –
对于特定的流程,一个重要的标准是执行该流程需要多长时间。从流程提交时间到完成时间所经过的时间称为周转时间。周转时间是等待进入内存,等待就绪队列,在CPU中执行以及等待I / O所花费的时间总和。 - 等待的时间 –
调度算法一旦开始执行,就不会影响完成该过程所需的时间。它仅影响流程的等待时间,即流程在就绪队列中等待所花费的时间。 - 响应时间 –
在交互式系统中,周转时间不是最佳标准。一个过程可能会相当早地产生一些输出,并在将先前的结果输出给用户的同时继续计算新结果。因此,另一个标准是从提交请求过程到产生第一响应所花费的时间。该度量称为响应时间。
有多种CPU调度算法,例如-
- 先到先得(FCFS)
- 最短的工作优先(SJF)
- 最长的工作优先(LJF)
- 优先排程
- 循环赛(RR)
- 最短剩余时间优先(SRTF)
- 最长剩余时间优先(LRTF)