银行家算法实验报告【荐】.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
银行家算法实验报告【荐】.pdf

目录 1 需求分析2 1.1 输入的形式和输入值的范围2 1.2 输出的形式3 1.3 程序所能达到的功能4 1.4 测试数据4 2 概要设计7 2.1 主程序的流程7 2.2 数据类型的定义8 2.3 各程序模块之间的层次(调用)关系9 3 详细设计9 3.1 数据类型定义9 3.2 数据初始化 10 3.3 安全性检查 11 3.4 显示系统数据 12 3.5 银行家算法分配资源 13 4 调试分析 15 4.1 设计与实现的分析 15 4.2 算法的时间复杂性和改进设想 16 4.3 实现过程中遇到的主要问题及解决方法 18 4.4 设计过程的经验和体会 19 5 用户使用说明20 6 测试与运行结果21 1 需求分析 1.1 输入的形式和输入值的范围 本程序需要用户输入的数据有:申请资源的进程数目、资源的种类数目、每 个进程所需的各资源数、每个进程已分配的各资源数、各资源现有的数目、需要 申请资源的进程号、该进程所需的各资源数目。 1) 申请资源的进程数目。它的范围为MAX_PROCESS_NUM 个,类型为int , 现程序的MAX_PROCESS_NUM 设为10,即最大申请资源的进程数为10。而进 程号从0 开始,假设系统提示“请输入申请资源的进程数目”时,输入值为10, 则有进程号为0,1,2„„9 这10 个进程申请资源。 2) 资源的种类数目。它的范围为MAX_RESOURCE_NUM 个,类型为int , 现程序的MAX_RESOURCE_NUM 设为10,即最大资料种类数为10。 3) 每个进程所需的各资源数。输入形式为“进程数×资源种类数”的矩阵, 假设进程数为 2 ,资源种类数为 3,则进程所需的各资源数的输入形式为 2 ×3 的矩阵,每个数之间可以用空格、回车或制表键分隔,输入的数将被依次放入 MAX[i][j]数组。例如:2 ×3 的矩阵可以如此输入: 2 3 4 5 6 7 8 或 2 3 4 5 6 7 设这2 个进程分别为P0 、P1 ,这3 个资源种类分别为S0、S1、S2,则以上 输入的意思均为P0 对S0、S1、S2 的需求量分别为2 、3、4 ,如此类推。 4) 每个进程已分配的各资源数。输入“进程数×已分配资源数”的矩阵, 与“每个进程所需的各资源数”同理,但应注意,各进程的各资源的已分配数应 该比它所需的资源数少,即Allocation[i][j]=Need[i][j] 。 5) 各资源现有数目。即Available[j] ,是类型为int 的数组,假如有j 类资源, 则分别输入这j 类资源的现有数目,以空格、回车或制表键分隔。 6) 需要申请资源的进程号。进程号应该小于进程数目,因为进程号是从 0 开始的。 7) 该进程所需的各资源数目。输入类型为int 的数组,形式类似“各资源现 有数目”,但应该注意,其范围应当不大于剩余资源的数量,即 Request[i]=Available[i] 。 1.2 输出的形式 1) 首先要求用户输入初始化数据,系统将依次输出以下提示: 请输入进程的数目: 请输入资源的种类数目: 请输入每个进程最多所需的各资源数目: 请输入每个进程已分配的各资源数目: 请输入各个资源现有的数目: 当输入第四项“每个进程已分配的各资源数目”时,输入的已分配资源数若 大于每个进程最多所需的各资源数,即Allocation[i][j]Max[i][j] ,系统将提示哪 个进程的第几个资源分配出错,提示如下: 您输入的第n 个进程所拥有的第m 个资源数错误! 2) 完成数据初始化后,将列出系统的进程及资源情况,形式如下: 现系统的进程及资源情况如下: Available: 资源A

文档评论(0)

wulf + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档