教学
案例
假设系统中有4个作业,各作业的到达时刻和估计执行时间如表所示
作业名 | 到达时间 | 执行时间 |
A | 8.00 | 2.00 |
B | 8.30 | 0.50 |
C | 9.30 | 0.30 |
D | 9.50 | 0.20 |
试指出该作业序列用先来先服务算法、短作业优先算法和最高响应比优先算法的作业执行顺序,算出该作业序列的平均周转时间和平均带权周转时间。
先来先服务算法:
作业执行顺序:A、B、C、D
作业名 | 到达时间 | 执行时间 | 开始时间 | 完成时间 | 周转时间 | 带权周转时间 |
A | 8.00 | 2.00 | 8 | 10 | 2 | 1 |
B | 8.30 | 0.50 | 10 | 10.5 | 2.2 | 4.4 |
C | 9.30 | 0.30 | 10.5 | 10.8 | 1.5 | 5 |
D | 9.50 | 0.20 | 10.8 | 11 | 1.5 | 7.5 |
平均周转时间:(2+2.2+1.5+1.5)/4=1.8
平均带权周转时间:(1+4.4+5+7.5)/4=4.475
短作业优先算法:
作业执行顺序:A、D、C、B
作业名 | 到达时间 | 执行时间 | 开始时间 | 完成时间 | 周转时间 | 带权周转时间 |
A | 8.00 | 2.00 | 8 | 10 | 2 | 1 |
B | 8.30 | 0.50 | 10.5 | 11 | 2.7 | 5.4 |
C | 9.30 | 0.30 | 10.2 | 10.5 | 1.2 | 4 |
D | 9.50 | 0.20 | 10 | 10.2 | 0.7 | 3.5 |
平均周转时间:(2+2.7+1.2+0.7)/4=1.65
平均带权周转时间:(1+5.4+4+3.5)/4=3.475
最高响应比优先算法:
作业执行顺序:A、B、D、C
Rpb=(10-8.3)/0.5=3.4
Rpc=(10-9.3)/0.3=7/3
Rpd=(10-9.5)/0.2=2.5
作业名 | 到达时间 | 执行时间 | 开始时间 | 完成时间 | 周转时间 | 带权周转时间 |
A | 8.00 | 2.00 | 8 | 10 | 2 | 1 |
B | 8.30 | 0.50 | 10 | 10.5 | 2.2 | 4.4 |
C | 9.30 | 0.30 | 10.7 | 11 | 1.7 | 17/3 |
D | 9.50 | 0.20 | 10.5 | 10.7 | 1.2 | 6 |
Rpc1=(10.5-9.3)/0.3=4
Rpd1=(10.5-9.5)/0.2=5
平均周转时间:(2+2.2+1.7+1.2)/4=1.775
平均带权周转时间:(1+4.4+5.67+6)/4=4.2675
先来先服务算法
FCFS
先来先服务算法:按照作业到达的先后次序来进行调度(即具体题目中的到达时间)
ADs Time
帮忙点一点广告再学习哦
短作业优先算法
SJF
短作业优先算法:按照作业的长短来计算优先级别,作业越短,其优先级越高(即具体题目中的执行时间)
最高响应比优先算法
HRRN
最高响应比优先算法:响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。该算法中的响应比(Rp)=(等待时间+要求服务时间)/ 要求服务时间=响应时间/要求服务时间(具体题目中Rp=(完成时间-到达时间)/执行时间,根据Rp的大小来判断执行顺序)