操作系统课设:仿真模拟银行家算法对死锁的避免 文档报告 代码.docVIP

操作系统课设:仿真模拟银行家算法对死锁的避免 文档报告 代码.doc

  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文档。上传文档
查看更多
操作系统课设:仿真模拟银行家算法对死锁的避免 文档报告 代码

操作系统课程设计报告 院(系): 计算机工程学院 专业: 计算机科学与技术专业 学生姓名: __    班级:__ 学号:  题目: 仿真模拟银行家算法对死锁的避免 _ 起讫日期: ____ 设计地点: 指 导 教 师: 2008—2009年度 第 2 学期 完成日期: 2009 年 7 月 10 日 课程设计目的 1、本次课程设计通过编写和调试一个仿真模拟银行家算法避免死锁的程序,观察产生死锁的,条件,并采用银行家算法,有效地避免死锁的发生。 2、了解多道程序系统中,多个进程并发的动态资源分配。在多道程序系统中,由于在内存中驻留了多道程序,他们共享资源,并发执行,动态的申请资源。 3、掌握产生死锁的原因、产生死锁的必要的条件和处理死锁的基本方法。 4、掌握死锁的方法,系统安全的基本概念。 5、掌握最具有代表性的避免死锁的算法——银行家算法,了解资源在进程并发执行过程中的资源分配策略。 6、提高运用操作系统知识解决实际问题的能力,锻炼实际的编程能力,提高调查研究的能力,提高查阅技术文献、资料以及编写软件设计文档的能力。 课程设计内容 本次课程设计的内容是采用银行家算法,编写和调试一个仿真模拟银行家算法避免死锁的程序。设计n个并发进程共享3类不同的系统资源,即1类资源、2类资源、3类资源。进程可以动态的申请资源,系统按各个进程的申请动态的分配资源。可以添加进程,进程动态的申请资源,系统进行安全性检查,判断是否可以为申请资源的进程分配资源。如果能够找到安全序列,则系统为进程分配资源,否则原先的试探分配资源作废。 系统分析与设计 1、系统分析 系统分析是指把要解决的问题作为一个系统,对系统要素进行综合分析,找出解决问题的可行方案的咨询方法。系统分析是一种研究方略,它能在不确定的情况下,确定问题的本质和起因,明确咨询目标,找出各种可行方案,并通过一定标准对这些方案进行比较,帮助决策者在复杂的问题和环境中做出科学抉择。系统分析是咨询研究的最基本的方法,我们可以把一个复杂的咨询项目看成为系统工程,通过系统目标分析、系统要素分析、系统环境分析、系统资源分析和系统管理分析,可以准确地诊断问题,深刻地揭示问题起因,有效地提出解决方案和满足客户的需求。 本系统是仿真模拟银行家算法避免死锁。系统中存在3类进程可共享的资源,3类资源的数目分别为:10、5、7。进程可动态的申请资源。进程申请资源后,系统首先判断其申请的资源数目是否小于其需求资源数目和目前系统可利用资源数目。如果小于,系统试探着把资源分配给进程,并修改进程对应的数据结构中的数值。然后系统执行安全性算法,检查此次资源分配后系统是否处于安全状态。若安全,才真正将资源分配给进程,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让此次申请资源的进程等待。 2、系统设计: 本系统设计两个窗体,主窗体用来添加进程,副窗体用来检查资源分配后系统是否出于安全状态。 1、主窗体含有三个板块,一个添加进程板块,一个用来显示目前系统内资源分配情况的板块,一个进程申请资源的板块。 (1)添加进程板块:需在一个textbox中给出进程名,而且进程名必须是唯一的,使用三个combobox让用户选择进程执行所需要系统为之分配的最大资源数目,一个button按钮,用来提交用户进行的操作,如果用户没有给出进程名,那么进程名默认为进程+系统内总进程数目减一。 (2)显示板块:使用listview控件以表格形式显示,当用户提交新添加的进程后,在显示板块会显示出此进程的进程名、所需各种资源的最大数目、系统已分配的资源数目、此进程还需的各种资源数目,而且将系统目前可利用各种资源数目显示出来。 (3)申请资源板块:使用一个combobox让用户选择需要申请资源的进程名,在控件combobox中只含有用户已经输入的进程名,用户只需选择。使用三个combobox让用户选择进程申请各种资源的数目,一个button按钮,用来提交是哪个进程申请了什么资源及其数目。 2、副窗体含有两个板块,一个是显示系统试探着把资源分配给进程的后板块,一个是利用安全算法显示安全的资源分配情况板块。 (1)显示资源分配后的板块:系统试探着将资源分配给申请资源的进程,并将分配后的结果使用listview控件以表格形式显示到窗体上,并将系统剩余资源显示到窗体上。listview控件上还应该显示是哪个进程申请的资源。 (2)显示安全的资源分配情况板块:一个button按钮,用来检查系统是否处于安全状态,若处于安全状态,则在

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档