操作系统死锁练习及答案
- 格式:doc
- 大小:39.50 KB
- 文档页数:5
死鎖習題及答案一、填空題1.進程の“同步”和“互斥”反映了進程間①和②の關系。
【答案】①直接制約、②間接制約【解析】進程の同步是指在異步環境下の並發進程因直接制約而互相發送消息,進行相互合作、相互等待,使得各進程按一定の速度執行の過程;而進程の互斥是由並發進程同時共享公有資源而造成の對並發進程執行速度の間接制約。
2.死鎖產生の原因是①和②。
【答案】①系統資源不足、②進程推進路徑非法【解析】死鎖產生の根本原因是系統の資源不足而引發了並發進程之間の資源競爭。
由於資源總是有限の,我們不可能為所有要求資源の進程無限地提供資源。
而另一個原因是操作系統應用の動態分配系統各種資源の策略不當,造成並發進程聯合推進の路徑進入進程相互封鎖の危險區。
所以,采用適當の資源分配算法,來達到消除死鎖の目の是操作系統主要研究の課題之一。
3.產生死鎖の四個必要條件是①、②、③、④。
【答案】①互斥條件、②非搶占條件、③占有且等待資源條件、④循環等待條件【解析】互斥條件:進程對它所需の資源進行排它性控制,即在一段時間內,某資源為一進程所獨占。
非搶占條件:進程所獲得の資源在未使用完畢之前,不能被其它進程強行奪走,即只能由獲得資源の進程自己釋放。
占有且等待資源條件:進程每次申請它所需の一部分資源,在等待新資源の同時,繼續占有已分配到の資源,循環等待條件:存在一進程循環鏈,鏈中每一個進程已獲得の資源同時被下一個進程所請求。
4.在操作系統中,信號量是表示①の物理實體,它是一個與②有關の整型變量,其值僅能由③原語來改變。
【答案】①資源,②隊列,③P-V【解析】信號量の概念和P-V原語是荷蘭科學家E.W.Dijkstra提出來の。
信號量是一個特殊の整型量,它與一個初始狀態為空の隊列相聯系。
信號量代表了資源の實體,操作系統利用它の狀態對並發進程共享資源進行管理。
信號量の值只能由P-V原語來改變。
5.每執行一次P原語,信號量の數值S減1。
如果S>=0,該進程①;若S<0,則②該進程,並把它插入該③對應の④隊列中。
死锁练习题(一)单项选择题l系统出现死锁的根本原因是( )。
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.死锁的防止、避免和检测的混合(二)填空题l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。
这种等待永远不能结束,则说明出现了______。
2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。
3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。
4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。
第五章死锁一.选择题1.为多道程序提供的可共享资源不足时,可能出现死锁。
但是,不适当的 C 也可能产生死锁。
(A)进程优先权(B)资源的线性分配(C)进程推进顺序(D)分配队列优先权2.采用资源剥夺法可以解除死锁,还可以采用 B 方法解除死锁。
(A)执行并行操作(B)撤销进程(C)拒绝分配新资源(D)修改信号量3.产生死锁的四个必要条件是:互斥、 B 循环等待和不剥夺。
(A)请求与阻塞(B)请求与保持(C)请求与释放(D)释放与阻塞4.在分时操作系统中,进程调度经常采用算法。
(A)先来先服务(B)最高优先权(C)时间片轮转(D)随机5.资源的按序分配策略可以破坏条件。
(A)互斥使用资源(B)占有且等待资源(C)非抢夺资源(D)循环等待资源6.在 C 情况下,系统出现死锁。
(A)计算机系统发生了重大故障(B)有多个封锁的进程同时存在(C)若干进程因竞争而无休止地相互等待他方释放已占有的资源(D)资源数远远小于进程数或进程同时申请的资源数量远远超过资源总数7。
银行家算法在解决死锁问题中是用于 B 的。
(A)预防死锁(B)避免死锁(C)检测死锁(D)解除死锁8.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。
(A)运行进程的时间片用完(B)运行进程出错(C)运行进程要等待某一事件发生(D)有新进程进入就绪队列9. 在下列解决死锁的方法中,属于死锁预防策略的是 B 。
(A)银行家算法(B)有序资源分配法(C)死锁检测法(D)资源分配图化简法二、综合题1.若系统运行中出现如表所示的资源分配情况,改系统是否安全?如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?资源情况进程Allocation Need AvailableP0 0 0 3 2 0 0 1 2 1 6 2 2P1 1 0 0 0 1 7 5 0P2 1 3 5 4 2 3 5 6P3 0 3 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6(2)资源情况进程Allocation Need AvailableP0 0 0 3 2 0 0 1 2 0 4 0 0P1 1 0 0 0 1 7 5 0P2 2 5 7 6 1 1 3 4P3 0 3 3 2 0 6 5 2P4 0 0 1 4 0 6 5 61.有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕,试问该系统是否会由于对这种资源的竞争而产生死锁。
第6章死锁-习题集一、选择题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. 系统中没有采用SPOOLing技术B. 使用的P、V操作过多C. 有共享资源存在D. 资源分配不当7.产生死锁的4个必要条件是:互斥、()、循环等待和不剥夺。
【*,联考,?】A. 请求与阻塞B. 请求与保持C. 请求与释放D. 释放与阻塞8.一个进程在获得资源后,只能在使用完资源后由自己释放,这属于死锁必要条件的()。
【*,联考】A. 互斥条件B. 请求和释放条件C. 不剥夺条件D. 环路等待条件9.死锁的预防是根据()而采取措施实现的。
【*,★,联考】A. 配置足够的系统资源B. 使进程的推进顺序合理C. 破坏死锁的四个必要条件之一D. 防止系统进入不安全状态10.资源的有序分配策略可以破坏死锁的()条件。
【**,★,联考】A. 互斥B. 请求和保持C. 不剥夺D. 循环等待11.发生死锁的必要条件有4个,要防止死锁的发生,可以通过破坏这4个必要条件之一来实现,但破坏()条件是不太实际的。
考研操作系统-死锁(总分:62.00,做题时间:90分钟)一、单项选择题(总题数:8,分数:16.00)1.以下关于资源分配图的描述中正确的是( )。
A.有向边包括进程指向资源类的分配边和资源类指向进程申请边两类B.矩阵框表示进程,其中的圆点表示申请同一类资源的各个进程C.圆圈结点表示资源类D.资源分配图是一个有向图,用于表示某时刻系统资源与进程之间的状态√2.以下关于死锁的叙述中正确的是( )。
A.死锁的出现只与资源的分配策略有关B.死锁的出现只与并发进程的执行速度有关C.死锁是系统的一种僵持状态,任何进程无法继续运行D.进程竞争互斥资源是产生死锁的根本原因√3.用银行家算法避免死锁时,检测到( )时才分配资源。
A.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需要的最大资源量B.进程首次申请资源时对资源的最大需求量超过系统现存的资源量C.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需要的最大资源量√D.进程已占用的资源数与本次申请的资源数之和超过对资源的最大需求量4.通过终止进程或抢夺资源可以解除死锁,下面说法中错误的是( )。
A.一次终止一个进程比终止所有涉及死锁进程的耗费大√B.检测死锁适用于不经常发生死锁的系统中,不适用于经常发生死锁的系统中C.终止进程可以终止涉及死锁的所有进程或一次终止一个进程D.抢夺资源时从执行时间短的进程中抢夺可以避免进程“死”现象5.死锁的4个必要条件中,无法破坏的是( )。
A.环路等待资源B.互斥使用资源√C.占有且等待资源D.非抢夺式分配6.静态分配破坏了( )两个死锁的必要条件。
A.占有且等待资源和环路等待资源√B.互斥使用资源和非抢夺式分配C.占有且等待资源和互斥使用资源D.环路等待资源和互斥使用资源7.死锁的防止是根据( )采取措施实现的。
A.防止系统进入不安全状态B.配置足够的系统资源C.破坏产生死锁的四个必要条件之一√D.使进程的推进顺序合法8.按序分配资源是为了( )。
一、选择题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、不一定9、检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是。
A、正确的B、错误的10、在下列解决死锁的方法中,属于死锁预防策略的是。
A、银行家算法B、资源有序分配方法C、死锁检测法D、资源分配图化简法12、以下叙述中正确的是。
A、调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。
B、预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。
C、进程进入临界区时要执行开锁原语。
D、既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。
二、填空题1、进程的调度方式有两种,一种是,另一种是。
2、死锁是指在系统中的多个无限期地等待永远不会发生的条件。
3、一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。
第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
死锁问题分析与解决能力测试(答案见尾页)一、选择题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. 死锁处理的五种方法中,哪种方法不使用资源分配图?A. 银行家算法B. 资源分配图简化C. 资源强制回收D. 避免优先级倒置10. 在死锁处理的讨论中,为什么说银行家算法是安全的?A. 它总是能预测并防止死锁的发生B. 它通过确保资源在分配后仍然可用来避免死锁C. 它只使用了一种资源分配策略D. 它总是能及时释放资源以避免死锁11. 死锁产生的四个必要条件中,哪个不是必要的?A. 互斥条件B. 请求与保持条件C. 不剥夺条件D. 资源分配图12. 在银行家算法中,为了避免死锁,需要确保提前多少天进行资源分配?A. 1天B. 2天C. 3天D. 4天13. 解决死锁问题的四种策略中,哪种策略是用于避免死锁的?A. 预防策略B. 避免策略C. 检测与解除策略D. 限制策略14. 在银行家算法中,如果当前所有进程都在执行,则系统处于什么状态?A. 病态B. 死锁态C. 处于安全状态D. 无法确定15. 死锁的四个必要条件中,哪个条件表示一个进程已经持有了其他进程所需的资源,并且该资源不再需要?A. 互斥条件B. 请求与保持条件C. 不剥夺条件D. 资源分配图16. 解决死锁问题的方法中,哪种方法是在系统运行过程中动态地分配资源?B. 避免策略C. 检测与解除策略D. 限制策略17. 如果系统中有五个进程,每个进程请求三个资源,那么系统中至少有多少资源才可能发生死锁?A. 12B. 13C. 14D. 1518. 死锁的预防策略中,哪种策略可以破坏“请求与保持条件”?A. 顺序分配法B. 原始分配法C. 有限等待法D. 银行家算法19. 死锁产生的四个必要条件中,哪个不是导致死锁发生的必要条件?A. 互斥B. 请求与保持C. 不剥夺D. 长时间等待E. 循环等待20. 在银行家算法中,为了确保系统不会进入不安全状态,系统应至少剩余的资源数量是:A. 死锁资源数 + 1B. 死锁资源数C. 死锁资源数 + 1D. 死锁资源数 × 2E. 死锁资源数 × 321. 解决死锁问题的四种策略中,哪种策略是用于避免提前释放资源以避免其他进程饥饿的?B. 避免策略C. 检测与解除策略D. 重新分配策略E. 进展式策略22. 死锁预防和银行家算法在资源分配策略上有什么不同?A. 死锁预防不允许进程获取资源,而银行家算法允许进程在需要时获取资源。
第四章一、单项选择题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 )。
死锁习题一、填空题2.死锁产生的原因是。
3.产生死锁的四个必要条件是、、、。
二、单项选择题1.两个进程争夺同一个资源。
(A)一定死锁(B)不一定死锁(C)不死锁(D)以上说法都不对4.如果发现系统有的进程队列就说明系统有可能发生死锁了。
(A)互斥(B)可剥夺(C)循环等待(D)同步5.预先静态分配法是通过破坏条件,来达到预防死锁目的的。
(A)互斥使用资源/循环等待资源(B)非抢占式分配/互斥使用资源(C) 占有且等待资源/循环等待资源(D)循环等待资源/互斥使用资源7.下列关于死锁的说法中,正确的是?1)有环必死锁; 2)死锁必有环; 3)有环无死锁; 4)死锁也无环8.资源有序分配法的目的是?1)死锁预防; 2)死锁避免; 3)死锁检测; 4)死锁解除8.死锁的预防方法中,不太可能的一种方法使()。
A 摈弃互斥条件B 摈弃请求和保持条件C 摈弃不剥夺条件D 摈弃环路等待条件10. 资源的按序分配策略可以破坏()条件。
A 互斥使用资源B 占有且等待资源C 不可剥夺资源D 环路等待资源三、多项选择题1.造成死锁的原因是_________。
(A)内存容量太小(B)系统进程数量太多,系统资源分配不当(C)CPU速度太慢(D)进程推进顺序不合适(E)外存容量太小2.下列叙述正确的是_________。
(A)对临界资源应采取互斥访问方式来实现共享(B)进程的并发执行会破坏程序的“封闭性”(C)进程的并发执行会破坏程序的“可再现性”(D)进程的并发执行就是多个进程同时占有CPU(E)系统死锁就是程序处于死循环3.通常不采用_________方法来解除死锁。
(A)终止一个死锁进程(B)终止所有死锁进程(C)从死锁进程处抢夺资源(D)从非死锁进程处抢夺资源(E)终止系统所有进程5.通常使用的死锁防止策略有_________。
(A)动态分配资源(B)静态分配资源(C)按序分配资源(D)非剥夺式分配资源(E)剥夺式分配资源四、名词解释1死锁2饥饿3死锁防止4死锁避免5安全序列四、简答题1.产生死锁的原因是什么?2.死锁发生的必要条件有哪些?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、不一定9、检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是。
A、正确的B、错误的10、在下列解决死锁的方法中,属于死锁预防策略的是。
A、银行家算法B、资源有序分配方法C、死锁检测法D、资源分配图化简法12、以下叙述中正确的是。
A、调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。
B、预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。
C、进程进入临界区时要执行开锁原语。
D、既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。
二、填空题1、进程的调度方式有两种,一种是,另一种是。
2、死锁是指在系统中的多个无限期地等待永远不会发生的条件。
3、一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。
第8章死锁作业题题1某系统采用了银行家算法,则下列叙述正确的是______A.系统处于不安全状态时,一定会发生死锁B .系统处于不安全状态时,可能会发生死锁C.系统处于安全状态时,可能会发生死锁D.系统处于安全状态时,一定会发生死锁题2在银行家算法的数据结构中,其中最大需求矩阵Max,分配矩阵Allocation和需求矩阵Need三者之间的关系是________A. Need[i,j]= Allocation[i,j]-Max[i,j]B. Need[i,j]= Max[i,j]+ Allocation[i,j]C. Need[i,j]= Max[i,j]-Allocation[i,j]D.Need[i,j]= Max[i,j] * Allocation[i,jl题3死锁产生的必要条件有4个,要预防死锁发生,必须破坏死锁的4个必要条件之一,但破坏_____条件是不太实际的。
A.请求和保持B.互斥C.不剥夺D.环路等待题4预先静态分配法是通过破坏_____条件,来达到预防死锁目的的。
A.互斥使用资源/循环等待资源B.非抢占式分配/互斥使用资源C.占有且等待资源/循环等待资源D.循环等待资源/互斥使用资源题5通过撤销进程可进行死锁恢复.还可以采用______方法解除死锁。
A.阻塞进程B.资源剥夺C.提高进程优先级D.降低进程优先级题6某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要三台打印机。
该系统可能会发生死锁的K的最小值是_____A.2B.3C.4D.5题7 某时刻进程的资源使用情况如表8-1所示。
表8-1 某时刻进程的资源使用情况A,P1,P2,P3,P4 B,P1,P3,P2,P4 C. P1,P4,P3,P2 D.不存在题8银行家算法的基本思想是什么?(见教材)题9某系统有A.B.C三类资源(数量分别为17,5,20)和P1~P5共5个进程,在T0时刻系统状态如表8-3所示。
1.系统出现死锁时一定同时有四个必要条件成立。
采用按序分配资源的策略可以破坏其中的( D )A.互斥条件B.请求保持条件C.不剥夺条件D.环路条件2.最先适应法和最佳适应法是在(D)存储管理方法中采用的内存分配算法。
A.段式B.页式C.单一连续D.分区3.有n个进程并发执行时,系统允许每次最多m个进程(1<=m<n)同时使用资源,若使用PV操作来管理,则信号量的变化范围是( A )A [(m-n),m] B[(m-n),n] C[(n-m),m] D[(n-m),n]4.页式存储管理中,地址转换工作是由()完成的A硬件B地址转换程序C快表D装入程序5、当处理机状态字PSW中的相应位从用户执行模式转换为系统执行模式时,下述错误的是(?)A这一转换由硬件实现 B 用户程序要保护现场C转换的目的是防止用户程序直接访问系统程序D转换后的状态称为系统态6、造成某进程状态从运行态到等待态的变化原因不可能是()A该进程运行中请求启动了外围设备B该进程在运行中申请资源得不到满足C分配给该进程的处理器时间用完D该进程在运行时出现了程序错误故障7.对于段页式系统,当要访问一个主存中的数据时,若联想存储器匹配失败,则需要访问()次主存。
A、1B、2C、3D、48、某记录式文件共有200个逻辑记录,每个逻辑记录长度为250B,现要将它存放到磁盘上,每个磁盘块大小为512B,则该文件至少占(?)个磁盘块。
A、50B、100C、250D、5009、一定能防止系统出现死锁而采用的手段是(?)A、用PV操作管理共享资源B、进程互斥使用共享资源C、静态分配资源D、定时运行死锁检测程序10、在可变分区分配中,某一进程完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲链。
造成空闲区数减1的情况是()A、无上邻空闲区,也无下邻空闲区B、有上邻空闲区,但无下邻空闲区C、无上邻空闲区,但有下邻空闲区D、有上邻空闲区,也有下邻空闲区11、在页式存储管理中,逻辑地址用32位表示,其中页号占20位,则主存的分块大小应该为()字节。
第6章死锁-习题集一、选择题1. C2. C3. C4. C //产生死锁的原因是系统资源不足及进程推进顺序不正确5. B6. D7. B8. C9. C10. D //有序资源分配法的实现思想是将系统中的所有资源都按类型赋予一个编号(如打印机1,磁带机为2等),要求每一个进程均严格按照编号递增的次序来申请资源,同类资源一次申请完。
这样不会造成循环等待。
11. A //互斥条件是资源本身固有的特性。
12. B //当每个都获得2台打印机且系统中剩余打印机不少于1台时,系统不会发生死锁,即11-2N>=1,由此知N<=5。
//本注:N=1,空闲11-3*1=8,不死锁N=2,空闲11-3*2=5,不死锁N=3,空闲11-3*3=2,不死锁N=4,每个2台,空闲11-2*4=3,不死锁N=5,每个2台,空闲11-2*5=1,不死锁N=6,5个进程2台,1个进程1台,无空闲,死锁!13. C //同上例。
8-2K>=1,K<=3.5,取整为4。
14. B15. B16. B //本注:破坏了死锁必要条件“环循等待”,属于“死锁预防”17. C18. D //本注:P2和P3无法满足资源需要,都需资源R2三个。
二、综合应用题1.所谓死锁是指多个进程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作用,这些进程都将无法向前推进。
产生死锁的原因是:一是由多进程共享的资源不足而引起竞争资源;二是由于进程在运行过程中具有异步性,进程推进顺序非法。
2.必要条件如下:●互斥条件。
指在一段时间内某资源仅为一个进程所占有。
●不剥夺条件。
指进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,而只能由该进程自己释放。
●部分已分配条件(Hold and Wait):指进程每次申请它所需要的一部分资源,在等待分配新资源的同时,进程继续占有已分配到的资源。
●环路等待条件。
指存在一种进程资源的循环等待链,链中每一个进程已获得的资源同时被链中下一个进程所请求。
第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。
一、(10分) 某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况见下表,此刻系统的可用资源为(2,1,2)。
1.求系统中各种资源总数和此刻各进程对各种资源的需求数目。
2.如果此时P1和P2均提出资源请求Request(1,0,1),能否立即给予满足?进程最大需求量占有量R1 R2 R3 R1 R2 R3P1 3 2 2 1 0 0P2 6 1 3 4 1 1P3 3 1 4 2 1 1P4 4 2 2 0 0 2答:1.系统资源总数为(9,3,6)。
各种进程对资源需求矩阵为:2 2 22 0 21 0 34 2 02.采用银行家算法进行计算得:系统不可以将资源分配给进程P1,虽然剩余资源可以满足进程P1现在的需求,但是一旦分配给进程P1后,就找不到一个安全执行的序列保证各个进程能够正常运行下去。
因此进程P1进入等待状态。
系统可以满足P2的请求,因为分配完成后,至少还可以找到一个安全序列,如<P2P1P3P4>使各进程可以运行至结束。
二、(10分)在银行家算法中,若出现下述资源分配情况:试问:(1) 该状态是否安全?(2) 如果进程p2提出请求Request2 (1,2,2,2)后,系统能否将资源分配给它?答:(1)系统处于安全状态。
因为存在安全序列{P0,P3,P1,P2,P4}。
(2)进程P2提出请求Request2(1,2,2,2)后,可用资源变为Available(0,4,0,0),此时已经不能满足任何进程的需求,系统进入不安全状态,按照银行家算法,不能将资源分配给它。
三、(12分) 某系统有A、B、C共3种资源,A资源的数量为17,B资源的数量为5,C资源的数量为20。
在T0时刻P1、P2、P3、P4和P5这5个进程对资源的占用和需求情况见下表。
若系统采用银行家算法实施死锁避免策略,请问:1、T0时刻是否安全?若是,请给出安全序列。
操作系统第五次作业死锁1.什么是移臂调度?什么是旋转调度?移臂调度:在满足一个磁盘请求时,总是选取与当前移动臂前进方向上最近的那个请求,使移臂距离最短。
选装调度:在满足一个磁盘请求时,总是选取与当前读写头旋转方向上最近的那个请求,使旋转圈数最少。
各5分2.假设一个可移动磁头的磁盘具有 200个磁道,其编号为0~199,当它刚刚结束了 125道的存取后,现正在处理143道的服务请求,假设系统当前的请求序列以请求的先后次序排列如下: 86、147、91、177、150、102、175、130。
试问对以下几种磁盘IO请求调度算法而言,满足以上请求序列,磁头将分别如何移动?(1)先来先服务算法(FCFS)(2)最短寻道时间优先调度(SSTF)(3)扫描算法(SCAN)(4)循环扫描算法(CSCAN)先后顺序依次为:1)FCFS:143、86、147、91、177、150、102、175、130;(2)SSTF:143、147、150、130、102、94、91、86、175、177;(3)SCAN:143、147、150、175、177、130、102、94、91、86;(4)C-SCAN:143、147、150、175、177、86、91、94、102、130。
3.3个进程共享4个同类资源,这些资源的分配与释放只能一次一个,已知每一进程最多需要两个资源,试问该系统会发生死锁吗?为什么?该系统不会发生死锁。
因为最坏情况是每个进程都占有一个资源,申请第二个资源,而此时系统中还剩一个资源,不管这个资源分给哪个进程,都能满足它的资源要求,因此它能在有限时间内运行结束而释放它所占有的两个资源,这两个资源又可以分配给另外两个进程,使它们能够运行结束,所以系统不会发生死锁。
4.下图表示一带闸门的运河,其上有两架吊桥,吊桥坐落在一条公路上,为使该公路避开一块沼泽地而其横跨运河两次。
运河和公路的交通都是单方向的,运河的基本运输由驳船担负。
操作系统原理试题题库含答案(3)1、下述解决死锁的方法中,属于死锁避免策略的是( )。
A、银行家算法B、资源有序分配法C、资源分配图化简法D、撤消进程法正确答案: A2、进程有三种基本状态,可能的状态转换是( )。
A、就绪态到运行态、等待态到就绪态、运行态到等待态B、就绪态到运行态、就绪态到等待态、等待态到运行态C、就绪态到运行态、等待态到就绪态、等待态到运行态D、运行态到就绪态、就绪态到等待态、等待态到运行态正确答案: A3、在存储管理中,采用地址变换机构的目的是()A、加快进程空间寻址B、提高CPU效率C、进程空间保护和内存共享D、便于有效分配内存正确答案: A4、关于碎片的说法以下哪个是正确的()。
A、静态页式存储管理中不存在碎片B、段页式存储管理中存在外碎片,但是不存在内碎片C、段式存储管理不存在内碎片D、页式存储管理既存在内碎片,也存在外碎片正确答案: C5、在面向用户的调度准则中,( )是选择分时系统中进程调度算法的重要准则。
A、响应时间快B、平均周转时间短C、截止时间的保证D、优先权高的作业能获得优先服务正确答案: A6、C语言编程中的printf函数属于()。
A、系统调用B、原语C、自定义函数D、库函数正确答案: A7、关于进程的运行、就绪和阻塞三个状态,下列观点正确的是()。
A、每个进程从创建到撤消都要经历这三个状态B、每个进程从创建到撤消,各个状态只能经历一次C、某些进程可以从阻塞状态转化为运行状态D、某些进程可以从运行状态转化为就绪状态正确答案: D8、在操作系统中引入线程的目的是____。
A、使多个程序能并发执行B、提高资源的利用率C、提高系统的吞叶量D、减少程序并发执行时的时空开销正确答案: D9、位示图方法可用于_____。
A、盘空间的管理B、盘的驱动调度C、文件目录的查找D、页式虚拟存贮管理中的页面调度正确答案: A10、一个进程是( )。
A、协处理器执行的程序B、一个独立的程序+数据集C、 PCB结构与程序和数据的集合D、一个独立的程序正确答案: C11、与计算机硬件关系最密切的软件是( )A、编译程序B、数据库管理程序C、游戏程序D、操作系统正确答案: D12、为了兼顾短作业和长时间等待的作业,应采用( )。
死锁练习题(一)单项选择题l系统出现死锁的根本原因是( )。
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.死锁的防止、避免和检测的混合(一)单项选择题1.D 2.C 3.B 4.D 5.A 6 C 7 D(二)填空题l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。
这种等待永远不能结束,则说明出现了______。
2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。
3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。
4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。
5.如果资源分配图中无环路,则系统中______发生。
6.为了防止死锁的发生,只要采用分配策略使四个必要条件中的______。
7.使占有并等待资源的条件不成立而防止死锁常用两种方法:______和______. 8静态分配资源也称______,要求每—个进程在______就申请它需要的全部资源。
9.释放已占资源的分配策略是仅当进程______时才允许它去申请资源。
10抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。
11.目前抢夺式的分配策略只适用于______和______。
12.对资源采用______的策略可以使循环等待资源的条件不成立。
13.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。
14.只要能保持系统处于安全状态就可______的发生。
15.______是一种古典的安全状态测试方法。
16.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。
17.可以证明,M个同类资源被n个进程共享时,只要不等式______成立,则系统一定不会发生死锁,其中x为每个进程申请该类资源的最大量。
18.______对资源的分配不加限制,只要有剩余的资源,就可把资源分配给申请者。
19.死锁检测方法要解决两个问题,一是______是否出现了死锁,二是当有死锁发生时怎样去______。
20.对每个资源类中只有一个资源的死锁检测程序根据______和______两张表中记录的资源情况,把进程等待资源的关系在矩阵中表示出来,以判别是否出现死锁。
21.如果资源类中含有若干个资源,应根据进程对各类资源的占有量、______和各类资源的______来考虑是否有死锁存在。
22.解除死锁的方法有两种,一种是______一个或几个进程的执行以破坏循环等待,另一种是从涉及死锁的进程中______ 23.中断某个进程并解除死锁后,此进程可从头开始执行,有的系统允许进程退到发生死锁之前的那个______开始执行。
24.操作系统中要兼顾资源的使用效率和安全可靠,对不同的资源采用不同的分配策略,往往采用死锁的______、避免和______的混合策略。
(二)填空题1.死锁 2.资源管理不得当,并发执行时 3.占有并等待资源,循环等待资源 4.等价的 5.没有死锁 6.一个条件不成立 7.静态分配资源,释放已占资源 8.预分配资源.开始执行前9.没有占用资源 10.抢夺 11.主存空间,处理器 12.按序分配 13安全状态 14.避免死锁 15.银行家算法 16.死锁的避免 17.n(x- 1)+l<=m 18.死锁检测方法 19判断系统,解除死锁 20.占用表,等待表 21.尚需量,剩余量 22终止,抢夺资源 23.校验点 24.防止,检测(三)简答题1.何谓死锁?产生死锁的原因是有哪些?若系统中存在一组进程、它们中的每—个进程都占用了某种资源而又都在等待其中另一个进程所占的资源,这种等待永远不能结束,则说明系统出现了死锁。
产生死锁的原因有两个:一是操作系统对资源的管理不当,二是没有顾及进程并发执行时可能出现的情况。
2.可以通过哪些途径防止死锁的产生?采用某些资源分配策略使死锁的四个必要条件之一不成立,就能防止死锁。
除第一个条件互斥使用资源没有对应策略外,对占有并等待资源、不可抢夺资源和循环等待资源这三个条件可采用静态分配资源,释放已占资源,抢夺式分配资源和按序分配资源等资源分配策略。
3.什么叫系统处于安全状态?常用什么方法保持系统处于安全状态?如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于安全状态。
常用银行家算法动态地检测系统中的资源分配情况和进程对资源的需求情况进行资源分配,确保系统处于安全状态。
4.简述解决死锁问题的三种方法。
解决死锁问题有以下三种方法:(1)死锁的防止。
系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
(2)死锁的避免。
系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。
(3)死锁的检测。
对资源的申请和分配不加限制,只要有剩余的资源就可把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
5.用抢夺资源的方法解除死锁时要注意什么问题?用抢夺资源的方式解除死锁时要注意三点:(1)抢夺进程资源时希望付出的代价最小。
(2)为被抢夺者的恢复准备好条件,如返回某个安全状态,并记录有关信息。
(3)防止被抢夺资源的进程“饿死”,一般总是从执行时间短的进程中抢夺资源。
(四)应用题1若有10个同类资源供三个进程共享,下表列出了这三个进程目前己占资源和最大需求量的情况,现在这三个进程P1,P2,P3又分别申请1个、2个、1个资源,请问 1)能否先满足进程P2的要求?为什么?(2)如何为这三个进程分配资源比较合适?进程已占资源数最大需求量P1 3 7P2 3 8P3 2 32.现有五个进程A,B,c,d,E共享Rl,R2,R3,R4这四类资源,进程对资源的需求量和目前分配情况如下表。
若系统还有剩余资源数分别为R1类2个,R2类6个,R3类2个和R4类1个,请按银行家算法回答下列问题:(1)目前系统是否处于安全状态? (2)现在如果进程D提出申请(2,5,0,0)个资源,系统是否能为它分配资源?进程已占资源数最大需求量R1 R2 R3 R4 R1 R2 R3 R4A 3 6 2 0 5 6 2 0B 1 0 2 0 1 0 2 0C 1 0 4 0 5 6 6 0D 0 0 0 1 5 7 0 1E 5 3 4 1 5 3 6 23.假设系统配有相同类型的m个资源,系统中有n个进程,每个进程至少请求一个资源(最多不超过m)。
请证明,当n个进程最多需要的资源数之和小于(m+n)时,该系统不会发生死锁。
4.若某一系统有同类资源12个,进程A,B,c所需的资源总数分别为5,10,7。
下表中列出了这些进程向系统申请资源的次序和数量,请回答:(1)如采用银行家算法分配资源.请写出完成第5次分配后各进程的状态及所占资源量. (2)请继续完成以后的资源分配,直到全部进程满足资源分配的要求。
次序进程申请量次序进程申请量1 B 4 5 B 22 C3 6 A 23 A 3 7 B 44 C 2 8 C 25.如果在某个系统中有四个资源类,每个资源类中只有一个资源,这四个资源分别为Rl,R2,R 3和R4。
现有三个进程Pl,P2.P3各自已申请到了部分资源,又在等待其他资源。
表1和表2分别为资源占用表和等待表。
表1资源占用进程P3R2 P1R1 P2R4 P3表2进程等待资源P1 R4P2 R2P3 R3请根据占用表和等待表形成一张“等待占用”关系矩阵,设矩阵中的元素为bij,i=1,2,3, j=l,2,3,死锁检测程序为: for k:=1 to 3 do for i:=1 to 3 do for j:=1 to 3 do bij:=bij ∨(bik ∧bkj)试算:k=1,2,3时,矩阵中哪些元素会变成l,从而判断是否会出现死锁。
(四)应用题1.(1)根据表,P1,P2和P3三个进程尚需资源数分别是4,5和l,系统的资源剩余量为2,若把剩余的资源量全部分配给P2,系统产已无资源可分配,使三个进程都等待资源而无法完成,形成死锁。
所以不能先满足进程P2的要求。
(2)可先为进程P3分配1个资源,当它归还3个资源后,这样共有4个可分配资源,可满足P1申请1个资源的要求,再分配3个资源给进程P1,待P1归还7个资源后,先满足P2申请2个资源的请求,分配给进程P2,再分配3个资源给P2,使它完成。
2.(1)系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是 A:(2,0,0,0) ; B:(0,0,0,0); C:(4,6,2,0) ; D:(5,7,0,0); E:(0,0,2,1);由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程c;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。