4.4 调度与死锁自测题4.4.1 基本题一、判断题(正确的在括号中记√,错误的记×)1.死锁就是循环等待。
( )2.最适合分时系统的进程调度算法是优先数法。
()3.不存在只涉及一个进程的死锁。
( )4. 在分时系统中当用户数一定时,影响响应时间的主要因素是调度算法。
( )5.若系统中每一资源类只有一个,只要系统存在任何环路,系统状态就是不安全的。
( )6.多级反馈调度算法属于抢占调度方式。
()7.死锁是多个进程为竞争系统资源或彼此间通信而引起的一种临时性的阻塞现象。
( )8.在引入线程的系统中进程程调度负责CPU的分配工作。
()9.当进程数大于资源数时,进程竞争资源一定会产生死锁。
()10.实时调度的关键是保证满足实时任务对截止时间的要求。
()1. Χ2. Χ3.√4. Χ5.√6. √7. Χ8. Χ9. Χ 10. √二、选择题1.在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置______调度。
A.作业B.进程C.中级D.多处理机2.下列算法中,_______只能采用非抢占调度方式。
A.高优先权优先法 B.时间片轮转法 C.FCFS调度算法 D.短作业优先算法3.下面关于优先权大小的论述中,正确的论述是_____________。
A.计算型作业的优先权,应高于I/O型作业的优先权。
B.用户进程的优先权,应高于系统进程的优先权。
C.资源要求多的作业,其优先权应高于资源要求少的作业。
D.在动态优先权时,随着进程执行时间的增加,其优先权降低。
4.最适合分时系统的进程调度算法是______。
A、FCFSB、SSJFC、优先数法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.采用“按序分配”策略,可以破坏死锁产生的条件是______。
A、互斥B、请求和保持C、非剥夺D、环路等待11.在选取撤消的进程或抢占的进程时,应尽量选择_______。
A.进程优先级最高的B.进程已运行的时间最短的C.进程完成其工作还需要的时间最短的D.进程已A使用的资源数最少的12.系统使用的资源,如进程控制块(PCB)一般采用下列_________处理死锁。
A.预分法B.抢占和交换的方法C.死锁避免方法D.资源定序方法13.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的___也可能产生死锁。
A.进程优先权B.资源的线性分配c.进程推进顺序 D.分配队列优先权答:C14.采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。
A.执行并行操作B.撤消进程C.拒绝分配新资源D.修改信号量答: B15.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏_____条件是不太实际的。
A.互斥B.不可抢占C.部分分配D.循环等待答:A16.在_________的情况下,系统出现死锁。
A.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地相互等待他方释放已占有的资源D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数答: C17.银行家算法是一种__________算法。
A.死锁解除B.死锁避免C.死锁预防D.死锁检测答:B18.________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A.先来先服务B.静态C.动态D.短作业答:B19.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_________。
A.9B.10C.11D.12答:B20.以下叙述中正确的是___________。
A.调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。
B.号预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。
C.进程进入临界区时要执行开锁原语。
D.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。
答:B三、填空题1.处理死锁的方法通常有_______、________、_______和________2.为破坏_______条件,采用资源的静态预分策略,系统对进程申请的资源进行一次性的分配,然后才启动该进程运行.3.Banker算法是典型的_______算法,要求系统必须知道未来的资源请求信息,进程要预先声明资源的最大需求量。
4.进程的调度方式有两种,一种是_______,另一种是_________。
答:①剥夺方式②非剥夺方式5.死锁是指在系统中的多个______无限期地等待永远不会发生的条件。
答:进程6.一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。
而确定优先权的方法概括起来不外乎是基于_______特性和________特性两种方法。
前者所得到的是_______优先权,后者所得到的是__________优先权。
答:①静态②动态③静态④动态7.进程调度负责______的分配工作。
答:处理机8.在______调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
答:先来先服务;..9.死锁产生的必要条件有四个,_______、______、_______、____________。
答:①互斥条件②不剥夺条件③部分分配④环路条件10.解除死锁常用的方法有两种。
_______是从其他进程那里剥夺足够数量的资源给__________进程,以解除死锁状态。
答:①资源剥夺法②死锁11.银行家算法中,当一个进程提出的资源请求将导致系统从______进入_________时,系统就拒绝它的资源请求。
答:①安全状态②不安全状态12.如果要求所有进程一次性申请它所需要的全部资源。
若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。
但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。
这种死锁预防方法破坏了死锁产生必要条件中的_____条件。
答:部分分配13.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。
典型的银行家算法是属于________,破坏环路等待条件是属于__________,而剥夺资源是__________的基本方法。
答:①死锁的避免②死锁的预防③死锁的解除.四、简答题1.进程调度的主要功能有哪些?2.高级调度与中级调度的主要任务是什么?为什么要引入中级调度?3.在抢占调度方式中,抢占的原则是什么?4.在选择调度方式和调度算法时,应遵循的准则是什么?5.在批处理系统、分时系统和实的系统中,各采用哪几种进程(作业)调度算法?6.何谓静态和动态优先权?确定静态优先权的依据是什么?7.试比较FCFS和SPF两种进程调度算法。
8.为什么在实时系统中,要求系统(尤其是CPU)具有较强的处理能力?9.按调度方式可将实时调度算法分为哪几种?10.试说明多处理器系统有哪儿种类型。
11.试说明对称MPS中的进程分配方式。
12.何谓死锁?产生死锁的原因和必要条件是什么?13.是否存在只涉及一个进程的死锁问题?-t14.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法使资源利用率高?15.考虑一个共有150个存储器单元的系统,内存的分配情况如下:进程 Max AllocationPl 70 45P2 60 40P3 60 15使用银行家算法,以确定是否可以同意下面的任一请求:(1)第4个进程到达,最多需要60个存储单元,最初需要25个单元;(2)第4个进程到达,最多需要60个存储单元,最初需要35个单元。
16.不安全状态是否必然导致系统进入死锁状态?答:不安全状态不一定导致系统进入死锁状态。
因为,安全性检查中使用的向量Max是进程执行前提供的,而在实际运行过程中,一进程需要的最大资源量可能小于Max,如一进程对应的程序中有一段进行错误处理的代码,其中需要n个A种资源,若该进程在运行过程中没有碰到相应错误而不需调用该段错误处理代码,则它实际上将完全不会请求这n个A种资源。
1.什么是过河问题中的死锁?试说明四个预防算法都可应用于过河问题。
2.考虑图7.3所示的交通死锁情况.(1)说明图中导致死锁的四个必要条件成立.(2)提出一个避免死锁的简单规则。
3.考虑表7-3所示的系统瞬时状态,利用banker算法回答下面的问题:(1)数组Need的内容是什么?(2)该系统处于安全态吗?若是,给出一安全序列.(3)若进程P1的请求(0420)到达,该请求是否能立即满足?表7-34.4.2 解析题一、论述题【例24】考虑一个每月运行5000个作业而未采用死锁预防或避免措施的系统.死锁大约每月发生两次,而且每班发生死锁时要求操作员终止或重新运行大约10%的作业,每个作业大约耗费20元(按CPU时间计算)且每个被终止的作业在被撤消时往往都运行了一半。
系统程序员估计,在该系统上配置死锁避免算法(如banker算法)会使每个作业平均执行时间增加大约10%.由于机器当前仍有30%的空闲时间,所以,每个月仍可以运行5000个作业(尽管平均周转时间增加了大约20%)。
(1)赞成配置死锁避免算法的理由是什么?(2)反对配置死锁避免算法的理由是什么?解:(1)为了有效地判定在特定环境下是否出现死锁,必须配置死锁预防或避免算法.通过配置死锁避免算法,减少平均等待时间.(2)若不把重点放在使等待时间变为最少这一点上,那么,不配置死锁预防或避免算法会减少成本。
【例25】考虑下面的死锁分配策略:允许在任何时候申请和释放资源:若因没有可用资源而不能满足对资源的申请,则检查那些因等待资源而被阻塞的进程,若它们占有所需的资源,则从中收回这些资源并将这些资源分给申请这些资源的进程.增加等待进程正等待的资源向量,使其包含那些被收回的资源.例如,考虑这样一种系统,它有3类资源,且向量Available的初值为(4,2,2).若进程A申请(2,2,1),则它将得到满足:若进程B申请(1,0,1),则它也得到满足:然后若进程A又申请(0,0,1),则它被阻塞(无可用资源).如果进程C现要申请(2,0,0),则它得到一个可用资源、(1,0,0)和一个曾分配给A的资源(因A已被阻塞).此时,A的Allocation向量变为(1,2,1),而其Need向量则变为(1,0,1)。