
计算机操作系统(关于判断死锁的一个题目)
设有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并发执行时,是否有发生死锁的可能性,并说明原因。 展开
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并发执行时,是否有发生死锁的可能性,并说明原因。 展开
2个回答
展开全部
解:不会有发生死锁的可能性。
在本题中,进程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并发执行时,没有发生死锁的可能性。
在本题中,进程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并发执行时,没有发生死锁的可能性。
展开全部
先来回顾一下你的题目
设有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个进程是否产生死锁就行了。
设有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个进程是否产生死锁就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询