操作系统之调度算法和死锁中的银行家算法习题答案
- 格式:doc
- 大小:243.00 KB
- 文档页数:6
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
计算机操作系统必考题(银行家算法)题目+答案1、 设系统中有3种类型的资源(A ,B ,C )和5个进程P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为5,C 资源的数量为20。
在T 0时刻系统状态见下表(T 0时刻系统状态表)所示。
系统采用银行家算法实施死锁避免策略。
(12分)T 0时刻系统状态表T0时刻系统状态表(1) T 0时刻是否为安全状态?若是,请给出安全序列。
(2) 在T 0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?(3) 在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?(4) 在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?答:当前的系统状态描述为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4245241104635955C ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=413402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-011122600431743A C ()20517=R()332=V(1)在T0时刻,由于V (2,3,3)大于等于(C-A )中P5所在行的向量(1,1,0),因此V 能满足P5的运行,在P5运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000122600431743A C ()745'=V 同样的,在P5运行后,V ’(5,4,7)也大于等于C-A 中P4所在的行(2,2,1),则能满足P4的运行。
P4运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000000504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000000600431743A C ()1147'=V 按照上述同样的方法,P4运行后,P3,P2,P1也能按顺序运行。
(备注:考试时需要都写出来)。
1、设系统中有3种类型的资源(A B C)和5个进程P1 P2 P3 P4 P5.已知A、B、C的总数量为[17,5,20],在T0时刻的状态如表所示。
问:(1)T0时刻是否为安全状态?若是,则给出安全序列解:是。
安全序列为p4 p2 p3 p5 p1进程工作需要已分配系统状态(2)T0时刻若P2请求【0,3,4】,能否实施分配?为什么?解:不能实施分配,可用资源为负数(3)在(2)的基础上P4又请求【2,0,1】,能否实施分配?为什么?解:不能实施分配,可用资源为负数(4)在(3)基础上P1又请求【0,2,0】,能否实施分配?为什么?解:不能实施分配,可用资源为负数2、考虑一个有150个存储器单元的系统,如下分配给三个进程:进程最大占有1 70 452 60 403 60 15使用银行家算法,以确定下面的任何一个请求是否安全:(1)第4个进程到达,最多需要60个存储单元,最初需要25个单元;解:安全序列:p1 p2 p3 p4(2)第4个进程到达,最多需要60个存储单元,最初需要35个单元;如果安全,请给出任一安全序列;若不安全给出结果分配简表。
解:安全序列:p2 p1 p3 p4►3.操作系统分配资源时的一个主要考虑是避免死锁的发生。
▪若系统中有同类资源16个,有4个进程p1、p2、p3、p4共享该资源。
▪已知p1、p2、p3、p4所需的资源总数分别为8、5、9、6。
►各进程请求资源的次序如表所示,若系统采用银行家算法为他们分配资源,那么____次申请分配会使系统进入不安全状态下表为进程申请资源的情况▪序号进程申请量▪ 1 P1 6▪ 2 P2 4▪ 3 P3 5▪ 4 P4 1▪ 5 P1 1▪ 6 P2 1 ►供选择的答案▪ A.3、4 B.3、5▪ C.4、5 D.5、6解:分析如下序号1:安全(P1,P2,P3,P4)序号2:安全(P1,P2,P3,P4)序号3:安全(P2,P3,P1,P4)序号4:不安全,不执行分配序号5:不安全,不执行分配序号6:安全(P2,P1,P3,P4)五实验总结(必须写)当可用资源小于需要资源时,系统状态不安全,将试分配作废,恢复原资源分配状态,该进程阻塞。
调度算法考研题库及答案调度算法是操作系统中一个重要的概念,它决定了多任务环境下任务执行的顺序。
以下是一些调度算法的考研题目及其答案:1. 题目一:请简述什么是进程调度算法,并列举至少三种常见的进程调度算法。
答案:进程调度算法是操作系统用于决定哪个进程获得CPU资源的策略。
常见的进程调度算法包括:- 先来先服务(FCFS)调度算法:按照任务到达的顺序进行调度。
- 短作业优先(SJF)调度算法:优先调度预计执行时间较短的任务。
- 轮转(RR)调度算法:将CPU时间分配给所有任务,每个任务轮流执行固定的时间片。
2. 题目二:描述什么是死锁,并解释银行家算法是如何预防死锁的。
答案:死锁是指在多任务环境中,两个或多个进程在执行过程中因争夺资源而造成的一种僵局,此时这些进程无法继续执行。
银行家算法是一种预防死锁的算法,它通过分配资源前检查是否存在安全序列来决定是否分配资源,从而避免死锁的发生。
3. 题目三:解释什么是时间片轮转调度算法,并说明其优缺点。
答案:时间片轮转调度算法是一种CPU调度算法,它将CPU时间分割成固定长度的时间片,并轮流分配给就绪队列中的每个进程。
每个进程在获得CPU后只能执行一个时间片,时间片用完后,CPU将被分配给下一个进程。
优点包括简单易实现和响应时间可预测。
缺点是不适合I/O密集型任务,因为它们可能在时间片结束前不需要CPU。
4. 题目四:什么是优先级调度算法?请解释其工作原理。
答案:优先级调度算法是一种基于优先级的调度策略,每个进程都被赋予一个优先级值。
调度器总是选择最高优先级的进程来执行。
如果两个进程具有相同的优先级,它们将按照先来先服务的原则被调度。
这种算法适用于实时系统,可以确保高优先级的进程得到及时处理。
5. 题目五:描述什么是多级反馈队列调度算法,并简述其特点。
答案:多级反馈队列调度算法是一种动态的调度算法,它使用多个队列来管理进程,每个队列具有不同的优先级。
新创建的进程首先被放入低优先级的队列中。
第四章一、单项选择题1.为了根据进程的紧迫性做进程调度,应采用(B )。
A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法2.采用时间片轮转法调度是为了( A)。
A.多个终端都能得到系统的及时响应 B.先来先服务C. 优先数高的进程先使用处理器 D.紧急事件优先处理3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。
A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。
A. 非抢占方式B.抢占方式 C. 中断方式 D.查询方式5.( B)必定会引起进程切换。
A.一个进程被创建后进入就绪态B.一个进程从运行态变成阻塞态C.一个进程从阻塞态变成就绪态6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。
A.先来先服务算法B.计算时间短的作业优先算法C.响应比最高者优先算法 D.优先数算法7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。
A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。
A.优先数调度算法 B.均衡调度算法C.计算时间短的作业优先算法 D.响应比最高者优先算法9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。
A均衡调度算法 B.优先数调度算法C.先来先服务算法D.响应比最高者优先算法10.作业调度算法提到的响应比是指( B )。
A.作业计算时间与等待时间之比B.作业等待时间与计算时间之比C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。
A.设备管理 B.作业控制 C.驱动调度D.进程调度12.系统出现死锁的根本原因是( D )。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统原理-第四章处理机调度(有答案)第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
第3章调度与死锁一、单项选择题1. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的______也可能产生死锁。
A. 进程优先权B. 资源的线性分配 =C. 进程推进顺序D. 分配队列优先权2. 采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。
A. 执行并行操作=B. 撤消进程C. 拒绝分配新资源D. 修改信号量3. 产生死锁的四个必要条件是:互斥、________、循环等待和不剥夺。
A. 请求与阻塞=B. 请求与保持C. 请求与释放D. 释放与阻塞4. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏________条件是不太实际的。
=A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待5. 在分时操作系统中,进程调度经常采用________算法。
A. 先来先服务B. 最高优先权 =C. 时间片轮转D. 随机6. 资源的按序分配策略可以破坏________条件。
A. 互斥使用资源B. 占有且等待资源C. 非抢夺资源=D. 环路等待资源7. 银行家算法是一种________算法。
A. 死锁解除=B. 死锁避免C. 死锁预防D. 死锁检测8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A. 先来先服务 =B. 静态C. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。
A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。
上述描述是________。
A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是________。
A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。
1、设系统中有3种类型的资源(A ,B ,C )和5个进程P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为5,C 资源的数量为20。
在T 0时刻系统状态见下表(T 0时刻系统状态表)所示。
系统采用银行家算法实施死锁避免策略。
(12分)T 0时刻系统状态表(1)T 0时刻是否为安全状态?若是,请给出安全序列。
(2)在T 0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?(3)在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?(4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?答:当前的系统状态描述为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4245241104635955C ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=413402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-011122600431743A C ()20517=R()332=V(1)在T0时刻,由于V (2,3,3)大于等于(C-A )中P5所在行的向量(1,1,0),因此V 能满足P5的运行,在P5运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000122600431743A C ()745'=V 同样的,在P5运行后,V ’(5,4,7)也大于等于C-A 中P4所在的行(2,2,1),则能满足P4的运行。
P4运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000000504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000000600431743A C ()1147'=V 按照上述同样的方法,P4运行后,P3,P2,P1也能按顺序运行。
(备注:考试时需要都写出来)。
因此,在T0时刻,存在安全序列:P5、P4、P3、P2、P1。
1、设系统中有3种类型的资源(A ,B ,C )和5个进程P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为5,C 资源的数量为20。
在T 0时刻系统状态见下表(T 0时刻系统状态表)所示。
系统采用银行家算法实施死锁避免策略。
(12分)T 0时刻系统状态表(1)T 0时刻是否为安全状态?若是,请给出安全序列。
(2)在T 0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?(3)在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?(4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?答:当前的系统状态描述为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4245241104635955C ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=413402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-011122600431743A C ()20517=R()332=V(1)在T0时刻,由于V (2,3,3)大于等于(C-A )中P5所在行的向量(1,1,0),因此V 能满足P5的运行,在P5运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000402504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000122600431743A C ()745'=V 同样的,在P5运行后,V ’(5,4,7)也大于等于C-A 中P4所在的行(2,2,1),则能满足P4的运行。
P4运行后,系统的状态为:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=000000504204212A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000000600431743A C ()1147'=V 按照上述同样的方法,P4运行后,P3,P2,P1也能按顺序运行。
(备注:考试时需要都写出来)。
因此,在T0时刻,存在安全序列:P5、P4、P3、P2、P1。
第4章调度与死锁习题与解答4.2 例题解析例4.2.1 当前运行的进程(),将引发系统进行进程调度。
A.执行了一条转移指令B.要求增加主存空间,经系统调用银行家算法进行测算认为是安全的C.执行了一条I/O指令D.执行程序期间发生了I/O完成中断解本题考核进程调度的时机,相关的概念有:(1)进程执行转移指令表示CPU将转到一个新程序段去,并不是转到一个新进程,因而不会重新分配CPU。
(2)当前进程提出主存请求时,若系统认为分配是安全的,则可以立即使进程的请求得到满足,不会因而造成进程阻塞。
因此不会分配CPU。
(3)当前进程执行了I/O指令,提出了输入输出请求。
由于I/O是低速的,因此不能让CPU等待I/O完成。
因此需要阻塞当前进程,重新分配CPU。
(4)当前进程运行程序期间发生了I/O完成中断,说明有一个处于阻塞队列上的进程,正等待此I/O事件的出现。
因此可在中断处理程序中查出等待的进程,将它唤醒。
然后再返回到当前进程来执行。
只要恢复当前进程的现场信息就可以了,不会重新分配CPU。
正确答案应为C。
例4.2.2分时系统中的当前运行进程连续获得了两个时间片,原因可能是()。
A.该进程的优先级最高B.就绪队列为空C.该进程最早进入就绪队列D.该进程是一个短进程解(1)在分时系统中,诸多进程以轮流方式分享CPU,一般不考虑进程的优先级。
(2)当前进程运行完一个时间片后回到就绪队列,如果此刻就绪队列为空队列,那么下一个时间片仍然由该进程使用CPU。
(3)在分时系统中,诸多进程轮流地使用CPU,并不考虑进程进入就绪队列的时间,也不登记进程进入就绪队列的时间。
(4)分时系统中诸多进程轮流使用CPU不考虑进程的长短,也不登记进程预估将运行多长时间。
正确答案应为B。
例4.2.3有三个作业A(到达时间8:50,执行时间1.5小时)、B(到达时间9:00,执行时间0.4小时)、C(到达时间9:30,执行时间1小时)。
当作业全部到达后,单道批处理系统按照响应比高者优先算法进行调度,则作业被选中的次序是()。
操作系统之调度算法和死锁中的银行家算法习题答案集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-1. 有三个批处理作业,第一个作业 10:00 到达,需要执行 2 小时;第二个作业在10:10到达,需要执行 1 小时;第三个作业在 10:25 到达,需要执行 25 分钟。
分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少?解:先来先服务:(结束时间=上一个作业的结束时间+执行时间周转时间=结束时间-到达时间=等待时间+执行时间)按到达先后,执行顺序:1->2->3短作业优先:1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3;2)作业3需要时间短,所以先执行;3)最后执行作业2最高响应比优先:高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。
1)10:00只有作业1到达,所以先执行作业1;2)12:00时有作业2和3,作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8;作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8;所以先执行作业33)执行作业22. 在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。
试计算一下三种作业调度算法的平均周转时间 T 和平均带权周转时间 W。
( 1)先来先服务;( 2)短作业优先( 3)高响应比优先解:先来先服务:作业顺序:1,2,3,4短作业优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3,作业3短,所以先执行3;3)9:12有作业2和4,作业4短,所以先执行4;4)执行作业2高响应比优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3作业2等待时间=9:00-8:30=30m,响应比=1+30/30=2;作业3等待时间=9:00-9:00=0m,响应比=1+0/12=1;所以执行作业2;3)9:30有作业3和4作业3等待时间=9:30-9:00=30m,响应比=1+30/12=3.5;作业4等待时间=9:30-9:06=24m,响应比=1+24/6=5;所以执行作业44)执行作业33.设系统中有 3 种类型的资源( A, B, C)和 5 个进程( P1, P2, P3,P4, P5), A 资源的数量为 17, B 资源的数量为 5, C 资源的数量为 20。
操作系统之调度算法和死锁中的银行家算法习题参考答案集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-1.有三个批处理作业,第一个作业10:00到达,需要执行2小时;第二个作业在10:10到达,需要执行1小时;第三个作业在10:25到达,需要执行25分钟。
分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少?解:先来先服务:(结束时间=上一个作业的结束时间+执行时间周转时间=结束时间-到达时间=等待时间+执行时间)按到达先后,执行顺序:1->2->3短作业优先:1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3;2)作业3需要时间短,所以先执行;3)最后执行作业2最高响应比优先:高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。
1)10:00只有作业1到达,所以先执行作业1;2)12:00时有作业2和3,作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8;作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8;所以先执行作业33)执行作业22.在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。
试计算一下三种作业调度算法的平均周转时间T和平均带权周转时间W。
(1)先来先服务;(2)短作业优先(3)高响应比优先解:先来先服务:作业顺序:1,2,3,4短作业优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3,作业3短,所以先执行3;3)9:12有作业2和4,作业4短,所以先执行4;4)执行作业2高响应比优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3作业2等待时间=9:00-8:30=30m,响应比=1+30/30=2;作业3等待时间=9:00-9:00=0m,响应比=1+0/12=1;所以执行作业2;3)9:30有作业3和4作业3等待时间=9:30-9:00=30m,响应比=1+30/12=3.5;作业4等待时间=9:30-9:06=24m,响应比=1+24/6=5;所以执行作业44)执行作业33.设系统中有3种类型的资源(A,B,C)和5个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。
操作系统调度与死锁理论题答案第三章处理机调度与死锁1.高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?(1)高级调度又称为作业调度。
它是批处理系统中使用的一种调度。
其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。
(2)低级调度又称进程调度。
它是距离硬件最近的一级调度。
其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。
其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。
此时的进程状态为挂起状态。
当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。
2. 处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么?共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。
6.为什么要引入高响应比优先调度算法?它有何优点?在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。
而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。
高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。
7.试说明低级调度的主要功能。
保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。
12.试比较FCFS和SJF两种进程调度算法。
相同点:两种调度算法都可用于作业调度与进程调度不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。
该算法有利于长作业/进程,不利于短作业/进程。
第三章处理机调度与死锁一、单项选择题1.如果一个进程的周转时间比较大,但带权周转时间比较小,说明该进程()。
A.是一个短进程,且执行过程中等待时间相对较长B.是一个短进程,且执行过程中等待时间相对较短C.是一个长进程,且执行过程中等待时间相对较长D.是一个长进程,且执行过程中等待时间相对较短2.下列调度算法中,对所有就绪进程都比较公平的算法是()。
A.FCFS B.SPFC.RR(时间片轮转法) D.HRRN3.下列调度算法中,需要事先估计进程运行时间的算法是()。
A.FCFS B.HRRNC.RR D.多级反馈队列调度算法4.下列哪种调度决定了系统的多道程序度?()A.高级调度B.中级调度C.低级调度D.进程调度5.以下执行最频繁的调度方式是()。
A.高级调度B.中级调度C.低级调度D.作业调度6.从用户提交作业到作业最终完成的时间间隔称为()。
A.响应时间B.周转时间C.服务时间D.等待时间7.抢占方式的调度是指当前正在运行的进程被操作系统中断,并转移到()状态。
A.阻塞状态B.新建状态C.就绪状态D.挂起状态8.当一个时间片比运行时间最长的进程还要长时,时间片轮转调度算法就退化成了()。
A.HRRN B.FCFSC.SPF D.多级反馈队列调度算法9.下列调度算法中,属于抢占策略的算法是()。
A.FCFS B.RRC.SPF D.HRRN10.若某一时刻系统中的一个进程的响应比最高,则说明该进程()。
A.运行时间最长B.等待时间最长C.周转时间最长D.等待时间与运行时间的比值最大11.下列调度算法中,能让每一个进程在进入就绪队列后很快得到一次运行机会的调度算法是()。
A.FCFS B.SPFC.RR12. 对于一个刚刚到达的进程,其响应比应该为()。
A.0 B.1C.2 D.无穷大13. 在时间片轮转调度算法中,如果时间片一定,且每个进程的服务时间都大于一个时间片,则运行的进程越多,每个进程()。
第3章调度与死锁一、单项选择题1. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的______也可能产生死锁。
A. 进程优先权B. 资源的线性分配 =C. 进程推进顺序D. 分配队列优先权2. 采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。
A. 执行并行操作=B. 撤消进程C. 拒绝分配新资源D. 修改信号量3. 产生死锁的四个必要条件是:互斥、________、循环等待和不剥夺。
A. 请求与阻塞=B. 请求与保持C. 请求与释放D. 释放与阻塞4. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏________条件是不太实际的。
=A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待5. 在分时操作系统中,进程调度经常采用________算法。
A. 先来先服务B. 最高优先权 =C. 时间片轮转D. 随机6. 资源的按序分配策略可以破坏________条件。
A. 互斥使用资源B. 占有且等待资源C. 非抢夺资源=D. 环路等待资源7. 银行家算法是一种________算法。
A. 死锁解除=B. 死锁避免C. 死锁预防D. 死锁检测8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A. 先来先服务 =B. 静态C. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。
A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。
上述描述是________。
A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是________。
A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。
1. 有三个批处理作业,第一个作业 10:00 到达,需要执行 2 小时;第二个作业在 10:10 到
达,需要执行 1 小时;第三个作业在 10:25 到达,需要执行 25 分钟。
分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少?
解:
先来先服务:
(结束时间=上一个作业的结束时间+执行时间
周转时间=结束时间-到达时间=等待时间+执行时间)
按到达先后,执行顺序:1->2->3
短作业优先:
1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3;
2)作业3需要时间短,所以先执行;
最高响应比优先:
高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。
1)10:00只有作业1到达,所以先执行作业1;
2)12:00时有作业2和3,
作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8;
作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8;
所以先执行作业3
3)执行作业2
2. 在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。
试计算一下三种作业调度算法的平均周转时间 T 和平均带权周转时间 W。
( 1)先来先服务;( 2)短作业优先( 3)高响应比优先
解:
先来先服务:
短作业优先:
作业顺序:
1)8:00只有作业1,所以执行作业1;
2)9:00有作业2和3,作业3短,所以先执行3;
3)9:12有作业2和4,作业4短,所以先执行4;
高响应比优先:
作业顺序:
1)8:00只有作业1,所以执行作业1;
2)9:00有作业2和3
作业2等待时间=9:00-8:30=30m,响应比=1+30/30=2;
作业3等待时间=9:00-9:00=0m,响应比=1+0/12=1;
所以执行作业2;
3)9:30有作业3和4
作业3等待时间=9:30-9:00=30m,响应比=1+30/12=3.5;
作业4等待时间=9:30-9:06=24m,响应比=1+24/6=5;
所以执行作业4
4)执行作业3
3.
设系统中有 3 种类型的资源( A, B, C)和 5 个进程( P1, P2, P3, P4, P5), A 资源的数量为 17, B 资源的数量为 5, C 资源的数量为 20。
在 T0 时刻系统状态表如下表所示。
系统采用银行家算法试试死锁避免策略。
( 1) T0 时刻是否为安全状态?若是,请给出安全序列。
( 2)在 T0 时刻若进程 P2 请求资源( 0,3,4),是否能实施资源分配?为什么?
( 3)在( 2)的基础上,若进程 P4 请求资源( 2,0,1),是否能实施资源分配?为什么?( 4)在( 3)的基础上,若进程 P1 请求资源( 0,2,0),是否能实施资源分配?为什么?解:
现有资源:E (17, 5, 20)
可用资源:A (2, 3, 3)
(1)A满足P4,P4结束,A(4,3,7);
A满足P5,P5结束,A(7,4,11);
A满足P2,P2结束,A(11,4,13);
A满足P3,P3结束,A(15,4,18);
A满足P1,P1结束,A(17,5,20)
T0时刻是安全状态,存在安全序列P4,P5,P2,P3,P1.
(2)可用资源A (2, 3, 3) <(0,3,4)不能满足P2需求,所以不能实施分配。
所以可以分配资源。
剩余资源不能满足任意进程需求,进程将会死锁。
4.
某系统有 R1,R2,R3 共 3 类资源,在 T0 时刻 P1,P2,P3 和 P4 这 4 个进程对资源的占用和需求情况见下表,此刻系统可用资源向量为( 2,1,2)。
问题:
( 1)将系统中各种资源总量和此刻各进程对各资源的需求数目用向量或矩阵表示出来( 2)如果此时 P1,P2 均发出资源请求向量 Request(1,0,1),为了保持系统的安全性应该如
何分配资源?说明你所采用策略的原因。
( 3)如果( 2)中两个请求立刻得到满足后,系统此刻是否处于死锁状态?
解:
(1)可用资源A(2,1,2); 资源总量E(9.3.6)
需求资源R:
⎥⎥⎥
⎥⎦
⎤
⎢⎢⎢⎢⎣⎡024********* (2)假设资源分配给P1则,A ’=(2,1,2)-(1,0,1)=(1,1,1) 需求资源R ’:
⎥⎥⎥
⎥⎦
⎤
⎢⎢⎢⎢⎣⎡024********* A ’不能满足任何进程的需求,所以进程死锁,所以拒绝P1的请求。
假设资源分配给P2则,A ’=(2,1,2)-(1,0,1)=(1,1,1) 需求资源R ’:
⎥⎥⎥
⎥⎦
⎤
⎢⎢⎢⎢⎣⎡024********* A ’满足P2要求,,P2完成,A ’(6,2,3);
存在安全序列:P2,P1,P3,P4.所以答应P2的请求。
(3)假设资源分配给P1则,A ’=(2,1,2)-(1,0,1)-(1,0,1)=(0,1,0) 需求资源R ’:
⎥⎥
⎥
⎥⎦
⎤
⎢⎢⎢⎢⎣⎡024********* 系统此刻并没有立即进入死锁状态,因为这时所有进程没有提出新的资源申请,全部进程均没有因资源请求没得到满足而进入阻塞状态。
只有当进程提出资源申请且全部进程都进入阻塞状态时,系统才处于死锁状态
5. 设有 3 个进程 P 、 Q 、 R ,它们共享 10 个同类资源, P 、 Q 、 R 进程的资源最大需求量依次为 4、 7 和 8。
现假定它们对资源的请示序列如下表所示:
为了避免死锁,系统分配资源时采用银行家算法。
如果申请资源得不到满足,进程就转入阻塞态。
根据上述信息,试描述各步骤结束时,申请资源的进程是得到满足,还
是转入阻塞状态,为什么?(起始状态:各进程均不拥有资源,无进程处于阻塞态)(如果剩余资源即可用资源大于当前状态任何进程的需求,则进程不会死锁,且安全序列任意,因为一旦满足某个进程的需求使其结束后,进程返还占用资源,剩余资源不变(返还资源为0)或增多,以此类推即可)
需求资源R(4,7,8)
资源总数E=10,也是可用资源
步骤1:满足P,剩余资源可使各进程运行结束,所以P得到2个资源, E’=8,R’(2,7,8)步骤2:满足Q, 剩余资源可使各进程运行结束,所以Q得到4个资源,E’=4,R’(2,3,8)步骤3,满足R,剩余资源可使各进程运行结束,所以R得到2个资源,E’=2,R’(2,3,6)步骤4:阻塞Q,若答应请求,则剩余资源为0,不能满足任何进程要求,进程死锁;步骤5:阻塞R,若答应请求,则剩余资源为0,不能满足任何进程要求,进程死锁;步骤6:满足P,所以P得到2个资源,运行完成,返还占用资源2个,E’=4,R’(0,3,6),剩余资源可使各进程运行结束.
最后:。