- 28
- 0
- 约5.27千字
- 约 16页
- 2021-04-10 发布于山东
- 举报
精品文档
精品文档
PAGE
PAGE15
精品文档
PAGE
_
实验2.2 银行家算法
一、实验目的
死锁会引起计算机工作僵死,因此操作系统中必须防止。本实验的目的在于让学生独立的使用高级语
言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有
效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。
二、实验要求
设计有 n个进程共享 m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动
态的分配资源。
系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析;
三、数据结构
1
.可利用资源向量Available,它是一个含有m个元素的数组,其中的每一个元素代表一类可利用的
资源的数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而
动态地改变。如果Available(j)=k,标是系统中现有Rj类资源k个。
2
.最大需求矩阵Max,这是一个n×m的矩阵,它定义了系统中
n个进程中的每一个进程对
m类资源
的最大需求。如果Max(i,j)=k,表示进程i需要Rj类资源的最大数目为k。
3
.分配矩阵Allocation,这是一个n×m的矩阵,它定义了系统中的每类资源当前一分配到每一个进程
的资源数。如果Allocation(i,j)=k,表示进程i当前已经分到
Rj类资源的数目为k。Allocationi
表示进程i的分配向量,有矩阵
Allocation的第i行构成。
4
.需求矩阵Need,这是一个
n×m的矩阵,用以表示每个进程还需要的各类资源的数目。如果
Need
(i,j)=k,表示进程i还需要Rj类资源k个,才能完成其任务。Needi表示进程i的需求向量,由
_
矩阵Need的第i行构成。
上述三个矩阵间存在关系: Need(i,j)=Max(i,j)-Allocation (i,j);
四、银行家算法
Requesti是进程Pi的请求向量。Requesti
(j)=k表示进程Pi请求分配Rj类资源k个。当Pi发出资
源请求后,系统按下述步骤进行检查:
1
.如果Request
i≤Need,则转向步骤2;否则,认为出错,因为它所请求的资源数已超过它当前的最
大需求量。
2
.如果Request
i≤Available
,则转向步骤
3;否则,表示系统中尚无足够的资源满足
Pi的申请,Pi
必须等待。
3
.系统试探性地把资源分配给进程
Pi,并修改下面数据结构中的数值:
Available=Available-Request
i
Allocation=Allocation
i
+Request
i
i
Needi=Need
i-Request
i
4.系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。如果安全才正式将资源分配给
进程Pi,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程
Pi等待。
_
假定系统有 5个进程(p0,p1,p2,p3,p4 )和三类资源(A,B,C),各种资源的数量分别为 10,5,7,在
T0时刻的资源分配情况如下图:
Max
Allocation
Need
Available
ABC
ABC
ABC
ABC
P0
7
5
3
0
1
0
7
4
3
3
3
2
(2
3
0)
P1
3
2
2
2
0
0
1
2
2
(3
0
2)
(0
2
0)
P2
9
0
2
3
0
2
6
0
0
P3
2
2
2
2
1
1
0
1
1
P4
4
3
3
0
0
2
4
3
1
五、安全性算法
1
.设置两个向量。
Work:它表示系统可提供给进程继续运行的各类资源数目,它包含
m个元素,开始执行安全性算法
时,Work=Available。
Finish:它表示系统是否有足够的资源分配给进程,使之运行完成,开始
Finish(I)=false;当有足
够资源分配给进程Pi时,令Finish(i)=true
;
2
.从进程集合中找到一个能满足下述条件的进程。
Finish(i)==false;
Needi≤work;
如找到则执行步骤 3;否则,执行步骤 4;
_
3.当进程Pi获得资源后,可顺利执行直到完成,并释放出分配给它的资源,故应执行
Work=work+Allocation
i
Finish
(i)=true
;转向步骤
2;
4.若所有进程的 Finish(i)都为true,则表示系统处于安全状态;否则,系统处于不安全状态。
_
六、 系统流程图
开始
输入资源数 m,及各类资源总数,初始化
输入进程数 n,
Y
i≤n
N
输入进程 i的最大需求向量
max≤资源
N
提
示
Y
错
误
i加1
初始化
您可能关注的文档
最近下载
- 2025年一级建造师风险登记册在项目全生命周期中的应用专题试卷及解析.pdf VIP
- 《美学原理概要》课件.ppt VIP
- 2025年演出经纪人演出项目融资退出机制设计与法律安排专题试卷及解析.pdf VIP
- 2025年互联网营销师文案的“网感”与“社交货币”打造专题试卷及解析.pdf VIP
- 2025年演出经纪人演出经纪法律责任与权利义务边界专题试卷及解析.pdf VIP
- 基于联邦学习的跨机构医疗数据协作研究框架.pdf VIP
- 股份公司境外公司管理办法.doc VIP
- 2026苏教版高考化学一轮复习第30讲 有机物推断与合成(学用).doc
- 职业道德考试及答案.doc VIP
- 工勤职业道德考试及答案.doc VIP
原创力文档

文档评论(0)