计算机操作系统课程设计报告《Linux下动态资源分配算法演示程序》.docxVIP

计算机操作系统课程设计报告《Linux下动态资源分配算法演示程序》.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机操作系统》课程设计 题目: 动态资源分配算法演示程序 专 业: 软件工程 年 级: 2012级 小组成员: 指导教师: 时间: 地点: 2014年12月 目录 TOC \o 1-5 \h \z \o Current Document 1 .概述 3 \o Current Document 课程设计任务及要求 4 2.1设计任务 4 2.2日程安排表 4 2.3设计要求 4 算法及数据结构 4 3.1算法的总体思想 4 3.2银行家算法 5 3.3安全性算法 6 \o Current Document 程序设计与实现 8 4.1程序流程图 8 4.2程序代码 9 4.3实验结果 16 \o Current Document 结论 18 \o Current Document 收获及体会 19 \o Current Document 参考文献 20 1.概述 动态资源分配算法演示程序是对操作系统中“银行家算法”的模拟,银 行家算法是操作系统中一种最具代表性的避免死锁的算法。通过对信息的编 辑,来实现自行输入信息。资源种类与数目可在界面进行设置,在资源分配 过 程中可以随时增加进程及其对资源的需求。在编辑信息时,可以修改资源和进 程的各种信息,包括添加、修改和删除。确定信息后,可以通过检查系统安全 性,来显示系统的安全序列或者显示系统处于不安全状态。请求资源功能实现 了进程请求系统中资源的模拟。如果能够通过系统安全状态检测,则系统对该进 程进行资源分配;当进程满足所有资源分配后能够自行释放所 有资源,退出资 源竞争。本程序是在LINUX环境系统下编写的。 本设计主要用于解决多种资源被多个独立执行的进程使用的安全算法。该 算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免 死锁的产生。要求如下: 模拟一个银行家算法; 初始化时让系统拥有一定的资源; 用键盘输入的方式申请资源; 如果预分配后,系统处于安全状态,则修改系统的资源分配情况; 如果预分配后,系统处于不安全状态,则提示不能满足请求,设计 的主 要内容是模拟实现动态资源分配。同时编写和调试一个系统动态资源的 简单模拟程序,观察死锁产生的条件,并使用适当的算法,有 效的防止 和避免死锁的发生。 2 .课程设计任务及要求 2.1设计任务 本设计主要用于解决多种资源被多个独立执行的进程使用的安全算法。 该算法采用 矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。 2.2日程安排表 日期 任务 负责人 完成情况 2014.12.24星期三下午 查找资料,按需求设 计算法 AB 完成 2014.12.25星期四上午 查找资料,开始编写 代码 AB 完成 2014.12.25星期四下午 编写代码与注释 AB 完成 2014.12.26星期五上午 代码完善与修改 A 完成 2014.12.26星期五下午 文档制作 A 完成 2.3设计要求 资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加 进 程及其对资源的需求。 可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进 程数 的初始化。 在资源分配过程中可以随时进行系统安全状态检测。 如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进 程满足所有资源分配后能够自行释放所有资源,退出资源竞争。 要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数 由小至大进行排序,如果Need数相同,则按序号由小至大进行排序; 具有一定的数据容错性。 3.算法及数据结构 3. 1算法的总体思想 分别用来描述为了实现银行家算法,在系统中必须设置这样四个数据结构, 分别用来描述 系统中可利用的资源、所有进程对资源的最大需求、系统中的资源分配,以及所 有进程还需要多少资源的情况。 可利用资源向量Available o这是一个含有m个元素的数组,其中的每一个元 素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的 数目,其数值随该类资源的分配和回收而动态地改变。如果Available[j]=K ,则表 示系统中现有Rj类资源K个。 最大需求矩阵Max这是一个n*m的矩阵,它定义了系统中n个进程中的每 一个进程对m类资源的最大需求。如果Max[iJ]=K,则表示进程i需要Rj类资源 的最大数目为Ko 分配矩阵Allocation o这也是一个n*m的矩阵,它定义了系统中每一类资源 当前已分配给每一进程的资源数。如果Allocation[i,j]=K ,则表示进 程i当前已 分得Rj类资源的数目为Ko 需求矩阵Need这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资 源数。如果Need[i,j]=K

文档评论(0)

150****6040 + 关注
实名认证
文档贡献者

互联网产品运营推广以及k12教育内容。

1亿VIP精品文档

相关文档