一花一叶1一叶一世界《计算机操作系统》课程设计报告书选题:银行家算法模拟姓名:包玉霞学号:1班级:软件1001指导老师:徐向英2012年6月目录一
课程设计目的二
运行与测试六
设计目的计算机系统中有很多资源,在多道程序设计环境中,若干程序往往要共享这些资源,而一个进程所需的资源不止一个,这样,系统就会容易发生死锁现象
然而系统产生死锁不仅浪费大量的系统资源,甚至导致整个系统的崩溃,带来灾难性的后果
而银行家算法是最具有代表性的避免死锁的一种重要方法,如果在并发执行的进程中能够寻找一个安全序列,则系统按照此序列分配资源,系统就不会产生死锁现象
课题内容1.复习银行家算法,设计一个具有若干(不少于3种)资源和若干(不少于5个)进程的系统
2.定义系统的初始状态,即进程获得的资源数,还需要的资源数以及系统可用的资源一花一叶2一叶一世界数
3.以用户输入的方式提出资源请求,并用银行家算法避免可能发生的死锁,若系统安全,允许用户继续申请资源
4.设计的系统要求结构清晰,与用户的交互界面友好,能动态地实现资源的申请和分配
设计思路银行家算法可分为几个主要的功能模块,其描述如下:1
初始化由用户输入数据,分别对运行的进程数、总的资源种类数、总资源数、各进程所需要的最大资源数量(Max),已分配的资源数量赋值
初始化算法流程图:2
安全性检查算法(1)设置两个工作向量Work=AVAILABLE;FINISH=false;(2)从进程集合中找到一个满足下述条件的进程,FINISH==false;NEED