处理器调度算法
1. P117页,练习15:最高响应比
作业 |
提交时间 |
运行时间 |
开始时间 |
完成时间 |
周转时间/min |
带权周转时间/min |
1 |
10:00 |
2:00 |
10:00 |
12:00 |
120 |
120/120 |
2 |
10:10 |
1:00 |
12:25 |
13:25 |
195 |
195/60 |
3 |
10:25 |
0:25 |
12:00 |
12:25 |
120 |
120/25 |
平均周转时间T=355 |
||||||
平均带权周转时间W=3.02 |
2. P119页,练习22(2):时间片轮转
进程 |
开始时间 |
结束时间 |
所需时间 |
等待时间 |
1 |
0 |
2 |
9 |
0 |
2 |
2 |
4 |
4 |
1 |
3 |
4 |
6 |
8 |
2 |
4 |
6 |
8 |
10 |
3 |
1 |
8 |
10 |
7 |
6 |
2 |
10 |
12 |
2 |
6 |
3 |
12 |
14 |
6 |
6 |
4 |
14 |
16 |
8 |
6 |
1 |
16 |
18 |
5 |
6 |
3 |
18 |
20 |
4 |
4 |
4 |
20 |
22 |
6 |
4 |
1 |
22 |
24 |
3 |
4 |
3 |
24 |
26 |
2 |
4 |
4 |
26 |
28 |
4 |
4 |
1 |
28 |
30 |
1 |
4 |
4 |
30 |
32 |
2 |
4 |
1 |
32 |
33 |
1 |
2 |
4 |
33 |
35 |
2 |
1 |
进程 |
周转时间 |
带权周转时间 |
1 |
33 |
33/9 |
2 |
10 |
10/4 |
3 |
22 |
22/8 |
4 |
29 |
29/10 |
平均周转时间T=23.5 |
||
平均带权周转时间W=9.05 |
3. 现设定采用三级反馈队列调度算法,三个队列分别为0、1和2,对应时间片为2、4、8。现有四个进程A、B、C、D,到达时刻分别为0、5、7、12,执行时间分别为7、4、13、2。请写出整个进程调度过程,包括每个时间段,执行的进程,执行后进程状态,各个队列内进程的变化。
CPU |
|
A2 |
A4 |
B2 |
C2 |
C4 |
D2 |
A8 |
B4 |
C8 |
0-2 |
A7 |
|
B4 |
C7 |
|
D12 |
|
|
|
|
1~4 |
|
|
A5 |
B2 |
C5 |
|
D2 |
|
|
|
2~8 |
|
|
|
|
|
|
|
|
|
|
时间 |
0 |
2 |
6 |
8 |
10 |
14 |
16 |
21 |
23 |
28 |
先来先服务(FCFS)调度算法
FCFS调度算法的特点是算法简单,但效率低;对长作业比较有利,但对短作业不利(相对SJF和高响应比);有利于CPU繁忙型作业,而不利于I/O繁忙型作业。
短作业优先(SJF)调度算法
短作业(进程)优先调度算法是指对短作业(进程)优先调度的算法。短作业优先(SJF)调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。而短进程优先(SPF)调度算法,则是从就绪队列中选择一个估计运行时间最短的进程,将处理机分配给它,使之立即执行,直到完成或发生某事件而阻塞时,才释放处理机。,对长作业把比较不利,短作业比较有利
优先级调度算法
优先级调度算法又称优先权调度算法,该算法既可以用于作业调度,也可以用于进程调度,该算法中的优先级用于描述作业运行的紧迫程度。
高响应比优先调度算法
高响应比优先调度算法主要用于作业调度,该算法是对FCFS调度算法和SJF调度算法的一种综合平衡,同时考虑每个作业的等待时间和估计的运行时间。在每次进行作业调度时,先计算后备作业队列中每个作业的响应比,从中选出响应比最高的作业投入运行。
对于长作业,作业的响应比可以随等待时间的增加而提高,当其等待时间足够长时,其响应比便可升到很高,从而也可获得处理机。克服了饥饿状态,兼顾了长作业。
时间片轮转调度算法
时间片轮转调度算法主要适用于分时系统。在这种算法中,系统将所有就绪进程按到达时间的先后次序排成一个队列,进程调度程序总是选择就绪队列中第一个进程执行,即先来先服务的原则,但仅能运行一个时间片,如100ms。在使用完一个时间片后,即使进程并未完成其运行,它也必须释放出(被剥夺)处理机给下一个就绪的进程,而被剥夺的进程返回到就绪队列的末尾重新排队,等候再次运行。
多级反馈队列调度算法
终端型作业用户:短作业优先。
短批处理作业用户:周转时间较短。
长批处理作业用户:经过前面几个队列得到部分执行,不会长期得不到处理。
坚持不懈