操作系统第3章练习题.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第3章练习题操作系统第3章练习题

第3章 处理机调度与死锁 3.1 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)0(对所有的i) max(1)+…max(i)+…+max(n) m+n 如果在这个系统中发生了死锁,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源应该全部分配出去,即 alloc(1)+…alloc(i)+…+alloc(n)=m 因此 need(1)+…need(i)+…+need(n)=max(1)+…max(i)+…+max(n)-alloc(1)+…alloc(i)+…+alloc(n)m+n-m 即 need(1)+…need(i)+…+need(n)n 这样,至少必须存在一个进程,其need(i)≤0,这显然与题意不符,所以该系统不可能因竞争该类资源而进入死锁状态。 (3)此时系统可能发生死锁,如n=4,m=3时,若P1的Max为0,而其余三个进程的Max都为2,则仍然满足最大需求量之和(即6)小于m+n(即7)的要求,但当除P1以外的其余三个进程各得到一个资源时,这三个进程将进入死锁状态。 【例2】设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A资源的数量为10,B资源的数量为5,C资源的数量为7。在T0时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。 Max Allocation Need Available A B C A B C A B C A B C P0 P1 P2 P3 P4 7 5 3 0 1 0 7 4 3 3 3 2 3 2 2 2 0 0 1 2 2 9 0 2 3 0 2 6 0 0 2 2 2 2 1 1 0 1 1 4 3 3 0 0 2 4 3 1 (1)T0时刻是否为安全状态?若是,请给出安全序列。 (2)在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配? (3)在②的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配? (4)在③的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配? 答:(1) 利用银行家算法对T0时刻的资源分配情况进行分析,可得此时刻的安全性分析情况: Work Need Allocation Work+Allocation Finish A B C A B C A B C A B C P1 3 3 2 1 2 2 2 0 0 5 3 2 True P3 5 3 2 0 1 1 2 1 1 7 4 3 True P4 7 4 3 4 3 1 0 0 2 7 4 5 True P2 7 4 5 6 0 0 3 0 2 10 4 7 True P0 10 4 7 7 4 3 0 1 0 10 5 7 True 可知,在T0时刻存在着一个安全序列{P1、P3、P4、P2、P0},故系统是安全的。 (2)P1请求资源Request(1,0,2),系统按银行家算法进行检查: Request(1,0,2)≤Need(1,2,2) Request(1,0,2)≤Available(3,3,2) 系统试探分配,修改相应的向量,形成的资源变化情况如下表所示: Max Allocation Need Available A B C A B C A B C A B C P0 7 5 3 0 1 0 7 4 3 2 3 0 P1 3 2 2 3 0 2 0 2 0 P2 9 0 2 3 0 2 6 0 0 P3 2 2 2 2 1 1 0 1 1 P4 4 3 3 0 0 2 4 3 1 在利用安全性算法检查此时系统是否安全,如下表所示: Work Need Allocation Work+Allocation Finish A B C A B C A B C A B C P1 2 3

文档评论(0)

pkaokqunw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档