操作系统第三章练习及答案教程文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
2.何谓死锁?产生死锁的原因和必要条件是什么?
3.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,
进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所
第三章答案
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
解答:
高级调度是用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备报告。
低级调度是决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
引入中级调度的目的是为了提高内存的利用率和系统吞吐量。为使那些暂时不能运行的进程不再占用内存空间,而将它们调至外存上去等待;当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
2.何谓死锁?产生死锁的原因和必要条件是什么?
解答:
所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
产生死锁的原因可归结为两点:1、竞争资源;2、进程推进顺序非法。
在同时具备以下四个必要条件时,就会产生死锁:1、互斥条件,指在一段时间内某资源只能由一个进程占有。2、请求和保持条件,指进程已经保持了至少一个资源,又提出了新的资源要求,而该资源又被其它进程占有,此时请求进程阻塞,但不释放已持有的资源。3、不剥夺条件,指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。4、环路等待条件,指存在一个进程—资源的环形链。
3.在银行家算法中,把P0发出的请求向量改为Requst0(0,1,0),系统是否能将资源分配给它?
解答:
当P0发出请求向量Requst0(0,1,0)后,系统按银行家算法进行检查:(1)Requst0(0,1,0)<=Need(7,4,3)
(2)Requst0(0,1,0)<=Available(2,3,0)
(3)系统暂时先假定可为P0分配资源,并修改有关数据,如下所示:Allocation Need Available
A B C A B C A B C
P0:0 2 0 7 3 3 2 2 0
P1:3 0 2 0 2 0
P2:3 0 2 6 0 0
P3:2 1 1 0 1 1
P4:0 0 2 4 3 1
(4)进行安全性检查
work need allocation Work+allocation Finish
A B C A B C A B C A B C True
P1 2 2 0 0 2 0 3 0 2 5 2 2 True
P3 5 2 2 0 1 1 2 1 1 7 3 3 True
P4 7 3 3 4 3 1 0 0 2 7 3 5 True
P2 7 3 5 6 0 0 3 0 2 1 0 3 7 True
P0 1 0 3 7 3 3 0 2 0 1 0 5 7 True 5.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所
1)、列出所有作业进入内存时间及结束时间
2)、计算平均周转时间
解答:
本题中的系统是两道作业系统,因此每次只能有两个作业进入系统,作业调度采用短作业优先算法,只有调度进入系统的进程方能参与进程调度;进程调度采用基于优先数的抢占式调度算法,高优先级的进程可以抢占系统处理机。
本题的作业和进程的推进过程如下:
10:00 A作业到达,被作业调度程序调度进入系统
被进程调度程序调度开始运行
10:20 A作业运行20分钟,剩余20分钟
由于优先级低,被进程调度程序调度处于就绪状态
B作业到达,被作业调度程序调度进入系统
由于优先级高,被进程调度程序调度处于开始运行状态10:30 A作业等待10分钟,剩余20分钟
继续等待
B作业运行10分钟,剩余20分钟
继续运行
C作业到达,等待被作业调度程序调度
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分钟,作业完成,结束运行