欢迎来到天天文库
浏览记录
ID:51872110
大小:203.50 KB
页数:21页
时间:2020-03-17
《银行家算法模拟实现课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、盐城工学院计算机操作系统程序设计课程考核报告银行家算法模拟实现班级:09软件(1)学号:姓名:指导老师:2011年12月19日目录1.课程设计简介------------------------------------------------31.1课程设计题目-------------------------------------------------------------31.2课程设计目的-----------------------------------------31.3课程设计要求-----------------------------------
2、-----32实验原理分析-------------------------------------------42.1算法的来源及基本思想---------------------------------42.2死锁产生的条件---------------------------------------42.3模拟进程申请资源-------------------------------------53概要设计------------------------------------------------54详细设计--------------------------
3、----------------------75代码设计------------------------------------------------86调试分析-----------------------------------------------147心得体会------------------------------------------------218参考文献------------------------------------------------211课程设计简介:1.1课程设计题目银行家算法的模拟实现。应用银行家算法验证进程安全性检查及分配
4、资源。1.2课程设计目的本设计的目的是通过编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁地发生。A、了解进程产生死锁的原因,了解为什么要进行死锁的避免。B、掌握银行家算法的数据结构,了解算法的执行过程,加深对银行家算法的理解。1.3课程设计要求设计一个n个并发进程共享m个系统资源的系统。进程可动态申请资源和释放资源,系统按各进程的申请动态的分配资源。要求采用银行家算法实现。(1)初始化这组进程的最大资源请求和依次申请的资源序列。把各进程已占用和需求资源情况记录在进程控制块中。假定进程控制块的内容包括:进程名,状态
5、,当前申请量,资源需求总量,已占资源量,能执行完标志。其中,进程的状态有:就绪、等待和完成。当系统不能满足进程的资源请求时,进程处于等待态。资源需求总量表示进程运行过程中对资源的总的需求量。已占资源量表示进程目前已经得到但还未归还的资源量。因此,进程在以后还需要的剩余资源量等于资源需要总量减去已占资源量。显然每个进程的资源需求总量不应超过系统拥有的资源总量。(2)银行家算法分配资源的原则是:当某个进程提出资源请求时,假定先分配资源给它,然后查找各进程的剩余请求,检查系统的剩余资源量是否由于进程的分配而导致系统死锁。若能,则让进程等待,否则,让进程的假分配变为真分配。(a
6、)查找各进程的剩余请求,检查系统的剩余资源量是否能满足其中一进程。如果能,则转b)。(b)将资源分配给所需的进程,这样,该进程已获得资源最大请求,最终能运行完成。标记这个进程为终止进程,并将其占有的全部资源归还给系统。重复第a)步和第b)步,直到所有进程都标记为终止进程,或直到一个死锁发生。若所有进程都标记为终止进程,则系统的初始状态是安全的,否则为不安全的。若安全,则正式将资源分配给它,否则假定的分配作废,让其等待。2实验原理分析:2.1算法的来源及基本思想银行家算法,顾名思义是来源于银行的借贷业务,通过这个算法可以用来解决生活中的实际问题,如银行贷款等。一定数量的本
7、金要应多个客户的借贷周转,为了防止银行加资金无法周转而倒闭,对每一笔贷款,必须考察其是否能限期归还。在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。如果资源分配不得到就会发生进程循环等待资源,则进程都无法继续执行下去的死锁现象。2.2死锁产生的条件银行家算法是用来避免死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。死锁的产生,必须同时满足四个条件:A、即
此文档下载收益归作者所有