云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 武汉轻工大学

武汉轻工大学

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 23:50:19

武汉轻工大学 数学与计算机学院

计算机系统与系统软件 课程设计说明书

题 目: 模拟实现银行家算法实现死锁避免 专 业: 信息管理和信息系统 班 级: 信管1202 学 号: 1205020225 姓 名: 夏蒙 指导老师: 欧阳峥峥

2014年 9 月 10 日

一.目的和要求

在熟练掌握死锁发生原理和解决死锁问题的基础上,利用一种程序设计语言模拟实现利用银行家算法实现死锁避免,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

二.设计内容

模拟实现银行家算法实现死锁避免。

三.设计环境

Windows操作系统、VC++6.0 C语言

四.设计提示

模拟实现银行家算法对系统资源进行分配,以防止死锁的出现。本课题肯定不可能实现对实际操作系统的资源管理,而是通过对模拟资源数据的处理,检测银行家算法在防止死锁出现的作用。 银行家算法描述:

第一部分:银行家算法(扫描)

1.如果Request<=Need,则转向2;否则,出错 2.如果Request<=Available,则转向3,否则等待 3.系统试探分配请求的资源给进程 4.系统执行安全性算法 第二部分:安全性算法 1.设置两个向量

(1).工作向量:Work=Available(表示系统可提供给进程继续运行所需要的各类资源数目)

(2).Finish:表示系统是否有足够资源分配给进程(True:有;False:没有).

初始化为False

2.若Finish[i]=False&&Need<=Work,则执行3;否则执行4(i为资源类别) 3.进程P获得第i类资源,则顺利执行直至完成,并释放资源: Work=Work+Allocation; Finish[i]=true; 转2

请充分理解以上银行家算法描述的核心思想。(详细银行家算法描述见p95)

本课题的设计思路:

? 需根据教材上银行家算法的描述定义一些模拟数据: 系统中资源的种数(假设:n);

每类资源的数量(假设:m1,m2,?,mn); 当前系统中资源的使用情况等。 ? 设计方法:

通过静态数据,人工输入来完成银行家算法的工作流程。此方法只需给出一个当前系统资源的使用情况的模拟数据矩阵(该数据可事先保存于磁盘文件,程序执行后从该磁盘文件读入矩阵数据),然后通过用户手工输入下一个进程的资源申请要求的一维向量(控制台输入,此方式可以输入各种资源请求的可能情况,以检测当前的资源申请后是否系统处于安全状态)。

五、源程序结构分析及代码实现

1.程序结构

程序共有以下五个部分:

(1).初始化chushihua():用于程序开始进行初始化输入数据:进程数量、资源种类、各种资源可利用数量、各进程的各种资源已分配数量、各进程对各类资源最大需求数等。

(2).当前安全性检查safe():用于判断当前状态安全性,根据不同地方的调用提示处理不同。

(3).银行家算法bank():进行银行家算法模拟实现的模块,调用其他各个模块

进行银行家算法模拟过程。

(4).显示当前状态show():显示当前资源分配详细情况,包括:各种资源的总数量(all)、系统目前各种资源可用的数量、各进程已经得到的资源数量、各进程还需要的资源量。 (5).主程序main()

逐个调用初始化、显示状态、安全性检查、银行家算法函数,使程序有序的进行。

2.数据结构

程序使用的全局变量:

const int x=10,y=10; //定义常量

int Available[x]; //各种资源可利用的数量 int Allocation[y][y]; //各进程当前已分配的资源数量 int Max[y][y]; //各进程对各类资源的最大需求数 int Need[y][y]; //还需求矩阵 int Request[x]; //申请各类资源的数量

int Work[x]; //工作向量,表系统可提供给进程运行所需各类资源数量 int Finish[y]; //表系统是否有足够的资源分配给进程,0为否,1为是 int p[y]; //存储安全序列

int i,j; //全局变量,主要用于循环语句中 int n,m; //n为进程的数量,m为资源种类数 int l=0,counter=0;

3.函数声明

void chushihua(); //系统初始化函数 void safe(); //安全性算法函数 void bank(); //银行家算法函数 void show (); //输出当前资源分配情况

4.主函数main()

搜索更多关于: 武汉轻工大学 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

武汉轻工大学 数学与计算机学院 计算机系统与系统软件 课程设计说明书 题 目: 模拟实现银行家算法实现死锁避免 专 业: 信息管理和信息系统 班 级: 信管1202 学 号: 1205020225 姓 名: 夏蒙 指导老师: 欧阳峥峥 2014年 9 月 10 日 一.目的和要求 在熟练掌握死锁发生原理和解决死锁问题的基础上,利用一种程序设计语言模拟实现利用银行家算法实现死锁避免,一方面加深对原理的理

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com