- 16
- 0
- 约5.48千字
- 约 7页
- 2020-10-08 发布于福建
- 举报
[操作系统] 银行家算法操作系统实验报告
实验目标
1. 理解银行家算法。
2. 掌握进程安全性检查的方法及资源分配的方法。
3. 加深了解有关资源申请、避免死锁等概念。
4. 体会和了解死锁和避免死锁的具体实施方法。
实验要求
编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家
算法,有效的防止和避免死锁的发生。
设计思路
1.银行家算法
在避免死锁的方法中,如果施加的限制条件较弱,有可能获得令人满意的系统性能。在该
方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态,便
可以避免发生死锁。
基本思想为:在分配资源之前,判断系统是否是安全的;若安全,才分配。它是最具代表
性的死锁算法,具体算法如下表示:
假设进程P 提出请求Request[i],则银行家算法按如下步骤进行判断:
1) 如果Request[i] =Need[i] ,则转向2 );否则出错。
2) 如果Request[i] =Available[i] ,则转向3 );否则出错。
3) 系统试探分配相关资源,修改相关数据:
Available[i]=Available[i]-Request[i];
Allocation[i]=Allocation[i]+Request[i];
Need[i]=Need[i]-Request[i];
4) 系统执行安全性检查,如安全,则分配成立;否则试探性分配资源作废,系统恢复原
状,进程进入等待状态。
根据以上银行家算法步骤,可得出如下图所示流程图:
2.安全性检查算法
安全性检查算法主要是根据银行家算法进行资源分配后,检查资源分配后的系统状态是否
处于安全状态之中。具体算法如下所示:
1) 设置两个工作向量Work=Available ,Finish=false;
2) 从进程集合中找到一个满足下述条件的进程;
Finish=false;
Need=work;
如果能够找到该进程,则执行3 ),否则,执行4 );
3) 假设上述找到的进程获得资源,可顺利执行,直至完成,从而释放资源。
Work=Work+Allocation;
Finish=true;
Goto 2);
4) 如果所有进程的Finish=true,则表示该系统安全,否则系统不安全,请求被拒。
5) 根据以上安全检查算法步骤,可得出如下图所示流程图:
主要数据结构
#include iostream.h
//////////////////////////////////////////////////////////////////////////
//全局变量定义
int Available[100]; //可利用资源数组
int Max[50][100]; //最大需求矩阵
int Allocation[50][100]; //分配矩阵
int Need[50][100]; // 需求矩阵
int Request[50][100]; //M 个进程还需要N 类资源的资源量
int Finish[50];
int p[50];
int m,n; //M 个进程,N 类资源
主要代码结构
/////////////////////////////////////////////////////////////////////////
//安全性算法
int Safe()
{
int i,j,l=0;
int Work[100]; //可利用资源数组
for (i=0;in;i++)
Work[i]=Available[i];
for (i=0;im;i++)
Finish[i]=0;
for (i=0;im;i++)
{
if (Finish[i]==1)
continue;
else
{
for (j=0;jn;j++)
{
if (Need[i][j]Work[j])
您可能关注的文档
最近下载
- 射线检验报告.pdf VIP
- 机械工程师(中级资格)试卷题库及答案.docx VIP
- 外国文学2知到智慧树期末考试答案题库2024年秋绍兴文理学院.docx VIP
- 高标准基本 农田项目施工总结报告教学教案.doc VIP
- 园林绿化养护合同(2025年小区).docx
- 人教版四年级数学下册第二单元观察物体(二)质量测评卷(含答案).pdf VIP
- 外国文学2智慧树知到期末考试答案章节答案2024年绍兴文理学院.docx VIP
- GB 55030-2022 建筑与市政工程防水通用规范.docx VIP
- 湘教版地理八年级下册 第六章 第一节 东北地区的地理位置与自然环境 课件.ppt
- 外国文学2知到智慧树期末考试答案题库2025年绍兴文理学院.docx VIP
原创力文档

文档评论(0)