《操作系统第三章练习及答案.doc》由会员分享,可在线阅读,更多相关《操作系统第三章练习及答案.doc(4页珍藏版)》请在金锄头文库上搜索。
1、第三章 1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?2. 何谓死锁?产生死锁的原因和必要条件是什么?3. 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所列作业优先数即为进程的优先权,数值越小优先权越高)。作业的执行时间作业名到达时间估计运行时间(分钟)优先数ABCD10:0010:2010:3010:504030502053461)列出所有作业进入内存时间及结束时间2)计算平均周转时间执行情况作业名进入内存时间结束时间周转时间ABCD10:00 10:00 10:0010:20 10:20
2、 10:4011:10 10:40 11:3010:50 10:50 11:10 11:10 10:40 10:4010:50 10:50 11:1012:00 11:10 12:2012:20 11:10 11:3070 40 4030 30 50 90 40 11090 20 4010:00 10:2010:3010:50 11:001110.5011:2011:20 60.305030 20第三章 答案1 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?解答:高级调度是用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就
3、绪队列上,准备报告。低级调度是决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。引入中级调度的目的是为了提高内存的利用率和系统吞吐量。为使那些暂时不能运行的进程不再占用内存空间,而将它们调至外存上去等待;当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。2 何谓死锁?产生死锁的原因和必要条件是什么?解答:所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。产生死锁的原因可归结为两点:1、竞争资源;2、
4、进程推进顺序非法。在同时具备以下四个必要条件时,就会产生死锁:1、互斥条件,指在一段时间内某资源只能由一个进程占有。2、请求和保持条件,指进程已经保持了至少一个资源,又提出了新的资源要求,而该资源又被其它进程占有,此时请求进程阻塞,但不释放已持有的资源。3、不剥夺条件,指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。4、环路等待条件,指存在一个进程资源的环形链。3 在银行家算法中,把P0发出的请求向量改为Requst0(0,1,0),系统是否能将资源分配给它?解答:当P0发出请求向量Requst0(0,1,0)后,系统按银行家算法进行检查:(1) Requst0(0,
5、1,0)=Need(7,4,3)(2) Requst0(0,1,0)=Available(2,3,0)(3) 系统暂时先假定可为P0分配资源,并修改有关数据,如下所示:Allocation Need AvailableA B CA B CA B CP0: 0 2 07 3 3 2 2 0P1: 3 0 2 0 2 0P2: 3 0 26 0 0P3: 2 1 10 1 1P4: 0 0 24 3 1(4) 进行安全性检查workneedallocationWork+allocationFinishA B CA B CA B CA B CTrueP12 2 00 2 03 0 2 5 2 2Tr
6、ueP35 2 20 1 1 2 1 17 3 3TrueP47 3 34 3 10 0 2 7 3 5 TrueP27 3 56 0 03 0 21 0 3 7TrueP01 0 37 3 3 0 2 01 0 5 7True5 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所列作业优先数即为进程的优先权,数值越小优先权越高)。作业的执行时间作业名到达时间估计运行时间(分钟)优先数ABCD10:0010:2010:3010:504030502053461)、列出所有作业进入内存时间及结束时间2)、计算平均周转
7、时间解答:本题中的系统是两道作业系统,因此每次只能有两个作业进入系统,作业调度采用短作业优先算法,只有调度进入系统的进程方能参与进程调度;进程调度采用基于优先数的抢占式调度算法,高优先级的进程可以抢占系统处理机。本题的作业和进程的推进过程如下:10:00 A作业到达,被作业调度程序调度进入系统被进程调度程序调度开始运行10:20 A作业运行20分钟,剩余20分钟由于优先级低,被进程调度程序调度处于就绪状态 B作业到达,被作业调度程序调度进入系统由于优先级高,被进程调度程序调度处于开始运行状态10:30 A作业等待10分钟,剩余20分钟 继续等待 B作业运行10分钟,剩余20分钟 继续运行 C作
8、业到达,等待被作业调度程序调度10:50 A作业等待30分钟,剩余20分钟由于优先级高,被进程调度程序调度处于开始运行状态 B作业运行30分钟,作业完成,结束运行 C作业等待20分钟 由于估计运行时间较长,仍未被调入系统中运行 D作业到达,被进程调度程序调度处于就绪状态11:10 A作业运行40分钟,作业完成,结束运行C作业等待30分钟,被作业调度程序调度进入系统由于优先级高,被进程调度程序调度处于开始运行状态D作业等待10分钟由于优先级低,被进程调度程序调度处于就绪状态12:00 C作业运行50分钟,作业完成,结束运行D作业等待60分钟,被进程调度程序调度处于开始运行状态12:20 D作业运行20分钟,作业完成,结束运行