1、操作系统 第三章的作业 书本110页7设单处理器系统中有 5个进程P1、P2、P3、P4 、P5并发执行,其运行时间分别为10、1、2 、1、 5,优先权分别为3、1 、3、4、2,这些进程几乎同时到达,在就绪队列中的次序依次为P1、P2、P3、P4、P5,试计算采用时间片轮转(时间片为2),短进程优先、非抢占式优先权算法进行调度时的平均周转时间和平均等待时间。解:(1)时间片轮转调度算法,时间片大小为2min进程到达系统的时间运行时间(min)开始执行时间 完成时间 周转时间(min)带权周转时间(min)等待时间(min)P1 8:00 10 8:00/8:08/8:12/8:15/8:1
2、78:02/8:10/8:14/8:17/8:1919 1.9 9P2 8:00 1 8:02 8:03 3 3 2P3 8:00 2 8:03 8:05 5 2.5 3P4 8:00 1 8:05 8:06 6 6 5P5 8:00 5 8:06/8:10/8:14 8:08/8:12/8:15 15 3 10采用时间片轮转调度算法进行调度时的平均周转时间为 9.6 min,平均带权周转时间为 3.28 min,平均等待时间为 5.8 min 。(2 )短进程优先调度算法调度顺序进程 达到系统的时间运行时间(min)开始执行时间完成时间周转时间(min)带权周转时间(min)等待时间(min
3、)5 P1 8:00 10 8:09 8:19 19 1.9 91 P2 8:00 1 8:00 8:01 1 1 03 P3 8:00 2 8:02 8:04 4 2 22 P4 8:00 1 8:01 8:02 2 2 14 P5 8:00 5 8:04 8:09 9 1.8 4采用短进程优先调度算法进行调度时的的平均周转时间为 7 min,平均带权周转时间为 1.74 min,平均等待时间为 3.2 min 。(3.1)非抢占式优先权算法(假设值越大,优先级越高)调度顺序进程 达到系统的时间运行时间(min)优先权开始执行时间完成时间周转时间(min)带权周转时间(min)等待时间(mi
4、n)2 P1 8:00 10 3 8:01 8:11 11 1.1 15 P2 8:00 1 1 8:18 8:19 19 19 183 P3 8:00 2 3 8:11 8:13 13 6.5 111 P4 8:00 1 4 8:00 8:01 1 1 04 P5 8:00 5 2 8:13 8:18 18 3.6 13采用非抢占式优先权算法(假设值越大,优先级越高)进行调度时的的平均周转时间为 12.4 min,平均带权周转时间为 6.24 min,平均等待时间为 8.6 min 。(3.2)非抢占式优先权算法(假设值越小,优先级越高)调度顺序进程 达到系统的时间运行时间(min)优先权开
5、始执行时间完成时间周转时间(min)带权周转时间(min)等待时间(min)3 P1 8:00 10 3 8:06 8:16 16 1.6 61 P2 8:00 1 1 8:00 8:01 1 1 04 P3 8:00 2 3 8:16 8:18 18 9 165 P4 8:00 1 4 8:18 8:19 19 19 182 P5 8:00 5 2 8:01 8:06 6 1.2 1采用非抢占式优先权算法(假设值越小,优先级越高)进行调度时的的平均周转时间为 12 min,平均带权周转时间为 6.36 min,平均等待时间为 8.2 min 。8有4 个作业J1 、J2 、J3、J4,它们达
6、到的时间分别为9:00、9:40、9:50 、10:10,所需的CPU时间分别为70min、30min、10min、5min,分别采用先来先服务调度算法和短作业优先调度算法进行调度,试问它们的调度顺序、作业的周转时间和平均周转时间各是多少?解:(1)先来先服务调度算法调度顺序进程 到达系统的时间所需CPU 的时间(min)开始执行时间完成时间周转时间1 J1 9:00 70 9:00 10:10 702 J2 9:40 30 10:10 10: 40 603 J3 9:50 10 10: 40 10: 50 604 J4 10:10 5 10: 50 10: 55 45平均周转时间T=58.7
7、5min(2 )短作业优先调度算法调度顺序进程 到达系统的时间所需CPU 的时间(min)开始执行时间完成时间周转时间1 J1 9:00 70 9:00 10:10 704 J2 9:40 30 10:25 10:55 753 J3 9:50 10 10:15 10:25 352 J4 10:10 5 10:10 10:15 5平均周转时间T=46.25min9一个能容纳两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用抢占式优先权算法。表3-11列出了先后到达的几个作业的相关时间和优先级(值越小,优先级越高),试计算:各作业进入内存的时间和完成时间;平均周转时间。表 3-11
8、 一个调度的例子作业名 到达时间 运行时间/min 优先级Job1 8:00 40 4Job2 8:20 30 2Job3 8:30 50 3Job4 8:50 20 5解:本题中的批处理系统能容纳两道作业,即内存中最多允许存在两道作业。分析:(1 )8:00时,作业Job1 到达并投入运行。(2 )8:20时,作业Job2 到达,且它的优先级高于作业Job1,所以作业Job1进入就绪队列,作业Job2投入运行。(3 )8:30时,作业Job3 到达,因为内存中已经存在两道作业:Job1和Job2,所以作业Job3 进入后备队列等待高级调度。(4 )8:50时,作业Job2 运行结束,作业Jo
9、b4到达系统。因为是按短作业优先的原则进行高级调度,加上作业Job4的运行时间比Job3少,所以作业Job4被装入内存就绪队列,而作业Job1的优先级比作业Job4的优先级高,所以作业Job1投入运行。(5 )9:10时,作业Job1 运行结束,作业Job3被调入内存,且作业Job3的优先级高于作业Job4,因此作业Job3 投入运行。(6 )10:00时,作业Job3运行结束,作业Job4投入运行。(7 )10:20时,作业Job4运行结束。解:由上述分析可得出所有作业的到达系统的时间、进入内存的时间、完成时间、周转时间如下:作业名 到达时间 进入内存的时 完成时间 周转时间(mi间 n)J
10、ob1 8:00 8:00 9:10 70Job2 8:20 8:20 8:50 30Job3 8:30 9:10 10:00 90Job4 8:50 8:50 10:20 90平均周转时间T=70min10某系统有3个作业J1、J2、J3 ,它们到达系统的时间分别为9.0、9.2 、9.7,所需的CPU时间分别为1.5、0.4 、1.0,系统确定它们全部到达后,采用最高响应比优先算法进行调度,并忽略系统的调度时间,试问它们的调度顺序是什么?各自的周转时间是多少?分析:(1 )9.7时, 3个作业都已经到达系统,分别计算这3个作业的响应比(即这三个作业的带权周转时间),结果如下:作业 到达系统
11、 的时间 所需CPU的时间 开始执行 时间 完成时间 周转时间 带权周转 时间J1 9.0 1.5 9.7 11.2 2.2 1.467J2 9.2 0.4 9.7 10.1 0.9 2.25J3 9.7 1.0 9.7 10.7 1 1.0因为在9.7时,作业J2 的响应比最高,所以作业 J2首先投入运行。10.1时,作业J2 运行结束。在此基础上,再分别计算作业J1和J3的响应比,即分别计算作业J1和J3的平均带权周转时间的值,结果如下:作业 到达系统 的时间 所需CPU的时间 开始执行 时间 完成时间 周转时间 带权周转 时间J1 9.0 1.5 10.1 11.6 2.6 1.733J
12、3 9.7 1.0 10.1 11.1 1.4 1.4因为在10.1时,作业J1 的响应比最高,所以作业J1 投入运行。11.6时,作业J1运行结束。在此基础上,再计算作业J3 的响应比,即作业J3的平均带权周转时间的值,结果如下:作业 到达系统 的时间 所需CPU的时间 开始执行 时间 完成时间 周转时间 带权周转 时间J3 9.7 1.0 11.6 12.6 2.9 2.9解:根据以上分析的过程可得出三个作业的调度顺序和各自的周时间如下:调度顺序 作业 到达时间所需CPU的时间开始执行时间 完成时间 周转时间2 J1 9.0 1.5 10.1 11.6 2.61 J2 9.2 0.4 9.7 10.1 0.93 J3 9.7 1.0 11.6 12.6 2.9