os中死锁问题研究

os中死锁问题研究

ID:33934889

大小:248.25 KB

页数:4页

时间:2019-02-28

os中死锁问题研究_第1页
os中死锁问题研究_第2页
os中死锁问题研究_第3页
os中死锁问题研究_第4页
资源描述:

《os中死锁问题研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据2006年8月第4期(总第55期)济南职业学院学报JournalofJinanVocationalCollegeAug.2006No.4(Se,4alNo.55)OS中死锁问题研究孙泽宇(洛阳工业高等专科学校计算机系,河南洛阳471003)摘要:死锁问题是多用户操作系统的一个重要事件,是进程运行过程中对资源请求在时间上的冲突,通过对操作系统的瞬间状态研究,就可以避免死锁的发生。关键词:死锁;进程;操作系统;资源共享中图分类号:TP302文献标识码:A1引言在多道程序设计的计算机系统中,可能有多个进程一起竞争有限的资源,而这种竞争有时会导致计算机出死锁。所谓死锁就是多个进程竞争资源

2、而造成在时间上一种僵局。一般来说,如果一组进程都在等待某一事件的发生,而该事件必须由同组的其它进程来引发,则称该组进程处于死锁状态。时至今日,软件系统变得庞大复杂,系统资源的种类日益增多,特别是系统进程,用户进程的并发执行,相互通讯以及资源的动态申请等等,使得系统出现死锁的现象的可能性和频度大大增加。死锁的出现,给系统带来了极大的危害,使系统无法正常运行。为此,关于死锁问题的研究已成为操作系统理论的重要课题之一。它是设计、分析任何一个操作系统时必须认真考虑的一个问题。2产生死锁的原因产生死锁的原因可归结为两点,分别是竞争资源和进程间推进顺序非法。在竞争资源过程中,系统供多个进程共享的资源

3、如打印机、公用队列等,其数目不能满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。在进程问推进顺序不得当时也会引起死锁。例如,在请求和释放的顺序不得当,就会导致进程进入死锁。2.1可剥夺和非剥夺性资源系统把资源分成两类,一类是可剥夺性资源,是进程在获得这类资源后,该资源可以再被其他进程或系统剥夺。例如,优先权高的进程可以剥夺优先权低的进程的处理。另一类是不可剥夺性资源,当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自动释放。如打印机、扫描仪等。2.2竞争非剥夺性资源在系统中所配置的非剥夺性资源,由于它们的数量不能满足诸进程运行的需要,会使进程在运行过程中,因争夺这

4、些资源而陷入僵局进入死锁状态。例如,系统中只有一台打印机和一台扫描仪,分别用R。和R2代表,可供进程Pl和P2共享。如果P。已占用了打印机Ri,P2已占用了扫描仪R2。此时,若P2继续要求打印机,P2将阻塞;P1若要求扫描仪,P。也将阻塞。于是在P1与P2之间便形成了僵局,进入了死锁状态。2.3竞争临时性资源所谓临时性资源指的是由一个进程产生,被另一个进程使用暂短时间后便无用的资源,故也叫消耗性资源。它也可能引起死锁。如在进程之间通信时形成死锁的情况,Sl、S和%是临时性资源,进程Pl产生消息Sl,又要求从P3接收消息S;进程P3产生消息S3,又要求从进程P2接收其所产生的消息是;进程P

5、2产生消息S2,又要求接收进程Pl所产生的消息Sl。如果消息通信按下述顺序进行:P1..⋯-·Release($I);Request($3)⋯⋯P2:⋯⋯Release($2);Request(S1)⋯⋯作者简介:孙泽宇(19r77一),男,吉林长春人,洛阳工业高等专科学校计算机系助教。-50·万方数据P3:⋯⋯Release(S);Request(S)⋯⋯并不可能发生死锁,但若改成下述的运行顺序Pl:⋯⋯Release($3);Request(S『1)⋯⋯P2:⋯⋯Release(S1);Request(S)⋯⋯P3:⋯⋯Release($2);Request($3)⋯⋯则可能发生死锁

6、。3产生死锁的必要条件进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件。我们可以推算出产生死锁的四个必要条件。3.1互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程占用,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。3.2请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其它进程所占有,此时请求进程阻塞,但又对自已已获得的其它资源保持不放。3.3不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。3.4环路等待条件:指在发生死锁时,必然存在

7、一个进程——资源的环形链,即进程集合{P0,Pl,P2,P3,⋯Pn}中的Po正在等待一个Pl占用的资源;Pl正在等待P2占用的资源,Pn正在等待已被P0占用的资源。可以看出有死锁则必有环路,没有环路就必然没有死锁。原因环路是死锁的必要条件而不是充分条件。4死锁的预防与死锁的避免死锁的预防是采用某种策略,限制并发进程对资源的请求,从而使得产生死锁的必要条件在系统执行的任何时间都不满足。具体方法如下:4.1抢夺式分配:打破了资源的互斥

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。