- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
何双宁——《设备管理》 一.设计目的 课程设计是课堂的继续,本次课程设计的目的是培养我们的团队意识,合作 意识,增强我们的动手能力。加深对《操作系统》的设备管理的理解,并且用银 行家算法模拟实现操作系统的设备管理的功能。掌握设备分配的原则和银行家算 法。 二.设计内容与步骤 设备管理系统要实现对设备的添加,设备的修改,设备的删除,设备信息的 查询,设备的内部命名以及用银行家算法模拟设备分配的过程。 1.设备添加 实现对设备的添加,包括设备所具有的最大资源数,设备名的添加。 2.设备修改 实现对设备名,设备最大资源数的修改。 3.设备删除 实现对设备在设备系统表中的删除,包括设备的最大资源数以及设备名等 一切设备信息。 4.设备信息查询 在系统设备表中查看选中的设备的设备名,该设备所拥有的资源类别,以 及该类别的最大资源数。 5.设备分配 主要运用银行家算法实现设备分配的原则,避免死锁的发生。 三.银行家算法描述 银行家算法是一种避免死锁的方法。其设计思想是:当用户申请一组资源时, 系统必须确定:如果把这些资源分配出去,系统是否处于安全状态。如是则分配; 否则,该申请暂不满足。 实现银行家算法必须拥有的数据结构: 1.Available——表示每类资源可用的数量。 2.Max——表示每个进程对资源的最大需求量。 3.Allocation——当前分给每个进程的资源数。 4.Need——表示每个进程还需要的资源数目。 银行家算法的分配方法: 当进程 pi 提出资源申请时,系统执行下列 步骤:(“=”为赋值符号,“==”为等号) step(1)若 Request=Need, goto step(2);否则错误返回 step(2)若 Request=Available, goto step(3);否则进程等待 step(3)假设系统分配了资源,则有: Available=Available-Request; Allocation=Allocation+Request; Need=Need-Request 若系统新状态是安全的,则分配完成 若系统新状态是不安全的,则恢复原状态,进程等待。 1 何双宁——《设备管理》 为进行安全性检查,定义数据结构: Work:ARRAY[1..m] of integer; Finish:ARRAY[1..n] of Boolean; 安全性检查的步骤: step (1): Work=Available; Finish=false; step (2) 寻找满足条件的 i: a.Finish==false; b.Need=Work; 如果不存在,goto step(4) step(3) Work=Work+Allocation; Finish=true; goto step(2) step (4) 若对所有 i,Finish=true,则系统处于安全状态,否则处于不安 全状态。 四.程序运行过程 1. 输 入 界 面 2.功能选择界面: 2 何双宁——《设备管理》 3.设备查看: 4.设备添加删除 3 何双宁——《设备管理》 5.模拟过程 五.程序设计代码: #includestdlib.h #includestdio.h #define s_max 10 #define p_max 6
文档评论(0)