本论文是一篇关于操作系统类论文查重,关于操作系统中进程死锁的相关毕业论文格式模板范文。免费优秀的关于操作系统及进程及资源方面论文范文资料,适合操作系统论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要:在多道程序系统中,虽可借助于多个进程的并发执行,来改善系统的资源利用率,提高系统的吞吐量,但由于系统中资源分配不当或进程间推进顺序非法可能发生死锁.死锁是不能完全避免的,只能尽可能的去完善操作系统中的各项功能体系的设计,减少死锁的发生概率.通过简单实例,从死锁产生的原因和条件出发,讨论了避免和解除死锁的几种方法.
关 键 词:死锁;银行家算法;进程;共享资源
中图分类号:TP316文献标识码:A文章编号:1009-3044(2012)01-0201-03
TheDiscussionofProcessDeadlockinOperatingSystem
ZHANGJun
(hulunbuirCollege,Hulunbuir021008,China)
Abstract:Althoughpeoplecanimprovetheusingrateofresourcesandthroughputofsystembymeansoftheconcurrencyofmultipleprocessesinmultiprogrammingsystem,deadlylockcanstilloccurduetoimproperresourceallocationandillegalexecutionsequence.Deadlylockisunavoidable.PeoplecanonlyimprovethedesignoftheallkindsoffunctionsarchitectureofOStodecreasetheoccurrenceofdeadlylock.Thethesisdiscussessomemeanstoavoidandreleasedeadlylockfromthereasonsandconditionsthroughsomesimpleexamples.
本文地址 http://www.sxsky.net/benkelunwen/060359011.html
Keywords:deadlylock,bankeralgorithm,process,sharingresourses
1死锁的引入
在计算机的许多专业课(如操作系统、数据库系统以及网络通信)中,由于进程的并发执行和资源的共享,当系统中资源分配顺序或者进程推进顺序不当时就会造成系统死锁.处于死锁状态的系统中,进程之间互相等待资源而永远不能继续向前推进,严重地影响了系统的可靠性.
在日常生活中经常会出现一种现象,图1给出了某一个街区交通死锁的情况,从图中可以看到四个街区的路口都被连续的车辆堵塞,使得各车辆无法再前进的状态,这四个街口正是车流相互竞争的共享资源,谁占据后都不愿意主动放弃,最后造成谁也不会释放自己占有的资源,谁也得不到所需资源,大家都处在相互等待中,形成所谓的死锁.
在操作系统中也有类似的情况.在两个或多个并发进程中,如果每个进程锁定了其他进程试图锁定的资源,此时会造成这些进程都想得到资源而又都得不到资源,永久阻塞,从而出现死锁.图2是两个进程发生死锁的例子(p1和p2是进程,s1和s2是共享资源),p1占有s1,p2占有s2,p1申请s2却申请不到,因为p2没执行完不会放弃s2,只能等待,p2申请s1也申请不到,因为p1没执行完不会放弃s1,只能等待,p1和p2互相等待永远不可能发生的事件,操作系统中这样的现象就是死锁.
2可以死锁的资源
每个用户进程要想得到执行可能获取或等待获取各种资源.以下类型的资源可能会造成阻塞,并最终导致死锁.
1)锁.等待获取资源(如对象、页、行、元数据和应用程序)的锁可能导致死锁.如图2所示,进程P1在S1上有共享锁(S锁)并等待获取S2的排他锁(X锁).进程P2在S2上有共享锁(S锁)并等待获取S1的排他锁(X锁).这将导致一个锁循环,其中,P1和P2都等待对方释放已锁定的资源.
2)工作线程.排队等待可用工作线程的任务可能导致死锁.如果排队等待的任务拥有阻塞所有工作线程的资源,则将导致死锁.例如,进程P1获取S1的共享锁(S锁)后,进入睡眠状态.在所有可用工作线程上运行的进程正尝试获取S1的排他锁(X锁).因为进程P1无法获取其他工作线程,所以无法执行完并释放S1的锁,这将导致死锁.3)内存.当并发请求等待获得内存,而当前的可用内存无法满足其需要时,可能发生死锁.例如,两个并发查询(Q1和Q2)作为用户定义函数执行,分别获取10MB和20MB的内存.如果每个查询需要30MB,而可用总内存10MB,则Q1和Q2必须等待对方释放内存,然后申请执行,这将导致死锁.
怎么写操作系统本科论文
播放:30962次 评论:4157人
4)用户资源.线程等待可能被用户应用程序控制的资源时,该资源将被视为外部资源或用户资源,并将按锁进行处理.
除了以上资源还有进程互斥体,查询语句等多种资源,这里不再列举.
3死锁产生的条件
3.1进程数条件
1)参与死锁的进程最少是两个;
2)参与死锁的进程至少有两个已经占有资源;3)