单选题 ______调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。

【正确答案】 B
【答案解析】[分析]
目前存在着多种调度算法,有的算法适合作业调度;有的算法适用于进程调度;但也有些调度算法,既可用于作业调度,也可用于进程调度。
其中,先来先服务(FCFS)调度算法是一种最简单的调度算法。当在作业调度中采用该算法时,每次调度是从后备作业队列中,选择一个或多个最先进入该队列的作用,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
在进程调度中,采用FCFS调度算法时,则每次调度就是从就绪队列中选择一个最先进入该队列的进程,把处理机分配给它,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后,才放弃处理机。
FCFS算法比较有利于长作业(进程),而不利于短作业(进程),如表2-6所示列出了A、B、C、D四个作业分别到达系统的时间、要求服务的时间、开始执行时间及各自的完成时间,并计算出各自的周转时间和带权周转时间。

表2-6 四个作业情况表

进程名
到达时间
服务时间
开始执行时间
完成时间
周转时间
带权周转时间
A
0
1
0
1
1
1
B
1
100
1
101
100
1
C
2
1
101
102
100
100
D
3
100
102
202
199
1.99
从表2-6中可以看出,其中短作业C的带权周转时间竟高达100,而长作业D的带权周转时间仅为1.99。 由此可见,FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。CPU繁忙型作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O。通常的科学计算便属于CPU繁忙型作业。I/O繁忙型作业是指CPU进行处理时,又需频繁地请求I/O,而每次I/O的操作时间却很短,目前大多数的事务处理,都属于I/O繁忙型作业。 可以通过一个例子来说明采用FCFS调度算法的调度性能,表2-7中有5个进程A、B、C、D和E,它们到达的时间分别是0、1、2、3和4,所要求的服务时间分别是4、3、5、2和4,由表2-7还可以看出,A、B、C、D和E的完成时间分别是4、7、12、14和18,从每个进程的完成时间中减去其到达时间,即得到每个进程的周转时间,进而可以算出每个进程的带权周转时间。

表2-7 FCFS高度算法性能

作业情况
进程名称
A
B
C
D
E
平均
到达时间
0
1
2
3
4
调度算法
服务时间
4
3
5
2
4
FCFS
完成时间
4
7
12
14
18
周转时间
4
6
10
11
14
9
带权周转时间
1
2
2
5.5
3.5
2.8