操作系统课设-银行家算法(3)
printf(\时刻的安全性:\\n\ if(Safe()) return -1; while(1) { Request(); }
return 0; }
六、结果及数据分析
①、本程序按下图建立.txt源文件,作为程序的初始化输入。
②、执行程序,读取源文件,并判断T0时刻所得结果:
③、T0时刻的安全序列以及输入P2进程Request(2 2 2)所得请求结果:
④、调用Request()函数,测试该函数的可行性,如输入P1进程Request(1 0 2),所得结果:
⑤ 输入P0进程Request(0 2 0),所得结果:
七、心得体会
在程序进行编写之前,先对程序的要求进行分析,弄清楚程序所需要的功能,然后将每个功能分成一个功能模块即调用函数来实现,无需过多的画蛇添足。
编写这个简易的银行家算法让我知道了在资源一定的条件下为了让多个进程都能使用资源完成任务,避免死锁的产生可以从一开始就对系统进行安全性检查来判断是否将资源分配给正在请求的进程。但是银行家算法会加大系统的开销。
此外,对于此算法,我想知道实际运用中会怎么使用。在系统不分配进程所请求的资源的时候,是否会将此资源等待,直到拥有足够的资源的时候再来运行?进程会请求资源是指在执行的过程中只有拥有了足够数量的资源才可以执行下去,但是资源有限,进程数又有足够多,我们期望所有进程都可以在最短的时间内执行完。也许可以这样理解。
哦,题目中要求所系统随机给进程分配初始化的资源,这里我不太会。系统随机分配?可以是对系统各种资源的总数中对各个进程进行随机分配,直接使用随机分配函数?在输出全部安全序列中使用了与八皇后问题相同的算法——回溯法。
本次课设让我对银行家算法和死锁都有了一定的理解。
操作系统的基本特征就是并发和共享,系统允许多个进程并发执行,并且共享系统的软、硬件资源。为了最大限度的利用计算机资源,操作系统应采用动态分配的策略,但是这样就容易因资源不足、分配不当而引起“死锁”。本次课程设计就是用银行家算法来避免“死锁”。该算法就是一个资源分配过程,使分配序列不会产生死锁。此算法的中心思想就是,每次分配后总存在着一个进程,如果让它单独的运行下去,必然可以获得它所需要的全部资
源,而它结束后可以归还这类资源以满足其他申请者的需要。
八、参考资料
①、《计算机操作系统(第三版)》 汤子瀛等 西安电子科技大学出版社 ②、《操作系统实验教程——基于windows和Linux》 秦明等
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




