1、目录 第一章 设计目的 1 第二章 设计要求 2 21 问题描述 2 22 基本要求 2 第三章 设计思想、环境说明和使用工具 3 31 设计思想 3 32 环境说明 3 第四章 主要内容 4 41 实现银行家算法的主要数据结构 4 42 算法 4 4.2.1 算法背景. 4 4.2.2 算法实质. 4 4.2.3 前提条件. 4 4.2.4 数据间的关系. 4 43 安全性检测算法. 5 44 银行家算法描述. 5 第五章 算法流程图 6 52 对首次调用的安全检测算法流程图. 7 53 输入算法流程图. 8 第六章 写出程序调试及运行情况 9 61 程序调试. 9 62 运行情况. 10
2、第七章 15 系统设计中出现的问题及解决的方法 15 71 定义问题. 15 72 数组问题. 15 73 程序结构及思路问题. 15 7.3.1 程序结构问题. 15 7.3.2 设计思路. 16 第八章 课程设计的体会 17 第九章 自我评价与总结 18 第十章 程序清单 19 (见附录) 19 参考文献 19 附录 20 操作系统课程设计 1 第一章第一章 设计目的设计目的 通过银行家算法设计与实现, 可以加深学生对死锁的理解, 掌握死锁的预防、 避免、检测和解除的基本原理,重点掌握死锁的避免方法银行家算法。使学生 初步具有研究、设计、编制和调试操作系统模块的能力。 操作系统课程设计 2
3、 第二章第二章 设计要求设计要求 21 问题描述 系统在进行资源分配的过程中,允许进程动态的申请资源,为了避免发生死 锁, 在分配资源前要进行安全性检查, 若此次分配不会导致系统进入不安全状态, 便将资源分配给进程,否则,进程等待。 22 基本要求 设计一个进程动态请求资源的模拟系统,实现随机产生进程请求资源的数 量;资源安全性检查算法;资源的分配算法;以及输出显示每次请求的结果和系 统资源的状态。 操作系统课程设计 3 第三章第三章 设计思想、环境说明和使用工具设计思想、环境说明和使用工具 31 设计思想 输入当前进程资源的使用情况以及整个系统的资源使用情况, 并进行初始化 安全性检查;如果
4、是不安全状态,重新初始化系统;否则,从等待队列中提取一 个等待进程,使用银行家算法进行检测,输出当前系统的状态和安全序列;如果 是安全状态, 系统继续从等待队列中提取等待进程进行检查; 如果是不安全状态, 进程回到等待队列,系统从等待队列中提取等待进程进行检查。系统中申请资源 的进程全部进入等待队列等候处理。 32 环境说明 工具:C 语言。 在 WINDOWS 环境下使用 VC+6.0 进行开发。 操作系统课程设计 4 第四章第四章 主要内容主要内容 41 实现银行家算法的主要数据结构 #include #include #include #include #define q 10 int x; int i,j,k,n; int maxqq,allocationqq,needqq; int availableq; char nameq,h; 42 算法 4.2.1 算法背景 创始人 Dijkstra,该算法因研究用于银行系统现金贷款的发放而得名。 4.2.2 算法实质 要设法保证系统动态分配资