- 52
- 0
- 约1.58万字
- 约 17页
- 2016-11-28 发布于湖北
- 举报
广东海洋大学学生实验报告书(学生用表)
实验名称实验三 死锁的避免(银行家算法)课程名称计算机操作系统课程号学院(系)专业班级学生姓名学号实验地点实验日期
实验三 死锁的避免――银行家算法
实验目的
掌握死锁产生的原因。
掌握银行家算法。
能使用高级语言模拟实现银行家算法。
相关知识介绍
参与死锁的进程最少是两个。
参与死锁的进程至少有两个已经占有资源。
参与死锁的所有进程都在等待资源。
参与死锁的进程是当前系统中所有进程的子集。
相关数据结构
可利用资源向量Available ,它是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源的数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而动态地改变。如果Available[j]=k,标是系统中现有j类资源k个。
最大需求矩阵Max,这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i][j]=k,表示进程i需要j类资源的最大数目为k。
分配矩阵Allocation,这是一个n×m的矩阵,它定义了系统中的每类资源当前分配到每一个进程的资源数。如果Allocation[i][j]=k,表示进程i当前已经分到j类资源的数目为k个。Allocation[i]表示进程i的分配向量。
需求矩阵Need,这是一个n×m的矩阵,用以表示每个进程还需要的各类资源的数目。如果Need[i][j]=k,表示进程i还需要j类资源k个,才能完成其任务。Need[i]表示进程i的需求向量。
上述三个矩阵间存在关系:Need[i][j]=Max[i][j]-Allocation[i][j];
银行家算法
Request是进程i的请求向量。Request[j]=k表示进程i请求分配j类资源k个。当进程i发出资源请求后,系统按下述步骤进行检查:
如果Request ≤Need[i],则转向步骤2;否则,认为出错,因为它所请求的资源数已超过它当前的最大需求量。
如果Request ≤Available,则转向步骤3;否则,表示系统中尚无足够的资源满足进程i的申请,进程i必须等待。
系统试探性地把资源分配给进程i,并修改下面数据结构中的数值:
Available = Available - Request
Allocation[i]= Allocation[i]+ Request
Need[i]= Need[i] - Request
系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。如果安全才正式将资源分配给进程i,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程i等待。
安全性算法
设置两个向量。
Work:它表示系统可提供给进程继续运行的各类资源数目,它包含m个元素,开始执行安全性算法时,Work = Available。
Finish:它表示系统是否有足够的资源分配给进程,使之运行完成,开始Finish[i]=false;当有足够资源分配给进程i时,令Finish[i]=true;
从进程集合中找到一个能满足下述条件的进程。
Finish[i]= = false;
Need[i]≤work;
如找到则执行步骤3;否则,执行步骤4;
当进程i获得资源后,可顺利执行直到完成,并释放出分配给它的资源,故应执行
Work = work + Allocation[i]
Finish[i]=true;转向步骤2;
若所有进程的Finish[i]都为true,则表示系统处于安全状态;否则,系统处于不安全状态。
实验内容
设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。
系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析。
程序框架已经给出,要求将安全性算法补充完整。
//***********************************************************************//
//* 实验三 死锁的避免――银行家算法 *//
//* *//
//*本程序需要预先设置三个文件:Available_list.txt,Max_list.txt,Allocation_list.txt *//
//* 各文件格式如下: *//
//* Available_list.txt *//
//* 3 //表示共有3类资源
您可能关注的文档
- 标准培训-DLT5210-2009标准理解与执行总汇.ppt
- 城市规划馆调研研究报告.ppt
- 第2章电气控制线路的基本原则和基本方法研究报告.ppt
- 别克君威广告策划方案总汇.doc
- 城市规划交通研究报告.ppt
- 冰城情牵温哥华总汇.ppt
- 第2章电子商务安全技术研究报告.ppt
- T-SPOT.TB实验技术2015研究报告.ppt
- 丙烯酸(酯)单体市场2014总汇.doc
- TTT课程开发与设计(讲义)V2.1研究报告.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 兰科植物促生菌筛选与人工栽培技术研究.pdf
- 氢氧化钠(片碱)MSDS安全技术说明书.docx
- 国家开放大学电大《成本会计》试题及答案.pdf
- 数学分析第四版下册课后习题答案.pdf
- 数学分析第四版下册课后习题答案.docx
- 2025年秋国家开放大学《商务英语3》形考任务参考答案.pdf
- Unit 2 Know your body Speed up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 2026年春季开学教师收心会校长发言:骏驰启新程,笃行育新人;凝心再聚力,实干谱新篇.docx VIP
- Unit 2 Know your body Start up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 空客A320飞行手册教程.doc VIP
原创力文档

文档评论(0)