银行家算法ppt课件.ppt
《银行家算法ppt课件.ppt》由会员分享,可在线阅读,更多相关《银行家算法ppt课件.ppt(27页珍藏版)》请在三一办公上搜索。
1、计算机操作系统,银行家算法,2,死锁的“3W”,WhatWhyHow,什么是死锁?,为什么会发生死锁?,怎么解决死锁?,3,死锁的处理方法,(1)预防死锁:通过某些限制条件的设置,去破坏产生死锁的四个必要条件; (2)避免死锁:在资源的动态分配过程中,用某种方法去防止系统进入不安全状态; (3)检测死锁:及时检测死锁的发生,并确定与之相关的进程、资源,从而采取措施清除死锁; (4)解除死锁:撤消或挂起某些进程以回收一些资源,用于解脱另一些处于死锁的进程。,4,避免死锁银行家算法,设银行家有10万周转资金,P, Q, R分别需要8,3,9万元搞项目,如果P已申请到了4万,Q要申请2万,R要申请4
2、万.Q1:客户要求分期贷款,一旦得到每期贷款,就能够归还贷款Q2:银行家应谨慎的贷款,防止出现坏帐,什么是银行家问题?,银行家-操作系统 周转资金-系统资源 贷款客户-进程当某进程请求分配资源时,系统假定先分配给它,之后若能找到一个进程完成序列(安全序列),说明系统是安全的,可进行实际分配;否则,让申请者等待。,银行家算法的实现思想,5,银行家算法中的数据结构,6,银行家算法当Pi发出资源请求,分配一个Request向量然后系统按下述流程进行执行:,Requesti:是进程Pi的请求向量如果Requestij=K,表示进程i需要K个Rj类型的资源。,银行家算法实现过程,7,8,安全性算法实现过
3、程,安全性算法,两个向量:Work和FinishWork表示系统可提供给进程继续运行所需的各类资源数目(即在分配过程中,系统的可用资源数)。初始值 Work=Available;Finish表示系统是否有足够的资源分配给进程i,使之运行完成。初始值 Finishi:=false当有足够资源分配给进程时 Finishi:=true,9,10,假定系统中有五个进程P0, P1, P2, P3, P4和三类资源A, B, C,各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如下图所示。,7, 5, 33, 2, 29, 0, 22, 2, 24, 3, 3,0, 1, 02, 0, 03,
4、 0, 22, 1, 10, 0, 2,7, 4, 31, 2, 26, 0, 00, 1, 14, 3, 1,3, 3, 2,银行家算法实例,11,(1)T0时刻系统是否安全?执行安全性算法进行检查:, 向量初值 Work :Available(3, 3, 2); Finish i :false;(i0, 1, , 4), 在进程集合中找到 Need1(1, 2, 2) Work 且 Finish 1 false;,银行家算法实例,12,true,5 3 2,P1,13,true,7 4 3,5 3 2,14,true,7 5 3,7 4 3,15,true,10 5 5,7 5 3,16,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行家 算法 ppt 课件
链接地址:https://www.31ppt.com/p-1459268.html