[考研类试卷]进程管理模拟试卷9及答案与解析.doc

上传人:visitstep340 文档编号:844966 上传时间:2019-02-21 格式:DOC 页数:24 大小:657.50KB
下载 相关 举报
[考研类试卷]进程管理模拟试卷9及答案与解析.doc_第1页
第1页 / 共24页
[考研类试卷]进程管理模拟试卷9及答案与解析.doc_第2页
第2页 / 共24页
[考研类试卷]进程管理模拟试卷9及答案与解析.doc_第3页
第3页 / 共24页
[考研类试卷]进程管理模拟试卷9及答案与解析.doc_第4页
第4页 / 共24页
[考研类试卷]进程管理模拟试卷9及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、进程管理模拟试卷 9 及答案与解析一、单项选择题1 各进程采取互斥的方式实现共享的资源,称作( )。(A)临界资源(B)临界区(C)共享资源(D)独立资源2 临界区是指( ) 。(A)PV 原语(B)进程访问的临界资源(C)进程中访问临界资源的那段代码(D)以上均不正确3 进程同步遵循的原则不包括( )。(A)空闲让进(B)忙则等待(C)空闲等待(D)让权等待4 同步和互斥的说法中,不正确的是( )。(A)同步是为了协调进程之间运行的次序和传递信息时产生的制约关系(B)同步是直接制约关系(C)互斥是直接制约关系(D)互斥是如果一个进程进入了临界区,那么另一个进程就必须等待占用临界资源的进程退出

2、使用临界资源以后,才能进入临界区5 有两个并发进程如下面所示,对于这段程序的运行,正确的说法是( )。 (A)程序能正确运行,结果唯一(B)程序不能正确运行,可能有两种结果(C)程序不能正确运行,结果不确定(D)程序不能正确运行,可能会死锁6 利用双标志位先检查法实现同步和互斥的过程,如下表所示:(A)违背了“ 空闲让进” 规则(B)进入临界区之间将自身对应的 flagn数组的元素值改成 TRUE。(C)进程 Pi 判断 flagj变量的值是否等于 FALSE,如果不相等,表明进程 Pj 一直占用着临界资源,P i 就一直执行这个 while 循环语句直到 flagj的值等于 FALSE(D)

3、这种方法会导致两个进程同时进入临界区7 利用双标志位后检查法实现同步和互斥的过程,如下表所示: 对于上述过程,下列说法不正确的是( )。(A)两个进程不能互斥进入临界区(B)两个进程都将自己的标识 flagi(flagj)置为 TRUE 同时检测对方的状态,发现对方也要进入临界区时就等待对方先进。(C) Pi 将自己的 flagi的值设置为 TRUE 表明进程 Pi 要进入临界区(D)双标志位后检查法会导致饥饿8 在操作系统中,PV 操作是一种( )。(A)机器指令(B)系统调用命令(C)作业控制命令(D)低级进程通信原语9 临界区是指( ) 。(A)一组临界资源的集合(B)可共享的一块内存区

4、(C)访问临界资源的一段代码(D)请求访问临界资源的代码10 有 2 个优先级相同的并发进程 P1 和 P2,它们的执行过程如下表所示。假设,当前信号量 s1=0,s 2=0,当前的 z=2,进程运行结束后,x,y 和 z 的值分别为( )。 (A)5,9,9(B) 5,9,4(C) 5,12,9(D)5,12,411 关于临界区问题(critical section problem)是一个算法 (假设只有进程 P0 和 P1 可能进入该临界区),算法如下(i 为 0 或 1),该算法( )。(A)不能保证进程互斥进入临界区,且会出现“饥饿”(B)不能保证进程互斥进入临界区,但不会出现“饥饿”

5、(C)保证进程能互斥进入临界区,但会出现“饥饿 ”(D)保证进程互斥进入临界区,不会出现“饥饿”12 两个合作进程(Cooperating Processes)无法利用( )交换数据。(A)数据库(B)文件系统(C)共享内存(D)高级语言程序设计中的全程变量13 管程的组成中,不包括( )。(A)局部于管程的共享变量说明(B)对局部于管程的数据设置初始值的语句(C)对管程数据结构进行操作的一组过程(D)对管程的管理控制14 死锁可能发生在( ) 。(A)单个进程资源请求时(B)两个或两个以上进程同时占有资源,又申请新资源时(C)只是三个进程之间互相请求对方响应时(D)以上均是15 死锁产生的原

6、因是( )。(A)请求无限制和进程之间的推进顺序不合理(B)资源独享和进程之间的推进顺序不合理(C)资源共享和请求无限制(D)资源竞争和进程之间的推进顺序不合理16 互斥条件是指( ) 。(A)指进程已获得的资源,在未使用完之前,不能被剥夺(B)进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用(C)指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有,此时请求进程阻塞,但又对自己已获得的其他资源保持不放(D)存在一个进程和资源的环形链17 通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件称作( )。(A)预防死锁(B)避免

7、死锁(C)检查死锁(D)解除死锁18 避免死锁是指在资源的动态分配过程中,防止系统进入( )状态。(A)死锁(B)安全(C)不安全(D)循环19 下面关于安全状态和非安全状态的论述中正确的是( )。(A)安全状态是没有死锁的状态,非安全状态是有死锁的状态(B)安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态(C)安全状态是可能没有死锁的状态,非安全状态是有死锁的状态(D)安全状态是没有死锁的状态,非安全状态是可能有死锁的状态20 采用资源剥夺法可解除死锁,还可以采用( )方法解除死锁。(A)执行并行操作(B)撤销进程(C)拒绝分配新资源(D)修改信号量21 系统中至少有一个进程被无限

8、期地推迟的现象称作( )。(A)死锁(B)饥饿(C)阻塞(D)中断22 系统产生死锁的可能原因是( )。(A)共享资源分配不当(B)系统资源不足(C)进程运行太快(D)CPU 内核太多23 在( ) 的情况下,系统出现死锁。(A)计算机系统发生重大故障(B)有多个封锁的进程同时存在(C)若干进程因竞争资源而无休止地相互等待对方释放已占有的资源(D)资源数大大小于进程数或进程同时申请的资源数大大超过资源总数二、综合题24 下面列出的程序用来实现两个银行账户之间转账的功能。请说明该程序是否能够:(1)完成指定的任务;(2)不能完成指定的任务;(3)存在危险 (有时能正常工作,有时不行) 。如果该程

9、序有问题,请指出问题出现在什么地方? 并对其进行修改。Semphore accountN; 该数组各元素均初始化为 0BankServer()while(TRUE)ReceiveRequest(&op,&acctId 1,&acctId2,&amount);if(op=transfer)ThreadFork(Transfer(acctId1,acctId2,amount);else if Transfer(acctId1,acctId2,amount)accountacctId1一Wait();acct1=GetAccount(acctId1);May involve disk IOAccou

10、ntacctId2一Wait();acct2=GetAccount(acctId2);May involve disk IOif(acct1 一balanceamount)return ERROR;acct1 一balance 一=amount;acct2 一balance+=amount;StoreAccount(acct1);Involves disk I0StoreAccount(acct2);Involves disk I0accountacctIdl一Signa1(); 一accountacctId2一Signa1();return OK;24 假定一个程序有三个线程 Threadl

11、,Thread2,Thread3,它们共享一个计数器变量 count,程序代码如下所示:int count=10;Semaphore Lock=1Threadl()while(1) do somethingLock;Wait();count+:LockSigna1() ;Thread2()while(1) do somethingLockWait()count 一一:LockSigna1() ;Thread3()while(1) do somethingLockWait();printf(“d”,count);LockSigna1() ;25 多次运行该程序会得到相同的结果吗?原因是什么?26

12、 如果我们想让该程序始终输出同一结果,并且 Thread1 和 Thread2 可以以任意次序进入临界区。请修改下述程序使其满足该要求。27 设有一缓冲池 P,P 中含有 10 个可用缓冲区,一个输入进程将外部数据读人P,另有一个输出进程将 P 中数据取出并输出( 如下图所示)。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的设置。 28 某系统如此定义 PV 操作: P(S) S=S 一 1: 若 SO,本进程进入 S 信号量等待队列的末尾;否则,继续执行。 V(S) S=S+1; 若 S0,释放等待队列中末尾的进程,否则继续运行。 现有 4 个进

13、程 P1,P 2,P 3,P 4 竞争使用某一个互斥资源( 每个进程可能反复使用多次),试用上面定义的 PV 操作正确解决 P1,P 2,P 3,P 4 对该互斥资源的使用问题。29 如下图所示,有红客、黑客两组人员需要过河。河上有船,但是每次只能乘坐4 个人,并且每次乘客满员才能开船,到河对岸后空船返回。由于某种原因,过河时船上不能同时有三个红客、一个黑客或者一个 A 红客、三个 B 黑客的组合( 即其他组合是安全的)。请编写程序,用 PV 操作正确解决红客、黑客过河问题,并说明所设置的信号量及其初值。 29 一个无红绿灯的十字路口可以从四个方向来车,每个方向的车在通过这个十字路口前都会先在

14、自己方向的停车线上停一下,然后按从每个方向的车到达停车线的先后严格顺序通过十字路口,用 PV 操作实现这一机制,有以下要求:30 说明你的设计思想。31 信号量及其他变量的定义和初值。32 写出程序。33 证明不会出现死锁。34 如何用 PV 操作实现进程互斥?34 有 3 种资源 A(17)B(5)C(20),5 个进程 P1,P 2,P 3,P 4,P 5,初始时刻的系统状态: 35 初始时刻是否是安全状态?给出安全序列。36 如果 P2 请求资源 (0,3,4)能否实施资源分配?37 在(2)的条件下, P4 请求(2,0,1)能否实现资源分配 ?为什么?38 一个系统具有 150 存储

15、单元,在 T0 时刻系统按下表所示分配给 3 个进程。 对下列请求应用银行家算法分别分析判定是否安全? 第四个进程 P4 到达,最大需求 60 个存储单元,当前请求分配 25 个单元。 第四个进程 P4 到达,最大需求 50 个存储单元,当前请求分配 35 个单元。 如果是安全的,请给出一个可能的安全序列;如果是不安全的,请说明理由。进程管理模拟试卷 9 答案与解析一、单项选择题1 【正确答案】 A【试题解析】 各进程采取互斥的方式实现共享的资源称作临界资源。属于临界资源的设备有的是物理设备,有的是变量,数据等都可以被若干个进程共享,也属于临界资源。【知识模块】 进程管理2 【正确答案】 C【

16、试题解析】 进程中访问临界资源的那段代码称为临界区。若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。【知识模块】 进程管理3 【正确答案】 C【试题解析】 同步遵循如下四个基本原则:(1)空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。(2)忙则等待:当己有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。(3)有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。 (4)让权等待:当进

17、程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。【知识模块】 进程管理4 【正确答案】 C【试题解析】 互斥是一种间接制约关系,如果一个进程进入了临界区,那么另一个进程就必须等待占用临界资源的进程退出使用临界资源以后,才能进入临界区。【知识模块】 进程管理5 【正确答案】 C【试题解析】 本题考查进程的并发执行。本题中两个进程不能正确地工作,运行结果有多种可能性,见下面说明:1)x: =1; 2)y:=0; 3)if x=1then y:=y+1; 4)z:=y; 5)x:=0 ; 6)t:=0; 7)ifx=1 then t:=t+2; 8)u:=t。不确定的原因是由于

18、使用了公共的变量 x,考查程序中与 x 变量有关的语句共四处。若执行顺序为:1)2)3)4)5)6)7)8)时,结果是y=1,z=l,t=2,u=2,x=0;当并发执行过程为:1)2)5)6)3)4)7)8)时,结果是y=0,z=0,t=2,u=2,x=0;若执行顺序为:5)6)7)8)1)2)3)4)时,结果是y=1,z=1,t=2,u=2,x=1;当并发执行过程为:5)6)1)2)7)8)3)4)时,结果是y=1,z=1,t=0,u=0,x=1。可见结果有多种可能性。【知识模块】 进程管理6 【正确答案】 A【试题解析】 步骤中,进程 Pi 判断 flagj变量的值是否等于 FIASE,如

19、果不相等,表明进程 Pi 一直占用着临界资源, Pi 就一直执行这个 while 循环语句直到flagj的值等于 FLASE 才退出;这一步骤与正好相同,都属于进入区。 和是进入临界区之间将自身对应的 flagn数组的元素值改成 TRUE。在运行结束后,进程会退出临界区,并将 flagn数组的元素值改成 FAISE,允许其他进程进入临界区。通过以上的讲解,可以知道,双标志预先检查不用交替进入临界区,可以连续使用。但是这种方法会导致两个进程同时进入临界区。临界资源不被任何一方占用时,当两个进程同时执行与 ,又同时执行 与就会导致同时进入临界区。这违背了“忙时等待”规则。【知识模块】 进程管理7

20、【正确答案】 A【试题解析】 步骤中进程 Pi 将自己的 flagi的值设置为 TRUE 表明进程 Pi 要进入临界区,这一步骤与正好相同,都属于进入区。进程 Pi 判断 flagj变量的值是否等于 FIASE。在运行结束后,进程会退出临界区,并将 flagn数组的元素值改成 FAlSE,允许其他进程进入临界区。通过以上的讲解,可以知道,双标志预后检查法中,当两个进程同时进入临界区时,他们分别将自己的标识 flagi(flagj)置为 TRUE 同时检测对方的状态,发现对方也要进入临界区时就等待对方先进。这样一来,当双方同时要进入临界区时,就会都停下来等待对方,导致都不能进入临界区,出现“饥饿

21、”现象。【知识模块】 进程管理8 【正确答案】 D【试题解析】 PV 操作是一种低级进程通信原语,是不能被打断的。【知识模块】 进程管理9 【正确答案】 C【试题解析】 每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的可轮流分享的资源)。使用时,每次只准许一个进程进入临界区,一旦一个进程进入临界区之后,不允许其他进程同时进入。进程进入临界区的调度原则有以下几条:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待。进入临界区的进程要在有限时间内退出,

22、以便其他进程能及时进入自己的临界区。如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。【知识模块】 进程管理10 【正确答案】 C【试题解析】 本题考查并发进程的特点,并结合信号量进行同步的原理。由于进程并发,所以,进程的执行具有不确定性,在 P1, P2 执行到第一个 PV 操作前,应该是相互无关的。现在考虑第一个对 1 的 PV 操作,由于进程 P2 是 P(s1)操作,所以,它必须等待 P1 执行完 V(s1)操作以后才可继续运行,此时的 x,y,z 的值分别为 3,3,4,当进程 P1 执行完 V(s1)后便在 P(s2)上阻塞,此时 P2 可以运行直到V(s2

23、),此时的 x,y,z 值分别为 5,3,9,进程 P1 继续运行直到结束,最终的x,y,z 值分别为 5,12, 9。【知识模块】 进程管理11 【正确答案】 A【试题解析】 例如当 P0 执行完语句 turn:=一 1,刚好要进入临界区时,CPU 又调度 P1 执行,P 1 能够顺利进入临界区,不能满足互斥。当 P0 执行完临界区时,CPU 调度 P1 执行,P 1 在 retry 循环,CPU 调度 P0 执行,P 0 继续执行,重复以上过程,会导致 P1 饥饿。【知识模块】 进程管理12 【正确答案】 D【试题解析】 高级语言中的全程变量不起作用。【知识模块】 进程管理13 【正确答案

24、】 D【试题解析】 管程的组成:(1)局部于管程的共享变量说明。(2)对该数据结构进行操作的一组过程。(3)对局部于管程的数据设置初始值的语句。此外,还须为管程赋予一个名字。【知识模块】 进程管理14 【正确答案】 B【试题解析】 死锁的定义:两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。【知识模块】 进程管理15 【正确答案】 D【试题解析】 产生死锁的原因:(1)竞争资源。当系统中供多个进程共享的资源数目不足以满足诸进程的需要时,会引起诸进程对资源

25、的竞争而产生死锁。(2)进程间非法的推进顺序。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。【知识模块】 进程管理16 【正确答案】 B【试题解析】 死锁的必要条件:(1)互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他 OS 进程请求该资源,则请求者只能等待,直至占有该资源的进程用毕释放。(2)不可剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。 (3)请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有,此时请求进程阻塞,但又对自己已

26、获得的其他资源保持不放。 (4)环路条件:指在发生死锁时,必然存在一个进程和资源的环形链。【知识模块】 进程管理17 【正确答案】 A【试题解析】 预防死锁是一种较简单和直观的事先预防的方法。通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛使用。但由于所施加的限制条件往往太严格,因而可能会导致系统资源利用率和系统吞吐量降低。【知识模块】 进程管理18 【正确答案】 C【试题解析】 避免死锁是指在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。这种方法只需事先施加较弱的限制条件,便可获得较高的资源

27、利用率及系统吞吐率,但在实现上有一定的难度。【知识模块】 进程管理19 【正确答案】 D【试题解析】 所谓安全状态,是指系统能按某种进程顺序(P 1,P 2,P 3),为每个进程 Pi 分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。不是所有的不安全状态都会转为死锁状态,但系统进入不安全状态后,便有可能进入死锁状态;反之,只要系统处于安全状态,系统便可避免进入死锁状态。【知识模块】 进程管理20 【正确答案】 B【知识模块】 进程管理21 【正确答案】 B【试题解析】 饥饿是系统并没有死锁,但至少有一个进程被

28、无限期地推迟。饥饿不同于死锁。【知识模块】 进程管理22 【正确答案】 A【试题解析】 系统死锁的可能原因主要是时间上和空间上的。时间上由于进程运行中推进顺序不当,即调度时机不合适,不该切换进程时进行了切换,可能会造成死锁;空间上的原因是对共享资源分配不当,互斥资源部分分配又不可剥夺,极易造成死锁。那么,为什么系统资源不足不是造成死锁的原因呢?系统资源不足只会对进程造成饥饿,例如,某系统只有 3 台打印机,若进程运行中要申请 4 台,显然不能满足,该进程会永远等待下去。如果该进程在创建时便声明需要 4 台打印机,那么操作系统立即就会拒绝,是不会创建该进程的。一般地,系统由于部分分配,剩余资源不

29、足时,可能会造成死锁,这实际上是资源分配不当的一种表现。不能以系统资源不足来描述剩余资源不足的情形。【知识模块】 进程管理23 【正确答案】 C【试题解析】 死锁的定义:两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。死锁的起因: (1)互斥条件; (2) 不可剥夺条件; (3) 部分分配; (4) 环路条件。【知识模块】 进程管理二、综合题24 【正确答案】 该程序存在危险。如果出现 acct1 一balance amount 的情况,程序退出却没有解

30、除对账户的锁定。修改方法:if(acct1 一balanceamount) AccountacctId1一Signal();AccountacctId2一Signal();return ERROR; 【知识模块】 进程管理【知识模块】 进程管理25 【正确答案】 不会有相同的结果,因为三个线程本身都是无限循环的。因此,它们都会影响其他的线程进入临界区。【知识模块】 进程管理26 【正确答案】 如果希望 thread1 和 thread2 可以以任意序列进入临界区,应该让无限循环的设置在主程序中,线程中取消无限循环。修改:while(1)任意的调用次序Threadl() do something

31、LockWait();Count+:LockSignal() ;Thread2()do somethingLockWait();Count 一一;LockSignal() ;【知识模块】 进程管理27 【正确答案】 (1)设置信号量 mutex,empty,full 初值,mutex=1,empty=10,full=0(2)设置 wait,signal 操作如下。 【知识模块】 进程管理28 【正确答案】 假设:s=1 为竞争使用的互斥资源。 P 1 活动 P 2 活动 P(S) P(S) 活动 活动 V(s) V(s) P3 活动 P 4 活动 P(s)P(S) 活动 活动 V(s) V(s

32、)【知识模块】 进程管理29 【正确答案】 m=4 信号量,初始值为 4Embark(A) 登船P(m);Aembark();Sail() 开船go( );V(m);V(m);V(m);V(m); 算法:while(true)if(t=O)t=4; 记录已经登船人数i=0; 记录红客登船人数,4 时不允许同类再登船j=0; 记录黑客登船人数,4 时不允许同类再登船while(team hasnext()处理等候队列ready=teamnext();if(ready=A)if(i=4)continue; 防止 3 和 1 的情况elset 一一:j+;Embark(ready);if(i=3(i

33、=2&j=1)j=4; 防止 3 和 1 的情况if(j=3(j=2&i=1)i=4; 防止 3 和 1 的情况if(t= =0)Sail();break;teamreInit() ; 整理等候队列【知识模块】 进程管理【知识模块】 进程管理30 【正确答案】 将十字路口的中心看成是临界区,每次只能接收一辆车进入这个区域。到达停车线的车用 P 操作申请进入临界区,如果临界区有车则等待一个 V操作来唤醒。离开临界区的车用一个 V 操作来释放对临界区的拥有权,同时通知最早进行等待的汽车进人临界区。【知识模块】 进程管理31 【正确答案】 说明:m=1,a=1,b=1,c=1,d=1,m 表示临界区

34、信号量,ad表示各个方向是否有车在等待。Pro(i)(i=ad)表示某个方向的操作。【知识模块】 进程管理32 【正确答案】 程序:while(true)Pro(a);Pro(b);Pro(c);Pro(d);Pro(i)P(i);P(m);pass;V(m);V(i);【知识模块】 进程管理33 【正确答案】 因为 a d 之间并没有联系因此不会出现交叉等待的情况。即不满足死锁出现的其中一个必要条件循环等待,故不会出现死锁。【知识模块】 进程管理34 【正确答案】 P 操作和 V 操作是不可中断的程序段,称为原语。用 PV 原语实现进程的互斥:由于用于互斥的信号量 sem 与所有的并发进程有

35、关,所以称为公有信号量。公有信号量的值反映了公有资源的数量。只要把临界区置于 P(sem)和 V(sem)之间,即可实现进程间的互斥。就像火车中的每节车厢只有一个卫生间,该车厢的所有旅客共享这个公有资源:卫生间。所以旅客间必须互斥进入卫生间,只要把卫生间放在 P(sem)和 V(sem)之间,就可以到达互斥的效果。【知识模块】 进程管理【知识模块】 进程管理35 【正确答案】 由题目所给出的最大资源需求量和已分配资源数量,可以计算出T0 时刻各进程的资源需求量 Need。Need=最大资源需求量。 初始时刻,系统处于安全状态,存在安全序列:P 5,P 4,P 3,P 2,P 1。【知识模块】

36、进程管理36 【正确答案】 在 T0 时刻若进程 P2 请求资源(0,3,4),因请求资源数(0,3,4)剩余资源数(2,2,3) ,所以不能分配。【知识模块】 进程管理37 【正确答案】 在(2)的基础上,若进程 P4 请求资源 (2,0,1),按银行家算法进行检查: P 4 请求资源 (2,0,1)P 4 资源需求量(2,2,1) P 4 请求资源(2,0,1)剩余资源数(2 ,3,3) 分配资源后,系统剩余的资源数量为(0,3,2),不能分配给任意一个进程,而且 P4 进程也无法继续执行,因此,系统不存在安全序列,不会响应 P4 的请求。【知识模块】 进程管理38 【正确答案】 根据题意

37、,在 Tn 时刻,系统剩余的存储单元 Available 为(150 一2540 一 45),即 40。 (1)P 4 的当前请求量 request4 为 25,小于它的最大需求量 60和 Available(40)。故可为它试行分配资源,分配后的新状态如下表所示: 对上述状态进行安全性检查,此时,能找到一个安全序列 3,P 4,P 1,P 2,系统处于安全状态,故可为 P4 分配资源。 (2)P4 的当前请求量 requestd 为 35,分别小于它的最大需求量 50 和 Available(40)。故可为它试行分配资源,分配后的新状态如下表所示:对上述状态进行安全性检查,由于此时系统的剩余资源数量 Available(5)已无法满足任一进程对资源的需求量,故新状态不安全,系统不能为 P4 分配上述资源。【知识模块】 进程管理

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1