欢迎来到天天文库
浏览记录
ID:28686689
大小:34.00 KB
页数:3页
时间:2018-12-12
《forum14_f_148》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章作业题目:1、死锁的四个必要条件是彼此独立的吗?试给出最少的必要条件。 解:不时彼此独立的,第四个(循环等待条件)的条件蕴含了前三个条件的成立(互斥条件、不可剥夺条件、请求和保持条件)。最少的必要条件只有第四条,循环等待条件。2、考虑这样一种资源分配策略:对资源的申请和释放可以在任何时刻进行。如果一个进程的资源得不到满足,则考查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则把这些资源取出分给申请进程。例如,考虑一个有三类资源的系统,Available=(4,2,2)。进程A申请(2,2,1)
2、,可以满足;进程B申请(1,0,1),可以满足;若A再申请(0,0,1),则被阻塞(无资源可分)。此时,若C申请(2,0,0),它可以分得剩余资源(1,0,0),并从A已分得的资源中获得一个资源,于是,进程A的分配向量变成:Available=(1,2,1),而需求向量变成:Need=(1,0,1)。(1)这种分配方式会导致死锁吗?若会,举一个例子;若不会,说明死锁的哪一个必要条件不成立。(2)会导致某些进程的无限等待吗?答:(1)不会导致死锁,破坏了死锁的第三个请求和保持条件,由于等待资源而被阻塞的进程的资源,可以
3、被其他需要的进程剥夺。(2)会导致3、一个计算机系统有某种资源6个,供n个进程使用,每个进程至少需要2个资源。当n为何值时,系统不会发生死锁?解:N≤5时系统不会发生死锁。6个资源,每个进程至少需要2个资源,不发生死锁必须保证至少有1个进程可以得到所需的全部资源并执行完毕,因此N最大为5。4、某系统有同类资源m个,供n个进程共享。如果每个进程至少申请一个资源,且所有进程对资源的最大需求量之和小于(m+n),证明该系统不会发生死锁。解:设max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资
4、源量,alloc(i)表示第i个进程已分配的资源量,由题中条件可知:max(1)+…+max(n)=(need(1)+…+need(n))+(alloc(1)+…+alloc(n))5、执行完毕并释放它所占有的资源,与前面的假设矛盾,从而在这个系统中不会发生死锁。5、设系统有三种类型的资源,数量为(4,2,2)。系统中有进程P1、P2、P3按如下顺序请求资源;进程P1申请(2,2,1) 进程P2申请(1,0,1) 进程P1申请(0,0,1) 进程P3申请(2,0,0) 该系统按照死锁预防中破坏“不可剥夺”条件的方案二,对上述申请序列,给出资源分配过程。指出哪些进程需要等待资源,哪些资源被剥夺。进程可能进入无限等待状态吗?解:(1)资源分配过程:①P1申请(2,2,1),给P1分配(2,2,1),可用6、资源(2,0,1)②P2申请(1,0,1),给P2分配(1,0,1),可用资源(1,0,0)③P1再申请(0,0,1),资源不够分配,但缺少的资源也没有被等待进程占有,因此P1等待,可用资源不变④P3申请(2,0,0),资源不够分配,但缺少的资源被等待的进程P1占有,因此根据死锁预防中破坏“不可剥夺”条件的方案二,从已给P1分配的资源中剥夺走(1,0,0)给P3,满足P3要求,P1剩余(1,2,1)继续等待,可用资源(1,0,0)(2)这种方法会导致某些进程无限期的等待因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所7、拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。本例中如果再创建的进程总是只申请第1和第3类资源,总是占有系统所剩下的第1和第3类资源的全部且不阻塞,那么进程P1将会无限期等待。6、某系统当前有同类资源10个,进程P,Q,R所需资源总数分别为8,4,9。它们向系统申请资源的次序和数量如图8.14所示。(1)系统采用银行家算法分配资源,请给出系统完成第6次分配后各进程的状态及所8、占资源量。解:第6次分配后剩余资源2个进程占有资源进程状态完成任务尚需资源R2个等待7个P8个运行0个Q0个完成8个(2)在以后各次的申请中,哪次的申请要求可先得到满足?次序进程申请量次序进程申请量1R26Q22P47R33Q28P24P29R35R1图8.14习题6解:以后各次申请中,第8次进程R的申请要求可以先得到满足
5、执行完毕并释放它所占有的资源,与前面的假设矛盾,从而在这个系统中不会发生死锁。5、设系统有三种类型的资源,数量为(4,2,2)。系统中有进程P1、P2、P3按如下顺序请求资源;进程P1申请(2,2,1) 进程P2申请(1,0,1) 进程P1申请(0,0,1) 进程P3申请(2,0,0) 该系统按照死锁预防中破坏“不可剥夺”条件的方案二,对上述申请序列,给出资源分配过程。指出哪些进程需要等待资源,哪些资源被剥夺。进程可能进入无限等待状态吗?解:(1)资源分配过程:①P1申请(2,2,1),给P1分配(2,2,1),可用
6、资源(2,0,1)②P2申请(1,0,1),给P2分配(1,0,1),可用资源(1,0,0)③P1再申请(0,0,1),资源不够分配,但缺少的资源也没有被等待进程占有,因此P1等待,可用资源不变④P3申请(2,0,0),资源不够分配,但缺少的资源被等待的进程P1占有,因此根据死锁预防中破坏“不可剥夺”条件的方案二,从已给P1分配的资源中剥夺走(1,0,0)给P3,满足P3要求,P1剩余(1,2,1)继续等待,可用资源(1,0,0)(2)这种方法会导致某些进程无限期的等待因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所
7、拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。本例中如果再创建的进程总是只申请第1和第3类资源,总是占有系统所剩下的第1和第3类资源的全部且不阻塞,那么进程P1将会无限期等待。6、某系统当前有同类资源10个,进程P,Q,R所需资源总数分别为8,4,9。它们向系统申请资源的次序和数量如图8.14所示。(1)系统采用银行家算法分配资源,请给出系统完成第6次分配后各进程的状态及所
8、占资源量。解:第6次分配后剩余资源2个进程占有资源进程状态完成任务尚需资源R2个等待7个P8个运行0个Q0个完成8个(2)在以后各次的申请中,哪次的申请要求可先得到满足?次序进程申请量次序进程申请量1R26Q22P47R33Q28P24P29R35R1图8.14习题6解:以后各次申请中,第8次进程R的申请要求可以先得到满足
此文档下载收益归作者所有
点击更多查看相关文章~~