计算机操作系统(关于判断死锁的一个题目)

设有7个简单资源:A、B、C、D、E、F、G。其申请命令分别为a、b、c、d、e、f、g;释放命令分别为a-、b-、c-、d-、d-、f-、g-;又设系统中有P1、P2、... 设有7个简单资源:A、B、C、D、E、F、G。其申请命令分别为a、b、c、d、e、f、g;释放命令分别为a-、b-、c-、d-、d-、f-、g-;又设系统中有P1、P2、P3三个进程,其活动分别为:
P1活动: a b a- b- e f g e- f- g-
P2活动: b c b- c- d a d- a-
P3活动: c d c- d- e g f e- f- g-
试分析当P1、P2、P3并发执行时,是否有发生死锁的可能性,并说明原因。
展开
 我来答
丛英哲073
2010-06-11 · TA获得超过2424个赞
知道小有建树答主
回答量:650
采纳率:0%
帮助的人:511万
展开全部
解:不会有发生死锁的可能性。

在本题中,进程p1和p2都使用的资源集合是{a,b},由于进程p2在申请a之前已经释放了b,不存在占有b并且申请a的情况,所以进程p1和p2之间不满足死锁的四个必要条件,不会产生死锁;

进程p1和p3都使用的资源集合是{e,f,g},进程p1和p3都是先申请资源e,这两个进程同时申请资源,那么只能有一个进程先获得e,另一个进程将因为得不到e而阻塞,获得e的进程将进一步顺利获得资源f和g,从而运行结束,释放资源e,f和g,唤醒另一个进程运行。可见,进程p1和p3之间不会产生死锁;

进程p2和p3都使用的资源集合是{c,d},由于进程p2在申请d之前已经释放了c,不存在占有c并且申请d的情况,所以进程p2和p3之间不满足死锁的四个必要条件,不会产生死锁。

综上所述,当P1、P2、P3并发执行时,没有发生死锁的可能性。
创作者QPtmL2fLez
2020-02-17 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:27%
帮助的人:997万
展开全部
先来回顾一下你的题目
设有7个简单资源:a、b、c、d、e、f、g。其申请命令分别为a、b、c、d、e、f、g;释放命令分别为a-、b-、c-、d-、d-、f-、g-;又设系统中有p1、p2、p3三个进程,其活动分别为:
p1活动:
a
b
a-
b-
e
f
g
e-
f-
g-
p2活动:
b
c
b-
c-
d
a
d-
a-
p3活动:
c
d
c-
d-
e
g
f
e-
f-
g-
即便是三个进程同时活动,但是他们所竞争的资源只有在2个进程中存在。
p1,p2,p3同时活动时,资源集合是{a,b,c,d,e,f,g},但是对其中任意一个资源进行争夺的进程,只有两个。例如a资源是p1p2,b资源是p1p2,c资源是p2p3,d资源是p2p3,e资源是p1p3,f资源是p1p3,g资源是p1p3。所以只要考虑任意2个进程是否产生死锁就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式