题目类型
- 先来先服务 · FCFS
- 短作业优先 · SJF
- 高响应比优先 · HRRN
引子
- 到达时间(提交时间): 就是进程告诉操作系统你要开始处理我了的时间点,之后进入队列等待被处理
- 开始时间: 就是操作系统真正开始处理进程的时间点
- 执行时间(CPU突发时间): 就是操作系统处理完这个程序需要多久
例题
例题1:
视频中有讲解在这里就不详细赘述了。
例题2:
有一组作业,其提交时间及运行时间如下表所示,在单道程序管理系统中,采用响应比高者优先高度算法,给出调度顺序,各作业的周转时间,并算出平均周转时间和平均带权周转时间。(按十进制计算)
作业号 | 提交时间 | 运行时间 |
---|---|---|
1 | 10.00 | 0.30 |
2 | 10.20 | 0.50 |
3 | 10.40 | 0.10 |
4 | 10.50 | 0.40 |
解析:
响应比=响应时间/要求服务时间=(等待时间+要求服务时间)/要求服务时间
由于作业1与作业2开始执行时,作业3和4均未到达,所以1、2按到达顺序执行,作业2执行完后,
作业3:响应比=(10.8-10.4+0.1)/0.1=5
作业4:响应比=(10.8-10.5+0.4)/0.4=1.75
因为作业3的响应比高于作业4,所以作业3先执行。
周转时间=完成时间-提交时间
作业1的周转时间T1=0.3
T2=10.8-10.2=0.6
T3=10.9-10.4=0.5
T4=11.3-10.5=0.8
平均周转时间=(0.3+0.6+0.5+0.8)/4=0.5
带权周转时间=周转时间/运行时间(用P表示)
P1=0.3/0.3=1
P2=0.6/0.5=1.2
P3=0.5/0.1=5 15 P4=0.8/0.4=2
平均带权周转时间=(1+1.2+5+2)/4=2.3
例题3:
有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序A、B、C构成如下:
A:输入32秒,计算8秒,输出5秒
B:输入21秒,计算14秒,输出35秒
C:输入12秒,计算32秒,输出15秒
问: (1)三道程序顺序执行的总时间是多少?
(2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。
解析:
(1)三道程序顺序执行的总时间是:32+8+5+21+14+35+12+32+15=174秒。
(2)充分发挥各设备的效能,并行执行上述三道程序,最短需90秒(按BCA顺序执行),示意图如下:
注:按ABC执行需117s,按ACB执行需12