题目
有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法, 进程调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。作业名 到达时间 估计运行时间 优先数-|||-A 10:00 40分 5-|||-B 10:20 30分 3-|||-c 10:30 50分 4-|||-D 10:50 20分 6( 1 )列出所有作业进入内存时间及结束时间。( 2 )计算平均周转时间。
有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法, 进程调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。
( 1 )列出所有作业进入内存时间及结束时间。
( 2 )计算平均周转时间。
题目解答
答案
答:每个作业运行将经过两个阶段:作业调度(SJF 算法)和进程调度(优先数抢占式)。另外,批处理最多容纳 2 道作业,更多的作业将在后备队列等待。
⏺
( l ) 10 : 00 ,作业 A 到达并投入运行。
( 3 ) 10 : 2O ,作业 B 到达且优先权高于作业 A ,故作业 B 投入运行而作业 A 在就绪队列等待。
( 4 ) 10 : 30 ,作业 C 到达,因内存中已有两道作业,故作业 C 进入作业后备队列等待。
( 5 ) 10 : 50 ,作业 B 运行结束,作业 D 到达,按 SJF 短作业优先算法,作业 D 被装入内存进入就绪队列。而由于作业 A 的优先级高于作业 D ,故作业 A 投入运行
( 6 ) 11 : 10 ,作业 A 运行结束,作业 C 被调入内存,具作业 c 的优先级高于作业 D , 故作业 C 投入运行。
( 7 ) 12 : 00 ,作业 c 运行结束,作业 D 投入运行。
( 8 ) 12 : 20 ,作业 D 运行结束。
各作业周转时间为:作业 A 70 ,作业 B 30 ,作业 C 90 ,作业 D 90 。平均作业周
转时间为 70 分钟。
解析
步骤 1:作业调度和进程调度
作业调度采用短作业优先(SJF)算法,进程调度采用以优先数为基础的抢占式调度算法。优先数越小,优先级越高。批处理系统最多容纳两道作业,更多的作业将在后备队列等待。
步骤 2:作业进入内存时间及结束时间
- 10:00,作业A到达并投入运行。
- 10:20,作业B到达且优先权高于作业A,作业B投入运行,作业A在就绪队列等待。
- 10:30,作业C到达,因内存中已有两道作业,作业C进入作业后备队列等待。
- 10:50,作业B运行结束,作业D到达,按SJF算法,作业D被装入内存进入就绪队列。由于作业A的优先级高于作业D,作业A投入运行。
- 11:10,作业A运行结束,作业C被调入内存,作业C的优先级高于作业D,作业C投入运行。
- 12:00,作业C运行结束,作业D投入运行。
- 12:20,作业D运行结束。
步骤 3:计算平均周转时间
- 作业A的周转时间:12:20 - 10:00 = 140分钟
- 作业B的周转时间:10:50 - 10:20 = 30分钟
- 作业C的周转时间:12:00 - 10:30 = 90分钟
- 作业D的周转时间:12:20 - 10:50 = 90分钟
- 平均周转时间:(140 + 30 + 90 + 90) / 4 = 85分钟
作业调度采用短作业优先(SJF)算法,进程调度采用以优先数为基础的抢占式调度算法。优先数越小,优先级越高。批处理系统最多容纳两道作业,更多的作业将在后备队列等待。
步骤 2:作业进入内存时间及结束时间
- 10:00,作业A到达并投入运行。
- 10:20,作业B到达且优先权高于作业A,作业B投入运行,作业A在就绪队列等待。
- 10:30,作业C到达,因内存中已有两道作业,作业C进入作业后备队列等待。
- 10:50,作业B运行结束,作业D到达,按SJF算法,作业D被装入内存进入就绪队列。由于作业A的优先级高于作业D,作业A投入运行。
- 11:10,作业A运行结束,作业C被调入内存,作业C的优先级高于作业D,作业C投入运行。
- 12:00,作业C运行结束,作业D投入运行。
- 12:20,作业D运行结束。
步骤 3:计算平均周转时间
- 作业A的周转时间:12:20 - 10:00 = 140分钟
- 作业B的周转时间:10:50 - 10:20 = 30分钟
- 作业C的周转时间:12:00 - 10:30 = 90分钟
- 作业D的周转时间:12:20 - 10:50 = 90分钟
- 平均周转时间:(140 + 30 + 90 + 90) / 4 = 85分钟