什么是银行家算法
来源:互联网 发布:java离线地图开发 编辑:程序博客网 时间:2024/06/08 16:07
1.首先是baidu的一段解释,不过看完后,很模糊的感脚。
银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。
银行家算法
要解释银行家算法,必须先解释操作系统安全状态和不安全状态。
安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和。
通过银行家算法得到安全序列
2.请教了大学的一个小妹,结合例子。才有了比较清晰的理解。
假设系统中有3类互斥资源R1,R2,R3。初始可用资源分别为9,8,5。
系统开始5个进程P1......P5。然后通过银行家算法得到安全序列。
进程资源占用如下图:
计算方法如下图:
哈哈,说了半天,我才理解。。
要西~!完成了一天最后的学习~!让我做个美梦~!
0 0
- 什么是银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 银行家算法
- 更新研发进度
- AVL C++代码
- 微内核和单内核
- hibernate学习基础总结
- visual studio 2010 express for windows phone注册码
- 什么是银行家算法
- Hdu-4632 Palindrome subsequence DP
- 程序猿进化史——质数再练习
- 游戏框架其九:灯光和材质( Lights and Material )
- AVL 另一种实现方法
- guhuiti
- 将n个整数前面的数据后移m位
- 使用SharePoint自带的Workflow(一) 开启workflow
- 快速选择(quick select) + 线性时间选择(linear-time select) - 求出n个数中第k大的数