《操作系统》ppt电子课件教案第七章死锁

《操作系统》ppt电子课件教案第七章死锁

ID:18700340

大小:408.50 KB

页数:42页

时间:2018-09-21

《操作系统》ppt电子课件教案第七章死锁_第1页
《操作系统》ppt电子课件教案第七章死锁_第2页
《操作系统》ppt电子课件教案第七章死锁_第3页
《操作系统》ppt电子课件教案第七章死锁_第4页
《操作系统》ppt电子课件教案第七章死锁_第5页
资源描述:

《《操作系统》ppt电子课件教案第七章死锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章死锁§1死锁的产生§2资源分配图及死锁定理§3预防死锁§4避免死锁§5检测与解除死锁§1死锁的产生假设系统中有这样一个资源集合R=(r1,r2,…rn),其中ri(i=1,2,…,n)为临界资源;又设有进程集合P=(p1,p2,…,pn),其中每个进程都至少要求使用R中的某两个资源,且以下面的方式要求资源:即每个进程pi都是先申请ri,后申请riMODn+1。如果进程pi在进程piMODn+1到达L1之前到达L2,那么pi就能获得它所要求的资源ri和riMODn+1,从而可以继续运行下去。但是,由于各进程都是

2、异步前进的,如果没有一个进程Pi先于进程PiMODn+1到达L1之前到达L2,即所有进程同时处于L1~L2之间,此时任一进程到达L2都将被阻塞,它们都在等待本集合中另一进程已占用但又无法释放的资源。于是进程集合P陷入了死锁。假设资源R(如内存)有m个分配单位,进程集合P=(p1,p2,…,pn)共享R,且m和n满足关系式2≤m≤n。如果各进程对R的申请和释放都以一个分配单位进行,并且均采取如下方式:当有m个进程均处于L1~L2之间时,由于R的m个单位已全部被占用,它们中的任一个到达L2时均要被阻塞。而其余n-m个进程将

3、在L1处被阻塞。于是进程集合P因共享资源R而陷入死锁。在进程通讯中曾说过,若不适当地使用P、V操作容易导致死锁。例如在生产崐者与消费者算法中,如果把生产者进程的两个P操作执行次序调换一下,即先执行P(mutex),后执行P(empty)。那么,当缓冲区已满且消费者不在临界区中,即有empty.v=0及mutexv=1。若此时生产者希望进入临界区,它先执行P(mutex),使mutexv=0,当它执行P(empty)时被阻塞。以后,当消费者执行P(mutex)也被阻塞。于是两个进程无限止地相互等待对方来唤醒自己,陷入了死

4、锁产生死锁的四个必要条件:(1)互斥条件:进程访问的是临界资源,即一个资源一次只能被一个进程所使用。(2)请求和保持条件:一进程在请求新的资源的同时,保持对某些资源的占有。(3)不剥夺条件:一个资源仅能被占有它的进程所释放,而不能被其他进程剥夺。(4)环路等待条件:存在一个进程的环路,环路中每一个进程占有着某个或某些资源,又在等待被环路中的另一个进程占有的资源。§2资源分配图及死锁定理首先,我们引入用来表示资源使用状态的资源分配图RAG(ResourcesAllocationGraph)。一个RAG可定义为一

5、个二元组,即RAG=(N,E),其中N是节点集合(nodes),E是有向边集合(edges)。N又包含两个子集合,N=(P,R),子集P={p1,p2,…,pm}是进程集合,每个元素pi表示一个进程,在图形中用矩形框表示;子集R={r1,r2,…rk}是资源集合,每个元素ri表示一类资源,在图形中用圆圈表示,某类资源可能有多个分配单位,这在图形中用圆圈中的小圆圈表示。边集E中的每个元素是pi→rj或rj→pi,这也可用有序偶表示,即〈pi,rj〉或〈rj,pi〉,其中pi∈P,rj∈R。若pi→rj∈E,则

6、在图形中存在一条从节点pi指向节点rj的有向边,称作请求边,它表示进程pi请求分配资源rj或rj中的一个单位;若rj→pi∈E,则在图形中存在一条从节点rj指向节点pi的有向边,称作分配边,它表示资源rj或rj中的一个单位已分配给了进程pi。当进程pi请求分配资源rj或rj的一个单位时,一条请求边被加入RAG中,只要这个请求是可满足的,则该请求边便立即转换成分配边;当进程pi释放了某个资源rj时,则删除RAG中相应的分配边。图7-1RAG示例·集合P、R、E分别为:·资源单位数为:·进程状态为:进程p1已占用了r2类资

7、源的一个单位,正在等待再获得r1类资源;进程p2已占用了r1类资源和一个单位的r2类资源,且正在等待获得r3资源。进程p3已占用了r3类资源。这里假定,在某个时刻系统中有一组进程使用一组资源的状态为S,RAG是状态S所对应的图,于是(1)若RAG中未出现任何环路,则S为非死锁状态,或称安全状态。(2)若RAG中出现了环路,且该环路中的各资源均为单单位资源(只有一个分配单位),则S为死锁状态。换言之,由若干单单位资源构成的环路,是S为死锁状态的充分必要条件。(3)若RAG中出现了环路,但该环路中的各资源不全为单单位资

8、源,则S不一定是死锁状态。换言之,由若干不全为单单位资源构成的环路,是S为死锁状态的必要条件但非充分条件。化简方法如下:(1)从RAG中找一个只有分配边的,或虽有请求边但该请求边能立刻转换为分配边(即该请求能立即得到满足)的非孤立节点pi,然后消去pi的全部有向边,即释放进程pi所占用的全部资源,使之成为孤立节点。

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

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

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