操作系统课程设计报告--基于计算机操作系统银行家算法实现.docx
《操作系统课程设计报告--基于计算机操作系统银行家算法实现.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计报告--基于计算机操作系统银行家算法实现.docx(22页珍藏版)》请在第一文库网上搜索。
1、操作系统课程设计报告题目:银行家算法的设计与实现院(系):计算机科学与工程学院专业:信息对抗专业基于计算机操作系统银行家算法实现摘要此次课程设计的主要内容是模拟实现资源分配。同时要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并使用适当的算法,有效的防止和避免死锁的发生具体用银行家算法实现资源分配。要求如下:(1)设计一个3个并发进程共享3类不同资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。(2)设计用银行家算法和随机分配算法,实现资源分配的两个资源分配程序,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。(3)确定一组各
2、进程依次申请资源数的序列,在相同的情况下分别运行上述两种资源分配程序,观察运行结果。银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。死锁的产生,必须同时满足四个条件,即一个资源每次只能由一个进程占用:第二个为等待条件,即一个进程请求资源不能满足时,它必须等待,但它仍继续保持已得到的所有其他资源:第四个为循环等待条件,系统中存在若干个循环等待的进程,即其中每一个进程分别等待它前一个进程所持有的资源。防止死锁的机构只能确保上述四个条件之一不出现,则系统就不会发生死锁。通过这个
3、算法可用解决生活中的实际问题,如银行贷款等.通过对这个算法的设计,让学生能够对书本知识有更深的理解,在操作和其它方面有更高的提升.关键词:死锁;安全状态;安全序列;银行家算法;安全性检查目录1概述(3)1.1 设计目的(3)1.2 开发环境(3)2需求分析(4)2.1死锁概念(4)2.2死锁的结论(4)2.3资源分类(4)2. 4产生死锁的必要条件(4)2. 5死锁的解决方案(4)2. 5.1产生死锁的例子(4)3. 5.2(5)4. 53安全状态与不安全状态(5)3数据结构分析设计(6)3. 1可利用资源向量矩阵avai1ab1e1(6)3. 2最大需求矩阵max(6)3. 3分配矩阵a11
4、ocation(6)3. 4需求矩阵need(6)4算法的实现4.1U女口(7)4. 2专艮彳丁*(7)4. 3全性检查算法(7)4. 42/ft11(8)5测试与实例分析(10)6心得体会(14)7.参考文献与源程序清单(附录)(15)1概述11设计目的银行家算法是一种最有代表性的避免死锁的算法。把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进
5、程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。本次课程设计通过用JAVA语言编写和调试实现银行家算法的程序,达到进一步掌握银行家算法,理解系统产生死锁的原因以及系统避免死锁的方法,增强理论联系实际的能力的目的。1.2开发环境操作系统:WindowsXP编译工具:Myec1ipse8.6生成文件:.java源代码文件和xxx.c1ass编译文件2需求分析1. 1死锁概念死锁就是指多个进程在运行中因
6、争夺资源而造成的一种僵局,当进程出于这种僵持状态时,若无外力作用,它们都将无法再向前推进。2. 2死锁的结论产生死锁的原因是:竞争资源和进程间推进顺序不当。处理死锁的基本方法是:预防死锁避免思索检测死锁解除死锁3. 3资源分类1 .可剥夺性资源,某些进程在获得此类资源后,该资源可以再被其他进程或系统剥夺。CPU和内存均属于可剥夺性资源。2 .不可剥夺性资源,当系统把这类资源分配给进程后,再不能强行回收,只能在进程用完后自动释放,如磁带机,打印机。3 .非剥夺性资源,在系统中所配置的非剥夺性资源,由于它们的数量不能满足诸进程运行的需要,会使进程在运行构成中,因争夺这些资源而陷入僵局。4 .临时性
7、资源,它是指由一个进程产生,被另一个进程使用一短暂时间后便无用的资源,也称之为消耗性资源。2.4产生死锁的必要条件1 .互斥条件:进程对它所分配到的资源进行排他性使用,即在一段时间内某资源由一个进程占有。如果此时还有其它进程请求该资源,则请求者只能等待,直至占有该资源的进程用毕释放。2 .请求和保持条件:进程已经保持了至少一个资源,但又提出新的资源请求,而该资源又被其他进程占有,此时请求进程阻塞,但又对自己获得的其他资源保持不放。3 .不剥夺条件:进程已经获得的资源,在未使用完之前,不能被剥夺,只有在使用完是由自己释放。4 .环路等待条件:发生死锁时,必然存在一个进程一资源的环形链。2.5死锁
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 报告 基于 计算机 银行家 算法 实现