银行家算法操作系统 下载本文

内容发布更新时间 : 2024/4/19 6:14:06星期一 下面是文章的全部内容请认真阅读。

课程设计报告

姓 名: xx 学 号:xx

班 级: 13计科 专 业: 计算机科学与技术 指导教师: xx

时 间: 2015-12-31 项目名称: 课程设计五: 银行家算法

贵州大学 计算机科学与信息学院

目 录

一.课程设计目的┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅2 二.课程设计题目描述和要求┅┅┅┅┅┅┅┅┅┅┅┅┅┅2

2.1选定文法的描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅2 2.2课程设计要求描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅2 2.3实现的功能描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅2

三.课程设计实现描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅4 3.1实现平台┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅4

3.2课程设计基本思路描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅4 3.3算法基本基本原理描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅5 3.4代码描述┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅5 3.5演示分析┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅11

四.课程设计总结┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅11 五.参考书目┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅11

一、课程设计目的

(1) (2) (3) (4) (5)

了解多道程序系统中,多个进程并发执行的资源分配。

掌握死锁产生的原因、产生死锁的必要条件和处理死锁的基本方法。 掌握预防死锁的方法,系统安全状态的基本概念。

掌握银行家算法,了解资源在进程并发执行中的资源分配策略。 理解避免死锁在当前计算机系统不常使用的原因

二、课程设计题目描述和要求

1. 选定的算法的描述:

银行家可以把一定数量的资金供多个用户使用,为保证资金的安全银行家规定四个条件:

(1)当一个用户对资金的最大需求量不超过银行家现有资金时就可接纳该用户;(Request <= Available )

(2)用户可以分期贷款,但贷款的总数不能超过最大需求量;(Request<=Need)。

(3)当银行家现有的资金不能满足用户的尚需贷款数时,对用户的贷款可推迟支付,但总能在用户有限的时间里得到贷款;

(不符合“安全性条件”暂时不给贷款)

(4)当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。

2.课程设计的要求描述:

在多道程序系统中,虽可借助于多个进程的并发执行来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险----死锁。死锁是指多个进程在运行中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法向前推进。银行家算法是最具有代表性的避免死锁的算法,它的基本思想是分配资源之前,判断系统是否是安全的,若是才分配资源。

设计一个n个并发进程共享M个系统资源的程序实现银行家算法。要求包含: (1) 简单的选择界面

(2) 能显示当前系统资源的占用和剩余情况

(3) 为进程分配资源,如果进程要求的资源大于系统剩余的资源,不予分配并且提示分

配不成功。

(4) 撤销作业,释放资源。

3.实现的功能描述:

1、先对系统资源进行预设,有A、B、C三个系统资源。 2、再输入三个进程对系统资源的最大需求。 3、再输入当前三个进程已分配的系统资源。

4、进程可以继续对系统资源进行申请,如果进程要求的资源大于系统剩余的资源,不予分配并且提示分配不成功。

5、对系统安全性进行检查,如果系统安全则得出安全序列。

三、课程设计实现描述