- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于进程资源图PRG的进程死锁检测算法
基于进程资源图PRG的进程死锁检测算法
第23卷第9期
2006年9月
计算机应用与软件
ComputerApplicationsandSoftware
Vo1.23,No.9
Sep.2006
基于进程资源图PRG的进程死锁检测算法
程昌品陈强陈文伟
(广东教育学院计算机科学系广东广州510303)
摘要给出了基于进程资源图的进程非阻塞的判定定理,进而给出了基于进程资源图的死锁检测算法,该算法提供了一种公式
化的验算方法,可操作性强.
关键词进程死锁检测算法
TESTALGoIUTHMoFPRoCESSDEADLoCKBASED
oNPRoCESSRESoURCEDIAGRAM
ChengChangpinChenQiangChenWenwei
(DepartmentofComputerScience,GuangdongInstituteofEducation,GuangzhouGuangdong510303,China)
AbstractThispapergivesanonblockdecisiontheoremofprocessthatbasedonprocessresourcediagram,andgive~atestalgorithmof
deadlockthatbasedontheprocessresourcediagram.Thealgorithmofferscheckingcomputationsmethodofformulation,itsoperabilityisbet?
ter.
KeywordsProcessDeadlockTestalgorithm
1引言
在操作系统环境下,死锁是多个进程竞争资源而形成的一
种僵持局面.我们平常说的死锁一般指进程死锁,它至少涉
及两个进程.操作系统中虽然有死锁进程出现,但系统中其他
进程仍然正常运行.如果系统中所有进程都进入死锁,即没有
一
个进程能前进的话,称为系统死锁.
产生死锁的根本原因有二:一是系统内的资源数量不足,因
为倘若资源数量无限的话,进程之间就不会发生资源竞争,当然
不会形成互不相让的僵持局面.二是进程推进的顺序不当而导
致死锁.
显然,任何一个计算机系统的资源都是有限的,资源竞争是
不可避免的.换句话说,死锁的根本原因一是固有的,进程的特
性之一就是异步性,因此无法预知各进程的推进速度,也就无法
控制进程之间的推进顺序;死锁的根本原因二也是固有的,本文
仅研究由于系统资源不足而引起的死锁及死锁检测问题.在文
献[1,2,4]中给出了一种基于进程资源图的死锁检测的文字描
述算法,但文字描述冗长,思路不够清晰直观;下面对此进行改
进,给出的基于进程资源图的死锁检测算法操作性强,检测思路
简洁明了.
2系统状态与进程资源图PRG
死锁本身是一种与时间有关的错误,研究系统的瞬间状态,
有利于锵决死锁问题;由于操作系统中与死锁有关的因素通常
只包括进程,资源及进程对于资源的操作(即请求,获得和释
放),所以操作系统的状态可描述为系统中各种资源的分配状
态.该系统状态应该是而且只能是由进程对资源的请求,获得
或释放而改变.在某一系统状态下,只要进程不是处于阻塞状
态,它就可以改变系统状态.反之,如果一个进程不能改变系统
的状态,则该进程在此状态下是阻塞的.
下面给出进程资源图的形式化
定义.
R.
定义1令PRG:(Ⅳ,E),顶点Ⅳ
=
PUR,P={Pl,…,P},R={Rl,…,
},边E=lt;P.,尺,gt;或lt;尺,Pfgt;,这
里P,P为进程名;R一,R为
图1进程资源图PRG
资源(类)名;lt;P,尺,gt;表示存在1条从顶点P到顶点尺的有
向边,意思是进程P申请尺类资源中的1个资源;lt;尺,,P.gt;表
示从顶点尺,到顶点P有1条有向边,意思是尺类中1个资源
已分配给进程P;lt;尺,Pigt;简称分配边,lt;P,尺,gt;简称请求
边;用方框代表资源,用圆代表进程,这样得到的图称为进程资
源图,如图1所示.则有:
P={P】,P2I,R:{R】,R2I
E:{lt;P】,R】gt;,lt;P】,R2gt;,lt;P2,R2gt;,lt;R】,P】gt;,
lt;Rl,P2gt;,lt;R2,Plgt;,lt;R2,P2gt;}
若资源尺,有个单位,并用I(尺,P)l表示资源尺分配给
进程P的单位数,用l(P,)l表示进程P请求资源尺,的单位
数,则Wl=2,W2=3,l(Rl,P】)l=1,l(尺】,P2)l=1,l(R2,P】)
l=1,l(R2,P2)l:1,l(P】,R1)l=1,l(Pl,R2)l=1,
I(P2,R)I.0,I(P2,R2)I=1.
收稿日期:2005—09—19.本文受广东省普通高校自然科学研究项
目(
文档评论(0)