欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    银行家算法—课程设计

    • 资源ID:1394260       资源大小:199.96KB        全文页数:16页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    银行家算法—课程设计

    1、 操作系统课程设计操作系统课程设计 进程管理进程管理 死锁避免算法设计死锁避免算法设计 姓 名: 学 号: 系 别: 计算机科学与工程 专 业: 计算机科学与技术 年 级: 指导教师: 2011 年 5 月 16 日 一、课程设计项目介绍(含项目介绍及设计目的) 项目介绍:项目介绍: 1、前言介绍:在多道程序系统中,虽可借助于多个进程的并发执行,来改善系 统的资源利用提高吞吐量,但可能发生一种危险死锁。当进程处于这种僵持状 态时,若无外力作用,他们都无法再向前推进。 在操作系统的资源分配也有类似的问题,如果资源分配不得当就会发生进程循 环等待资源,就会出现死锁的现象。而最有代表性的避免死锁的算

    2、法就是银行家算 法。银行家算法是避免死锁的一种重要方法,本次课程设计用 C 语言编写和调试一 个简单的银行家算法程序, 用银行家算法检查是否允许分配资源给进程, 避免死锁。 2 2、设计内容: 内容:实现教材 3.6.3 节中所描述的银行家避免死锁算法。 要求:可自定义进程数目、资源类型和每种类型资源的数目; 可输入每个进程对每种资源的最大需求、已经获得的数量; 当某进程发起某种资源请求时,计算系统状态是否安全。 设计目的:设计目的: 1、加深我们对了解有关资源申请、避免死锁等概念,提高了我们分析、解决问 题的能力。 2、通过课程设计深入理解避免死锁的原理,并加深我们对银行家算法理解。 二、总

    3、体设计(含系统的总体结构、原理框图或各模块介绍等) 总体结构:总体结构: 1 1、初始化进程数以及资源数; 2 2、银行家算法; 3 3、安全性算法。 模块介绍:模块介绍: 1 1、主函数 main() (1) 、确定初始进程数 (2) 、确定初始资源种类数以及可用资源的数目 (3) 、确定初始各进程所需最大的资源数以及目前已分配的资源数目 (4)、调用其他模块 2 2、银行家算法 Bank() (1)、如果 RequestAVAILABLEj) /输入不合法的资源量的处理 printf(“*进程%d 申请的资源数大于系统可用%d 类资 源的资源量!“,i,j); printf(“申请不合理,

    4、出错!请重新选择! n“); flag=0; /申请不合理 break; if(flag) changdata(i); /更改资源分配数情况 if(chkerr(i) rstordata(i); /系统不安全时还原预分配的资源 else showdata(); /显示资源分配情况 printf(“n“); printf(“是否继续银行家算法演示,按 1 键继续,按 0 键退出演示: n 选择: “); scanf(“ %d“, void showdata() /显示资源分配情况 int i,j; printf(“*系统可用的资源数为: n“); for (j=0;jF;j+) printf(“

    5、资源%d: %d “,j,AVAILABLEj); printf(“n“); printf(“*各进程已经得到的资源量:n “); for (i=0;iE;i+) printf(“进程%d: “,i); for (j=0;jF;j+) printf(“资源%d: %d “,j,ALLOCATIONij); printf(“n“); printf(“n“); printf(“*各进程还需要的资源量: n“); for (i=0;iE;i+) /输入各进程还需要的资源量 printf(“进程%d: “,i); for (j=0;jF;j+) printf(“资源%d: %d “,j,NEEDij); printf(“n“); printf(“n“); void changdata(int k) /修改资源分配情况 int j; for (j=0;jF;j+) AVAILABLEj=AVAILABLEj-Requestj; /把可用资源数减去请求资源数 的值赋值给可用资源 ALLOCATIONkj=ALLOCATIONkj+Requestj; /把已分配资源数加上 请求资源数赋值给已分配资源 NEEDkj=NEEDkj-Requestj; /把资源需求数减去请求资源数的值 赋值给资源需求数 ; void rstordata(


    注意事项

    本文(银行家算法—课程设计)为本站会员(毕****文)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583