电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统实验 银行家算法

操作系统实验 银行家算法_第1页
1/6
操作系统实验 银行家算法_第2页
2/6
操作系统实验 银行家算法_第3页
3/6
实验三 银行家算法一、实验内容简要描述1. 实验目标:加深了解有关资源申请、避开死锁等概念,并体会与了解死锁与避开死锁得具体实施方法.要求编写与调试一个系统动态分配资源得简单模拟程序,观察死锁产生得条件 ,并采纳银行家算法,有效得防止与避开死锁得发生。2. 实验要求:银行家算法就是避开死锁得一种重要方法,本实验要求用高级语言编写与调试一个简单得银行家算法程序。用银行家算法实现资源分配.设计五个进程{p 0,p 1,p2,p 3,p4}共享三类资源{A,B,C}得系统,例如,{A,B,C}得资源数量分别为 1 0,5,7.进程可动态地申请资源与释放资源,系统按进程得申请动态地分配资源,要求程序具有显示与打印各进程得某一个时刻得资源分配表与安全序列;显示与打印各进程依次要求申请得资源号以及为某进程分配资源后得有关资源数据.二、报告主要内容1. 设计思路A、 设计进程对各在资源最大申请表示及初值确定。B、 设定系统提供资源初始状态。C、 设定每次某个进程对各类资源得申请表示。D、 编制程序,依据银行家算法,决定其申请就是否得到满足。2. 主要数据结构假设有 M 个进程 N 类资源,则有如下数据结构:M A X[M*N] M 个进程对 N 类资源得最大需求量AVAIL A BL E[N] 系统可用资源数ALL O CATIO N[M*N] M 个进程已经得到 N 类资源得资源量NEED[M*N] M个进程还需要 N 类资源得资源量银行家算法:设进程 I 提出请求 Req u est[N],则银行家算法按如下规则进行推断。(1)假如Re qu e st[N]〈=N EED[I,N],则转(2);否则,出错。(2)假如R eque s t[N]<=A V AILABL E,则转(3);否则,出错。(3)系统试探分配资源,修改相关数据:A V A I L A B LE=A V AILA B LE—REQU ESTAL LO CATI O N=A L L OC ATION+R E QUE S TN EED=NE E D-R EQ UEST(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。安全性检查:(1)设置两个工作向量 WORK=A V A I LABLE;FINISH[M]=FALSE(2)从进程集合中找到一个满足下述条件得进程,F INIS H[i]=FALS ENE ED<=W ORK如找到,执行(3);否则,执行(4)(3)设进程获得资源,可顺利执行,直至完成,从而释放资源。WORK=WORK+ALLOCA T IO NFIN I S H=TRUEGO TO 2(4)如所有得进程F inish...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统实验 银行家算法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部