一 概述
一、课程设计的目的。
1.使学生更深入地理解和掌握该课程中的有关基本概念。
2.培养学生综合运用所学知识独立完成课题的能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检
验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关
的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人
经验中找到解决问题的新途径的悟性。
6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、
课程设计能力、书面及口头表达能力进行考核。
二、课程设计的要求。
(1)学生自由组成课程设计小组,建议每组最多不超过 3 个学生。
(2)选择课程设计题目中的一个课题,每组独立完成。
(3)查阅相关资料,自学具体课题中涉及到的新知识。
(4)采用结构化程序设计方法或面向对象程序设计方法进行设计,功能要
完善,具有一定创新。
银行家算法是操作系统当中为避免锁死的算法,并且是最具有代表性的避
免锁死的算法,能够有效的在资源分配的过程中,对系统的安全性进行检测。整
个算法的计算步骤为对输入的数据进行试分配,并对安全性进行检测,当系统为
安全的时,依照安全序列执行程序,如果不安全则进入阻塞状态。银行家算法的
来源是在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时
要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。
银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的
需要。在这样的描述中,银行家就好比操作系统,资金就是资源,客户就相当于
要申请资源的进程。
在避免死锁的方法中,所施加的简直条件比在预防死锁的方法中限制条件要
弱,有可能获得令人满意的系统性能。在该方法中,把系统的状态分为安全状态
和不安全状态,只要能使系统都处于安全状态,就可避免死锁的发生。
所谓安全状态与不安全状态是指如果所有过程有可能完成执行(终止),则
一个状态被认为是安全的。由于系统无法知道什么时候一个过程将终止,或者之
后它需要多少资源,系统假定所有进程将最终试图获取其声明的最大资源并在不
久之后终止。
三、程序的主要设计思想。
在多道程序系统中,虽然能够借助于多个进程的并发执行,来改善系统资源
的利用率,提高系统的吞吐量,但是依然有风险存在,那就是——锁死。所谓锁
死是指,多个进程在运行中因争夺资源而造成的一种僵局,当进程的这种僵持状
态时,若无外力作用,它们将无法再向前推进。一组程序中,每个进程都无限等