进程调度算法示例
- 格式:pdf
- 大小:214.06 KB
- 文档页数:11
进程 A B C D E
题目
来源:W.Stallings《操作系统-精髓与设计原理》 进程 到达时间 运行时间 A 0 3 B 2 6 C 4 4 D 6 5 周转时间=结束时间-到达时间 E 8 2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
A B C D E
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
进程
A
到达时间
0
服务时间
3
B C D E
2 4 6 8
6 4 5 2
进程调度轮转算法(时间片=4)
A B B C C D C D D B B D B E D B B E E B E E D D E D D D
0 级 1 级 2 级 3 级 A 0 级 1 级 2 级 3 级 A
2 4 6 8
0 级 1 级 2 级 3 级 B A 0 级 1 级 2 级 3 级
6 4 5 2
0 级 B A 1 级 2 级 3 级 C B 0 级 1 级 2 级 3 级 C B 0 级 1 级 2 级 3 级
说明:(引自《操作系统》(第二版)(宗大华,宗涛)) 1.多级队列调度算法也称多级反馈队列调度算法,它是时间片调度算法与优先数调度算法的结 合。实行这种调度算法时,系统中将维持多个就绪队列,每个队列具有不同的调度级别,可以 获得不同长度的时间片。第0级最高,可获得的时间片最短(20=1),第1级优先级次之,可获时 间片略长(21=2)。当q=1时,每级的时间片相同。 2.具体的调度方法是: .创建一个新进程时,它的PCB将进入第0级队列的末尾。对于在第0级到第n-1级队列中的进 程(假设最后一级为n)。如果在分配给它的时间片内完成了全部工作,那么就撤离系统;如果
2 级 3 级 4 级 5 级
0 A B C D E
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
进程
A
到达时间
0
服务时间
3
B C D E
0 级 1 级 2 级 3 级 A 0 级 1 级 2 级 3 级 A
6 4 5 2
0 级 B A 1 级 2 级 3 级 C B 0 级 1 级 2 级 3 级 C B 0 级 1 级 2 级 3 级
说明:(引自《操作系统》(第二版)(宗大华,宗涛)) 1.多级队列调度算法也称多级反馈队列调度算法,它是时间片调度算法与优先数调度算法的结 合。实行这种调度算法时,系统中将维持多个就绪队列,每个队列具有不同的调度级别,可以 获得不同长度的时间片。第0级最高,可获得的时间片最短(20=1),第1级优先级次之,可获时 间片略长(21=2)。当q=1时,每级的时间片相同。 2.具体的调度方法是: .创建一个新进程时,它的PCB将进入第0级队列的末尾。对于在第0级到第n-1级队列中的进 程(假设最后一级为n)。如果在分配给它的时间片内完成了全部工作,那么就撤离系统;如果
2 4 6 8
0 级 1 级 2 级 3 级 A B 0 级 1 级 2 级 3 级
6 4 5 2
0 级 B A 1 级 2 级 3 级 B A C 0 级 1 级 2 级 3 级 C B A 0 级 1 级 2 级 3 级
说明:(引自《操作系统》(第二版)(宗大华,宗涛)) 1.多级队列调度算法也称多级反馈队列调度算法,它是时间片调度算法与优先数调度算法的结 合。实行这种调度算法时,系统中将维持多个就绪队列,每个队列具有不同的调度级别,可以 获得不同长度的时间片。第0级最高,可获得的时间片最短(20=1),第1级优先级次之,可获时 间片略长(21=2)。当q=1时,每级的时间片相同。 2.具体的调度方法是: .创建一个新进程时,它的PCB将进入第0级队列的末尾。对于在第0级到第n-1级队列中的进 程(假设最后一级为n)。如果在分配给它的时间片内完成了全部工作,那么就撤离系统;如果
响应比计算:(响应比=等待时间/运行时间)
9时刻 C:(9-4)/4=5/4 D:(9-6)/5=4/5 E:(9-8)/2=1/2 最大者:C 其它时刻 只有一个进程可选 平均周转时间=(3+7+9+14+7)/5=8
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
名称
先来先服务 轮转 最短进程优先 最短剩余时间 最高响应比优先
缩写
FCFS RR SPN SRT HRRN
选择函数 max(w) 常数
进程
A
到达时间
0
服务时间
3
B C D E
2 4 6 8
6 4 5 2
min(s)
min(s-e) max((w+s )/s)
反馈
FB
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
反馈(q=1)(多级队列调度算法)(修正教材)
0 级 1 级
0 级 1 级 2 级 D C B 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 B
0 级 1 级 2 级 3 级 4 级 5 级
0 级 1 级
0 级 1 级 2 级 D C B 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 D B
0 级 1 级 2 级 3 级 4 级 5 级 B
0 级 1 级 2 级 3 级 4 级 5 级
D C B
E D C B
题目
来源:W.Stallings《操作系统-精髓与设计原理》 进程 到达时间 运行时间 A 0 3 B 2 6 C 4 4 D 6 5 周转时间=结束时间-到达时间 E 8 2
解答:
到达时间 运行时间 开始时间 结束时间 周转时间 0 3 0 3 3 2 6 3 9 7 4 4 9 13 9 6 5 13 18 12 8 2 18 20 12 8.6 平均周转时间=(3+7+9+12+12)/5=8.6
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
A B C D E
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
进程
A
到达时间
0
服务时间
3
B C D E
A 3 A 2 B 6 A 1
2 4 6 8
B 6 C 4 B 5 B 5 B 5 C 3 B 5
6 4 5 2
B 5 D 5 C 2 B 5 D 5 B 5 D 5 C 1 B 5 D 5 B 5 D 5 E 2 B 5 D 5 B 5 D 5 E 1 B 5 D 5 B 5 D 5 D 5
最短剩余时间(SRT)调度算法
D 5
0 A B C D E
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D
0 级 1 级 D C B A
0 级 1 级 2 级 3 级
E
0 级 1 级 E D C B A
0 级 1 级 2 级 3 级 D C B A
0 级 1 级 2 级 3 级 D C B
0 级 1 级 2 级 3 级 D C B
0 级 1 级 2 级 3 级 D C B
0 级 1 级 2 级 3 级 D C B
2 级 3 级 4 级 5 级
C B A
2 级 3 级
D C B A
2 级 3 级
0 A B C D E
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
来源:W.Stallings《操作系统-精髓与设计原理》,制作:本末终始 2011-9-30北理珠
进程
A
到达时间
0
服务时间
3
B C D E
时间片用完,则放弃CPU的使用,降到低一级队列的末尾。若遇阻塞,完成仍在当前队列,不降 级。 .除最后一个队列外均采用:先来先服务方式 .对位于最后一个队列里的进程,实行时间片轮转调度算法。 .整个系统最先列。当 比运行进程更高级别的队列中到达一个进程(可以肯定,在此之前比运行进程级别高的所有队 列全为空。)时,系统将立即停止当前运行进程的运行,转去运行级别高的那个进程。(原处 表述有误,认为回到自己队列。应该是降一级到末尾。)
时间片用完,则放弃CPU的使用,降到低一级队列的末尾。若遇阻塞,完成仍在当前队列,不降 级。 .除最后一个队列外均采用:先来先服务方式 .对位于最后一个队列里的进程,实行时间片轮转调度算法。 .整个系统最先调度0级的就绪队列;只有在上一级队列为空时,才去调度下一级队列。当 比运行进程更高级别的队列中到达一个进程(可以肯定,在此之前比运行进程级别高的所有队 列全为空。)时,系统将立即停止当前运行进程的运行,转去运行级别高的那个进程。(原处 表述有误,认为回到自己队列。应该是降一级到末尾。)