📄 银行家算法帮助文件.txt
字号:
银行家算法其实是很普通的但是比较经典的算法,每本OS的书上都讲的,主要用来防止产生死锁的,
形象的讲:银行发放贷款(对不同的客户,有分期贷的)不能使有限可用资金匮乏而导致整个银行无
法运转,也就是说每次请求贷款时,银行要考虑他能否凭着贷款完成项目还清贷款使银行运转正常,
(借用flyingcoolhwak写的步骤)
令Request(i)是进程P(i)请求向量,如果Request(i)[j]=k,则进程P(i)希望请求j类资源k个。
算法步骤如下:
1、如果Request(i)>Need(i)则出错(请求量超过申报的最大量),否则转2、
2、如果Requdst(i)>Available则P(i)等待,否则转3、
3、系统对P(i)所请求的资源实施试探分配,更改数据结构中的数值
4、Available<-Available-Request(i)
Allocation(i)<-Allocation(i)+Request(i)
Need(i)<-Need(i)-Request(i)
5、执行安全性算法(如下),如果是安全的则承认试分配,否则废除试分配,让进程P(i)等待
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -