操作系统银行家算法实验报告_银行家算法实验报告

其他范文 时间:2020-02-27 05:14:07 收藏本文下载本文
【www.daodoc.com - 其他范文】

操作系统银行家算法实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“银行家算法实验报告”。

实验四

死锁

一、实验目的

当系统的总资源数m小于或等于所有进程对对资源的最大需求时,就可能产生 死锁。死锁会引起计算机系统的瘫痪。银行家算法是在实现资源分配时避免死锁的一个著名算法,该算法是在能确保系统处于安全状态时才把资源分配给申请者。通过本实验使学生能进一步理解死锁的概念,并能选择一个算法来避免死锁。

二、实验题目

系统中有m个同类资源被n个进程共享,每个进程对资源的最大需求数分别为S1, S2,…,Sn,且 Max(Si)

三、数据结构

主要数据结构:

Struct aa { void Print();//用于打印输出表格的函数 void Input();//用于输入的函数

void tryfenpei(int i);//试分配函数 void refenpei(int i);//恢复数据函数 void checksafe(int s);//安全检测函数 };

四、银行家算法的流程图 开始初始化资源类数c=3,进程数t=5初始化Available[c],Max[t][c],Allocation[t][c],Need[t][c],Request[c]输入进程数iInt f=0f

五、源代码

#include #include “stdio.h” const unsigned short c = 3;//资源类数 const unsigned short t = 5;//进程数

void Print();//用于打印输出表格的函数 void Input();//用于输入的函数

void tryfenpei(int i);//试分配函数 void refenpei(int i);//恢复数据函数 void checksafe(int s);//安全检测函数

//定义初始化数组 int Available[c], Max[t][c], Allocation[t][c], Need[t][c], Request[c];

int in;//用户选择的进程号

int main(int argc, char *argv[]){ int i;char ch='Y';cout>in){ if(in4){ cout>Request[i]){ if(Request[i]Need[in][i])coutAvailable[i])cout

cout

cout>ch);return 0;}

void Print(){ int i,j;cout0){ cout

void Input(){ for(int j=0;j>Available[j]){ if(Available[j]

{ for(int m=0;m>Max[l][m]){ if(Max[l][m]>Allocation[l][m])if(Allocation[l][m]

void tryfenpei(int i){ for(int f=0;f

//安全检测函数

void checksafe(int s){ int Work, flag, temp[t], i,j,l=0,k=0;bool Finish[t];for(i=0;i

} if(l==5)//一共有三类资源A B C,一条进程下面的安全性检测只检测了A类。如果A类通过了,那么还要判断B类,C类。否则不用 { for(i=0;i

} i=s;//s传递进来赋给i,s是用户输入的进程号(有主函数里的in传递进来)while(i

if(Finish[i]==false&&Need[i][j]“;cout

六、执行结果:

七、实验总结

通过本次实验了解到用银行家算法来预防死锁是可靠的,但也是非常保守的,因为它限制了进程对资源的存取,从而降低了进程的并发运行程度。死锁检测并不限制进程对资源的申请,只要有,就分配,但这也可能造成死锁。但由于死锁并不是经常发生的,故大大提高了系统运行的效率。

总之,通过本实验,使我进一步加深理解和掌握银行家算法。

东南大学操作系统实验报告银行家算法

操作系统实验三:银行家算法的实现一、基本信息:a) 实验题目:银行家算法的实现 b) 完成人姓名:韩璐璐 c) 学号:71114115 d) 报告日期:2016.5.27二、实验目的通过实验,加深对多实例......

操作系统银行家算法(避免死锁)实验报告

操作系统实验:银行家算法姓名:李天玮班级:软工1101 实验内容:在windows系统中实现银行家算法程序。学号:201126630117 实现银行家算法所用的数据结构:假设有5个进程3类资源,则有如......

银行家算法_实验报告

课程设计报告课程设计名称 共享资源分配与银行家算法 系(部)专业班级姓 名学 号指导教师 年 月 日 、目 录一、课程设计目的和意义 ............................................

银行家算法实验报告

计算机操作系统实验报告一、实验名称:银行家算法二、实验目的:银行家算法是避免死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请、避免死锁等概念,并......

银行家算法实验报告

计算机操作系统实验报告何美西109253030212一、实验名称:银行家算法二、实验目的:银行家算法是避免死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请......

下载操作系统银行家算法实验报告word格式文档
下载操作系统银行家算法实验报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文