- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
银行家算法实验报告.
计算机学院《操作系统》课程设计报告
设计题目:银行家算法的实现
姓名:
学号:
班级: 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
您可能关注的文档
- 银川阅海万家投资分析及可行性研究..doc
- 铝合金门窗技术手册..doc
- 银奖创业计划书参照..doc
- 银杏生物学属性及高产栽培技术..doc
- 银河投资早参110818..doc
- 银河磁体股票投资分析报告2..doc
- 银河西江河畔人工挖孔灌注桩施工方案..docx
- 银江智慧医疗整体解决方案分析..doc
- 银斌虎搜集整理十多种鱼头的详细做法【图解】..doc
- 银河资本市场内参2008年07月3日星期四..doc
- 2025年8月 在全市防汛工作视频会议上的讲话.docx
- 在2025年市委常委班子集中整治问题整改工作专题会议上的讲话+党课:以过硬作风护航高质量发展以实干担当书写新时代“赶考”答卷.pdf
- 国有企业2025年在“贯彻党中央决策部署和国企改革要求方面、全面从严治党责任落实方面、基层党组织建设方面、巡察整改长效机制建设四个方面”巡察整改专题民主生活会存在的原因分析.docx
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.pdf
- 在理论学习中心组巡视整改专题学习研讨会议上的讲话+在省委巡视反馈问题整改部署会上的讲话+工作领导小组会议上的讲话.pdf
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.docx
- 2025年国企理论学习中心组巡视巡察专题民主生活会会前学习研讨+(2025年四个方面)巡察整改专题民主生活会个人发言提纲.docx
- 局党组、宣传部、纪委监委关于2025年上半年意识形态工作总结及2025年下半年工作打算.pdf
- 4篇 2025年在学习贯彻《中华人民共和国监察法实施条例》研讨交流会上的发言.pdf
- 在市委理论学习中心组中央城市工作会议精神专题学习研讨会上的发言.+关于传达中央城市工作会议精神的讲话提纲.docx
最近下载
- E+H恩德斯·豪斯 Liquicap M FTI52电容液位开关操作手册.pdf VIP
- CNAS产品质量手册.docx VIP
- 食品安全管理体系培训ppt课件.pptx VIP
- 串联质谱技术新生儿遗传代谢病筛查讲义.ppt
- 体例格式12:任务7教学单元7工学一体化课程《windows服务器基础配置与局域网组建》之教学单元活动方案.docx VIP
- 2016年会计培训课件-《增值税会计处理规定》财会[2016]22号.ppt VIP
- 15MR201 城市道路-沥青路面 .docx VIP
- SHS 01030—2019 阀门维护检修规程.docx VIP
- 第10课 当代中国的法治与精神文明建设 教学课件(共29张PPT)——高中历史人教统编版选择性必修一.pptx VIP
- CJJ 143-2010 埋地塑料排水管道工程技术规范.docx VIP
文档评论(0)