版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩辽宁工程技术大学上机实验报告课程名称操作系统原理实验题目银行家算法院系软件学院专业软件工程班级姓名学号实验日期实验目的1.进一步了解银行家算法,避免死锁问题。2.在了解和掌握银行家算法的基础上,了解并掌握银行家算法对其进行编程,并将结果输出在屏幕上,与笔算结果进行比较。3.掌握理解安全性,和安全性算法。实验准备1. 实验环境:Linux系统开发环境2. 知识准备:(1) 银行家算法基本算法概念;(2) C语言基本语法及设计理念实验进度本次共有 1 个练习,完成 1 个。实验内容实验内容续实验内容续算法的设计思想及步骤实现1.安全状态指系统能按照某种顺序如(称为序列为安全序列),为每个进程分
2、配所需的资源,直至最大需求,使得每个进程都能顺利完成。2. 银行家算法假设在进程并发执行时进程i提出请求j类资源k个后,表示为Requestij=k。系统按下述步骤进行安全检查:(1)如果RequestiNeedi则继续以下检查,否则显示需求申请超出最大需求值的错误。(2)如果RequestiAvailable则继续以下检查,否则显示系统无足够资源,Pi阻塞等待。(3)系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:Availablej=Availablej-Requestij;Allocationi,j=Allocationi,j+Requestij;Needi,j=Needi,
3、j-Requestij;(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。3.安全性算法(1)设置两个向量: 工作向量Work: 它表示系统可提供给进程继续运行所需的各类资源数目,它含有m个元素,在执行安全算法开始时,Work=Available; Finish: 它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finishi=false; 当有足够资源分配给进程时, 再令Finishi=true。(2)从进程集合中找到一个能满足下述条件的进
4、程: Finishi=false; Needi,jWorkj; 若找到, 执行步骤(3), 否则,执行步骤(4)。(3)当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:Workj=Worki+Allocationi,j;Finishi=true;go to step 2; (4)如果所有进程的Finishi=true都满足, 则表示系统处于安全状态;否则,系统处于不安全状态4.实验步骤(1) 安全性算法流程图如图所示。(2) 编写统一的输出格式每次提出申请之后输出申请成功与否的结果。如果成功还需要输出变化前后的各种数据,并且输出安全序列。(3) 参考如图所示的流程
5、图编写银行家算法。(4) 编写主函数来循环调用银行家算法。实验分析实验分析续实验分析续1.运行结果: T时刻的安全序列实验分析:利用安全性算法对T时刻的资源分配情况进行分析,如图所示,在T时刻存在着一个安全序列P1,P3,P0,P2,P4,故系统处于安全状态。2.运行结果:实验分析:P0请求资源:P0发出请求Request0(1,2,1),系统按银行家算法进行检查:Request0(1,2,1)Need0(7,4,3);Request0(1,2,1)Available0(3,4,2);系统先假定可为P0分配资源,再利用安全性算法检查此时的系统,最后得出结果分配成功,安全序列是P3,P1,P0,
6、P2,P43.运行结果:实验分析:P0请求资源:P0发出请求Request0(7,3,3),系统按银行家算法进行检查:Request0(7,3,3)Need0(6,2,2);请求向量大于需求向量,所以分配失败。4.运行结果:实验分析:P0请求资源:P0发出请求Request0(4,2,1),系统按银行家算法进行检查:Request0(4,2,1)Need0(6,2,2);Request0(4,2,1)Available0(2,2,1);请求向量大于可利用资源向量,所以分配失败。5.运行结果:实验分析:P0请求资源:P0发出请求Request0(2,1,2),系统按银行家算法进行检查:Request0(2,1,2)Need0(7,4,3);Request0(2,1,2)Available0(3,4,2);系统先假定可为P0分配资源,并修改有关数据,进行安全性检查,可用资源Available0(2,2,1)已不能满足任何进程的需要,故系统进入不安全状态,此时系统分配失败。实验总结本次实验的内容是银行家算法,因为在课前的时候,虽然操作了c语言程序,但在linux系统操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化转型下L公司供应管理系统的优化与重塑
- 数字化赋能:河北高速征费考核管理系统的深度设计与实践
- 入党培训个人思想总结报告(2篇)
- Axure网站与App原型设计(全彩慕课版)(AxureRP10)- 教案 第7、8章 用Axure链接动作制作交互效果、用Axure元件行为制作交互效果
- 数字化浪潮下我国公募基金公司网络营销策略的创新与变革
- 数字化浪潮下国际贸易客户管理信息系统的深度设计与实践
- 数字化浪潮下W软件公司人才招聘困境与突破策略研究
- 探究“营改增”对建筑施工企业的影响及其对策
- 2025 奇妙的声音共鸣特性实验作文课件
- 2025年前台问询礼仪测试卷
- 社会责任培训精
- 部编版语文二年级下册第2单元核心素养教案
- 9F级立式余热锅炉模块吊装工法
- 《卢氏字辈总汇》
- 第三单元名著导读《经典常谈》课件-部编版语文八年级下册
- (完整)WORD-版本核心高考高频688词汇(高考高频词汇)
- MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案
- 2018年河北公务员行测考试真题(含答案)
- 外科病人的代谢与营养治疗第八版
- GB/T 700-2006碳素结构钢
- 大型工业园区规划方案
评论
0/150
提交评论