您所在位置: 网站首页 / 文档列表 / 资产评估/会计 / 文档详情
银行家算法课设.doc 立即下载
上传人:王子****青蛙 上传时间:2024-09-08 格式:DOC 页数:15 大小:131KB 金币:6 举报 版权申诉
预览加载中,请您耐心等待几秒...

银行家算法课设.doc

银行家算法课设.doc

预览

免费试读已结束,剩余 5 页请下载文档后查看

6 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统实验报告(理工类)课程名称:银行家算法专业班级:计算机科学与技术统2学生学号:40学生姓名:林荣所属院部:计算机工程学院指导教师:李莉2015——2016学年第1学期金陵科技学院教务处制ﻬ银行家算法一、背景知识在系统运行过程中,对进程发出得每一个系统能够满足得资源申请进行动态检查,并根据检查结果决定就是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配。在分配资源时判断就是否会出现死锁,如不会死锁,则分配资源。死锁检测算法保存资源得请求与分配信息,利用某种算法对这些信息加以检查,以判断就是否存在死锁。主要就是检查就是否有循环等待、1系统安全状态1)安全状态所谓系统就是安全得,就是指系统中得所有进程能够按照某一种次序分配资源,并且依次地运行完毕,这种进程序列{P1,P2…Pn}就就是安全序列。如果存在这样一个安全序列,则系统就是安全得。2)安全状态之例进程最大需求已分配可用P1P2P310495223安全序列:P2àP1àP3不安全序列:P1à…P3à…P2àP3àP13)由安全状态向不安全状态得转换2利用银行家算法避免死锁1)银行家算法中得数据结构①可利用资源向量Available。②最大需求矩阵Max。③分配矩阵Allocation④需求矩阵Need2)银行家算法①一个银行家拥有一定数量得资金,有若干个客户要贷款,每个客户须在一开始就声明她所需贷款得总额,若该客户贷款总额不超过银行家得资金总额,银行家可以接受客户得要求。客户贷款就是以每次一个资金单位(如1万RMB等)得方式进行得,客户在借满所需得全部单位款额之前可能会等待,但银行家须保证这种等待就是有限得,可完成得。②安全性算法利用安全性算法进行检查,如果分配就是安全得,则执行分配;否则,分配不安全,不予分配。具体地,1)当进程pi提出资源申请时,按照银行家算法分配资源,系统执行下列步骤:(1)若Request≤Need,转(2);否则错误返回ﻫ(2)若Request≤Available,转(3);否则进程等待ﻫ(3)假设系统分配了资源,则有:ﻫAvailable:=Available-Request;ﻫAllocation:=Allocation+Request;Need:=Need-Request2)若系统新状态就是安全得,则分配完成,若系统新状态就是不安全得,则恢复原状态,进程等待为进行安全性检查,定义数据结构:Work:ARRAY[1、、m]ofinteger;Finish:ARRAY[1、、n]ofBoolean;ﻫ安全性检查得步骤:(1)Work:=Available;ﻫFinish:=false;ﻫ(2)寻找满足条件得i:ﻫa、Finish=false;b、Need≤Work;ﻫ如果不存在,则转(4)ﻫ(3)Work:=Work+Allocation;Finish:=true;转(2)ﻫ(4)若对所有i,Finish=true,则系统处于安全状态,否则处于不安全状态。二、实验目得通过模拟实现银行家算法,深入理解死锁避免得意义。三、实验要求1充分理解死锁避免得意义。2理解银行家算法与安全性检查算法得实质3编写银行家算法模拟程序,实现银行家算法原理。开始输入资源数m及各类资源总数,初始化输入进程数ni<=n输入进程i得最大需求向量Max<=资源总数提示错误i加1初始化needNeed矩阵为0所有进程运行结束任选一个进程作为当前进程Need向量为0该进程已运行输入该进程得资源请求量调用银行家算法,及安全性算法,完成分配并给出提示YNNYYYNN四、实验步骤主要函数清单voidshowdata()//显示资源矩阵intchangdata(inti)//进行资源分配intsafe()//安全性算法voidshare()//利用银行家算法对申请资源对进行判定voidaddprocess()//添加作业2、算法描述设Request[i]就是进程Pi得请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型得资源,当Pi发出资源请求后,系统按下面步骤进行检查:(1)如果Requesti[j]<=Need[i,j],便转向步骤2;否则认为出错,因为它所需要得资源数已超过它所宣布得最大值。(2)如果Requesti[j]<=Available[j],便转向步骤3;否则,表示尚无足够资源,Pi须等待。(3)系统试探着把资源分配给进程Pi,并修改下面数据结构中得数值:Available[j]:=Available[j]-Requesti[j];Allocation[i,j]:=All
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

银行家算法课设

文档大小:131KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用