- 913
- 0
- 约7.6千字
- 约 13页
- 2016-11-23 发布于北京
- 举报
2014银行家算法实验报告
计算机学院《操作系统》课程设计报告
设计题目:银行家算法的实现
姓名:
学号:
班级: 06网络工程班
完成日期: 2009年 6 月13 日
设计题目 银行家算法的实现 设计形式 独立完成 设计目的 1.加深了解有关资源申请、避免死锁等概念体会和了解死锁和避免死锁的具体实施方法。1.设计进程对各类资源最大申请表示及初值确定。2.设定系统提供资源初始状况。 3.设定每次某个进程对各类资源的申请表示。4.编制程序,依据银行家算法,决定其申请是否得到满足。本设计的目的是通过编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁地发生。要求如下:
(1)?模拟一个银行家算法;
(2)?初始化时让系统拥有一定的资源;
(3)?用键盘输入的方式申请资源;
(4)?如果预分配后,系统处于安全状态,则修改系统的资源分配情况;
(5)?如果预分配后,系统处于不安全状态,则提示不能满足请求,
设计的主要内容模拟实现动态资源分配。同时编写和调试一个系统动态资源的简单模拟程序,观察死锁产生的条件,并使用适当的算法,有效的防止和避免死锁的发生。
顾名思义是来源于银行的借贷业务,一定数量的本金要应多个客户的借贷周转,为了防止银行加资金无法周转而倒闭,对每一笔贷款,必须考察其是否能限期归还。在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。如果资源分配不得到就会发生进程循环等待资源,则进程都无法继续执行下去的死锁现象。
把一个进程需要和已占有资源的情况记录在进程控制中,假定进程控制块PCB其中“状态”有就绪态、等待态和完成态。当进程在处于等待态时,表示系统不能满足该进程当前的资源申请。“资源需求总量”表示进程在整个执行过程中总共要申请的资源量。显然,,每个进程的资源需求总量不能超过系统拥有的资源总数, 银行算法进行资源分配可以避免死锁.
1.银行家算法: 设进程i提出请求Request[n],则银行家算法按如下规则进行判断。 (1)如果Request[n]Need[i,n],则报错返回。 (2)如果Request[n]Available,则进程i进入等待资源状态,返回。 (3)假设进程i的申请已获批准,于是修改系统状态: Available=Available-Request Allocation=Allocation+Request Need=Need-Request(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。 2.安全性检查 (1)设置两个工作向量Work=Available;Finish[M]=False(2)从进程集合中找到一个满足下述条件的进程, Finish [i]=False Need=Work 如找到,执行(3);否则,执行(4) (3)设进程获得资源,可顺利执行,直至完成,从而释放资源。 Work=Work+Allocation Finish=True GO TO 2 (4)如所有的进程Finish[M]=true,则表示安全;否则系统不安全。
3.数据结构
#define False 0
#define True 1
#includeiostream.h
#includestring.h
#includestdio.h
#define False 0
#define True 1
int Max[100][100]={0};//各进程所需各类资源的最大需求
int Avaliable[100]={0};//系统可用资源
char name[100]={0};//资源的名称
int Allocation[100][100]={0};//系统已分配资源
int Need[100][100]={0};//还需要资源
int Request[100]={0};//请求资源向量
int temp[100]={0};//存放安全序列
int Work[100]={0};//存放系统可提供资源
int M=100;//作业的最大数为100
int N=100;//资源的最大数为100
void showdata()//显示资源矩阵
{
int i,j;
cout系统目前可用的资源[Avaliable]:endl;
for(i=0;iN;i++)
coutname[i] ;
coutendl;
for (j=0;jN;j++)
co
您可能关注的文档
- 2014辨析病句讲义.doc
- 2014辩论赛 活动策划.doc
- 2014辽宁华益企业管理咨询报告.doc
- 2014辖区主要灾害事故处置预案.doc
- 2014辅导员工作条例.doc
- 2014运动会准备工作.doc
- 2014迎新杯篮球赛策划书.doc
- 2014运行工区管理制度.doc
- 2014近代史大纲 读书报告.doc
- 2014运输管理实训报告.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 2026年深圳中考历史易混考点辨析试卷(附答案可下载) (1).docx VIP
- 锡安长老纪要1-24本.pdf VIP
- 2026届高考语文一轮复习:120个文言实词天天练(教师版) .docx
- 2026届高考语文二轮专题复习:整本书阅读:《论语》++课件.pdf VIP
- 外研版中考英语话题复习 居住环境.docx VIP
- 外研版中考英语话题复习:Protecting+the+earth.docx VIP
- 2026年安徽省亳州市辅警人员招聘考试试卷带答案.docx VIP
- 2025年中考生物考纲.docx VIP
- 主播话术 直播间话术技巧训练.pdf VIP
- 外研版中考英语一轮复习 话题7+Hygiene+and+Health+&+Food+and+Drink+&+Safety+and+First+Aid+导学案和作业.docx VIP
原创力文档

文档评论(0)