习题一
一、假设有四个作业,基本信息如下表:
分别采用FCFS、SJF、优先级法(规定优先数越小优先级越高)、HRN调度算法。试着计算在单道程序环境下的平均周转时间和平均带权周转时间,并指出调度顺序(以十进制计算)。
解答:
FCFS:
调度顺序:1->2->3->4
作业 号 | 作业 i 周转时间=完成时间 — 提交时间) | 作业 i 带权周转时间=周转时间/执行时间 |
---|---|---|
1 | 12.0-10.0=2.0 | 2.0/2.0=1.0 |
2 | 12.0+1.0-10.2=2.8 | 2.8/1.0=2.8 |
3 | 13.0+0.5-10.4=3.1 | 3.1/0.5=6.2 |
4 | 13.5+0.3-10.5=3.3 | 3.3/0.3=11 |
平均周转时间 | 平均带权周转时间 |
---|---|
(2.0+2.8+3.1+3.3)/4= 2.8 | (1.0+2.8+6.2+11)/4=5.25 |
SJF:
调度顺序:1->4->3->2
作业号 | 作业 i 周转时间=完成时间 — 提交时间) | 作业 i 带权周转时间=周转时间/执行时间 |
---|---|---|
1 | 12.0-10.0=2.0 | 2.0/2.0=1.0 |
4 | 12.0+0.3-10.5=1.8 | 1.8/0.3=6.0 |
3 | 12.3+0.5-10.4=2.4 | 2.4/0.5=4.8 |
2 | 12.8+1.0-10.2=3.6 | 3.6/1.0=3.6 |
平均周转时间 | 平均带权周转时间 |
---|---|
(2.0+1.8+2.4+3.6)/4=2.45 | (1.0+6.0+4.8+3.6)/4=3.85 |
静态优先级法:
调度顺序:1->3->4->2
作业号 | 作业 i 周转时间=完成时间 — 提交时间) | 作业 i 带权周转时间=周转时间/执行时间 |
---|---|---|
1 | 12.0-10.0=2.0 | 2.0/2.0=1.0 |
3 | 12.0+0.5-10.4=2.1 | 2.1/0.5=4.2 |
4 | 12.5+0.3-10.5=2.8 | 2.8/0.3=3.3 |
2 | 12.8+1.0-10.2=3.6 | 3.6/1.0=3.6 |
平均周转时间 | 平均带权周转时间 |
---|---|
(2.0+2.1+2.8+3.6)/4=2.825 | (1.0+4.2+3.3+3.6)/4=3.025 |
HRN:
调度顺序:1
作业号 | 等待时间 | 响应比R=1+等待时间/执行时间 |
---|---|---|
2 | 12.0-10.2=1.8 | 1+1.8/1.0=2.8 |
3 | 12.0-10.4=1.6 | 1+1.6/0.5=4.2 |
4 | 12.0-10.5=1.5 | 1+1.5/0.3=6 |
调度顺序:1->4
作业号 | 等待时间 | 响应比R=1+等待时间/执行时间 |
---|---|---|
2 | 12.3-10.2=2.1 | 1+2.1/1.0=3.1 |
3 | 12.3-10.4=1.9 | 1+1.9/0.5=4.8 |
调度顺序:1->4->3->2
平均周转时间 | 平均带权周转时间 |
---|---|
(2.0+1.8+2.4+3.6)/4=2.45 | (1.0+6.0+4.8+3.6)/4=3.85 |
标准答案: