题目类型

  • 先来先服务 · FCFS
  • 短作业优先 · SJF
  • 高响应比优先 · HRRN

引子

  • 到达时间(提交时间): 就是进程告诉操作系统你要开始处理我了的时间点,之后进入队列等待被处理
  • 开始时间: 就是操作系统真正开始处理进程的时间点
  • 执行时间(CPU突发时间): 就是操作系统处理完这个程序需要多久

例题


例题1:

alt

视频中有讲解在这里就不详细赘述了。


例题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顺序执行),示意图如下:

alt

注:按ABC执行需117s,按ACB执行需12