1、 数学与计算机学院 课程设计说明书 课 程 名 称: 操作系统原理-课程设计 课 程 代 码: 题 目: 银行家算法 年级/专业/班: 2009 级软件工程 2 班 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 12 月 05 日 完 成 时 间: 2011 年 12 月 2525 日 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新(5) 说明书撰写质量(45) 总 分 (100) 指导教师签名: 年 月 日 目 录 1 1 引引 言言 1 1.1 问题的提出 1 1.2 任务与分析 1 2 2 需求分析需求分析 . 1 2.1 数据的初始化.
2、1 2.2 银行家算法 1 2.3 系统安全性的检测 . 1 2.4 显示功能 1 2.5 恢复功能 1 2.6 菜单功能 2 3 3 程序运行平台程序运行平台 2 4 4 总体设计总体设计 . 2 5 5 详细设计详细设计 . 2 5.1 数据的录入 . 2 5.2 显示模块 4 5.3 系统安全状态检测 5 5.4 系统试为进程分配资源 . 7 5.5 恢复函数 8 5.6 菜单选项 8 6 6 系统测试系统测试 . 9 7 7 结论结论 13 参考文献参考文献 15 摘摘 要要 随着计算机的普及计算机的日新月异,计算机可以说在飞速的发展着,计算 机领域的相关技术也越来越高,许多的技术得到
3、了较好的改进,使计算机越来越 满足人们的要求和生活习惯,这也是计算机得到飞速发展的原因之一, 。随着计算 机的发展,人们对计算机的需求也越来越高,为了防止用户操作过于平凡,导致 计算机同一时刻进程过多而产生死锁,所以本次任务主要是编写银行家算法避免 计算机产生死锁。经过分析,本次主要是银行家算法通用程序的编写,以及测试 所跟进程状态的安全性,经查阅相关资料,了解了银行家算法的大体思路,经过 设计流程图,用 java 语言,利用 neatbean 6.9 实现了银行家算法的通用程序, 该程序具有输入进程资源以及计算机可利用资源的数量,即初始化。输出资源进 程资源信息,检测系统安全性,进程请求资源
4、,系统试为进程分配资源,不成功 恢复资源等功能。因此银行家算法的各种功能基本已经实现。 关键词:关键词:银行家算法通用程序;计算机;避免死锁的算法 -1- 银行家算法 1 引引 言言 1.1 问题的提出问题的提出 在多道程序程序系统中,虽可借助于多个进程的并发执行来改善系统资源利用率, 提高系统的额吞吐量,但是可能会发生一种危险死锁。所谓死锁,是指多个进程在运 行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用, 他们将无法再向前推进。为了避免这种情况的发生,本次利用课程设计之际,编写了一 个银行家算法通用程序,避免死锁在发生。 1.2 任务与分析任务与分析 本课题主要的目的是编写银行家算法通用程序, 功能主要包括银行家算法中数据 结构的初始化,银行家算法的实现,安全性检测的算法实现等等。以及对给定的状 态进行测试安全性等。 2 2 需求分析需求分析 2.1 1 数据的初始化数据的初始化