银行家算法MATLAB实现附代码

银行家算法MATLAB实现附代码

ID:38465229

大小:592.34 KB

页数:26页

时间:2019-06-13

银行家算法MATLAB实现附代码_第1页
银行家算法MATLAB实现附代码_第2页
银行家算法MATLAB实现附代码_第3页
银行家算法MATLAB实现附代码_第4页
银行家算法MATLAB实现附代码_第5页
资源描述:

《银行家算法MATLAB实现附代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计题目银行家算法学生姓名张雪明学号2009112209专业计算机科学与技术班级1122指导教师张莉莉完成日期2012年1月4日银行家算法摘要:本文解决的是操作系统进程管理当中有关死锁的避免问题,对如何用银行家算法来处理操作系统给进程分配资源做了详细的说明,包括前言、系统总体框架设计、算法描述、函数模块、程序测试案例及其源程序代码清单。并通过软件实现了由给出的银行家算法。关键词:银行家算法死锁安全性算法安全序列1.前言具有代表性的死锁避免算法是由给出的银行家算法。在避免死锁的方法中,允许进程动态地申请资源,系统在进行资源分配之前,先计算资源

2、分配的安全性。若此次分配不会导致系统进入不安全状态,便将资源分配给进程,否则进程等待。如果在某一时刻,系统能按某种顺序如来为每个进程分配其所需的资源,直至最大需求,使每个进程都可以顺利运行完成,则称此时的系统状态为安全状态,称序列为安全序列。若某一时刻系统中不存在一个安全序列,则称此时的系统状态为不安全状态。银行家算法就是对每一个请求进行检查,检查它是否会导致系统进入不安全状态,若是,则不予资源分配;否则给予资源分配。2.系统总体框架设计进入系统数据初始化输出系统在时刻的资源分配情况choose(1/2)choose=1choose=2重新输入

3、时刻系统安全性检查进程发出资源请求1输入进程编号输入资源请求向量安全性检查输出一个安全序列并显示此时的资源分配情况安全资源分配失败,该进程必须等待不安全013.算法描述3.1银行家算法中使用的数据结构①可利用资源向量。这是一个含有个元素的数组,其中的每一个元素代表一类资源的空闲资源个数,其初始值是系统中所配置的该类资源的个数,其数值随该类资源的分配和回收而动态地改变。如果,表示系统中现有空闲的类资源个。②最大需求矩阵。这是一个的矩阵,它定义了系统中每一个进程对各类资源的最大需求个数。如果,表示进程需要类资源的最大个数为。③分配矩阵。这是一个的矩

4、阵,它定义了系统中当前已分配给每一个进程的各类资源个数。如果,表示进程当前已分到类资源的个数为。④需求矩阵。这是一个的矩阵,它定义了系统中每一个进程还需要的各类资源个数。如果,表示进程还需要类资源个,才能完成其任务。上述三个矩阵间存在关系:3.2银行家算法的实现思想如下:设是进程的请求向量,表示进程请求分配类资源个。当发出资源请求后,系统按下述步骤进行检查:如果,则转向;否则出错,因为进程所需要的资源个数已超过它所宣布的最大值。如果,则转向;否则,表示系统中尚无足够的资源满足进程的申请,必须等待。系统试着把申请的资源分配给进程,并修改下面数据结

5、构中的数值:系统执行安全性算法,检查此次资源分配后系统是否处于安全状态。若安全,才正式将资源分配给进程,以完成本次分配;否则,将试分配作废,恢复原来的资源分配状态,让进程等待。3.3安全性算法设置如下两个向量。:表示系统可提供给进程继续运行的各类资源的空闲资源个数,它含有个元素,执行安全性算法开始时,:表示系统是否有足够的资源分配给进程,使之运行完成。开始时,;当有足够资源分配给进程时,令。从进程集合中找到一个能满足下述条件的进程:如找到则执行;否则执行。当进程获得资源后,可顺利执行直到完成,并释放出分配给它的资源,故应执行:然后转向。若所有进

6、程的都为,则表示系统处于安全状态;否则,系统处于不安全状态。4.函数模块4.1主程序4.2银行家算法4.3安全性算法4.4银行家算法检查4.5资源请求5.程序测试案例5.1案例1将定系统中有4个进程、、、,三种类型的资源、、,数量分别为9、3、6,在时刻的资源分配情况如下表所示。试问:⑴时刻是否安全?⑵时刻以后,若进程发出资源请求,系统能否将资源分配给它?⑶在进程申请资源后,若发出资源请求,系统能否将资源分配给它?⑷在进程申请资源后,若发出资源请求,系统能否将资源分配给它?时刻的资源分配表进程32210022211261351110231421

7、11034220024205.2案例2设系统中有3种类型的资源和5个进程、、、、,资源的数量为17,资源的数量为5,资源的数量为20。在时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。时刻系统状态进程最大资源需求量已分配资源数量5592125364024011405425204424314剩余资源数233⑴时刻是否为安全状态?,若是,请给出安全序列。⑵若在时刻进程请求资源,是否能实施资源分配?为什么?⑶在⑵的基础上,若进程请求资源,是否能实施资源分配?为什么?⑷在⑶的基础上,若进程请求资源,是否能实施资源分配?为什么?5.3案例测试

8、6.参考文献【1】计算机操作系统/汤小丹等编著—第3版—西安电子科技出版社,2007.5【2】操作系统联考辅导教程:2011版/李春葆,曾平,曾慧编著

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。