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

其他范文 时间:2020-02-28 02:52:50 收藏本文下载本文
【www.daodoc.com - 其他范文】

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

操作系统实验:银行家算法

姓名:李天玮

班级:软工1101 实验内容:

在windows系统中实现银行家算法程序。

学号:201126630117 实现银行家算法所用的数据结构:

假设有5个进程3类资源,则有如下数据结构: 1.MAX[5,3] 5个进程对3类资源的最大需求量。2.AVAILABLE[3]系统可用资源数。

3.ALLOCATION[5,3]5个进程已经得到3类资源的资源量。4.NEED[5,3]5个进程还需要3类资源的资源量。

银行家算法:

设进程1提出请求Request[N],则银行家算法按如下规则进行判断。(1)如果Request[N]

AVALIABLE=AVALIABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。

安全性检查:

(1)设置两个工作向量WORK=AVAILABLE;FINISH[M]=FALSE.(2)从晋城集合中找到一个满足下述条件的进程,FINISH[i]=FALSE NEED

(3)设进程获得资源,可顺利执行,直至完成,从而释放资源。

WORK=WORK+ALLOCATION FINISH[i]=TRUE GOTO(2)

(4)如所有进程FINISH[M]=TRUE,则表示安全;否则系统不安全。

1.用init()函数对于数据的初始化

关键代码:

#define M 5 #define N 3

void init(){

cout

} cout

{ } cin>>AVAILABLE[j];for(int j=0;j>MAX[i][j];} //cout

cout

for(int i=0;i

} cout

} for(int j=0;j>NEED[i][j];} //cout>ALLOCATION[i][j];} //cout

}// Stack around the variable 'AVAILABLE' was corrupted.显示数据详细信息

进行测试 输入一号进程号,并给需要申请资源设定为{1,0,2}

检验错误输入时候的报错信息

检验当再次申请0号资源并申请资源数目为{0,2,0}时,系统提示系统不安全申请不成功。

每当验证申请成功后会进行的修改操作:

if(flag=='Y'||flag=='y')//进?行D数簓据Y修T改?

{ changdata(i);

}

} if(chkerr(0)){

} else showdata();rstordata(i);showdata();else showdata();cout>flag;退?出?演Y示?";

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

计算机操作系统实验报告题 目 利用银行家算法避免死锁一、实验目的:1、加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。2、要求编写和调试......

死锁_银行家算法实验报告

实验目的银行家算法是避免死锁的一种重要方法。通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁、产生死锁的必要条件、安全状态等重要概念,并掌握避免死锁......

操作系统课程设计模拟银行家算法避免死锁(优秀)

模拟通过银行家算法避免死锁一、银行家算法产生的背景及目的1:在多道程序系统中,虽然借助于多个进程的并发执行来改善系统的利用率,提高系统的吞吐量,但可能发生一种危险—死锁......

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

实验四死锁一、实验目的 当系统的总资源数m小于或等于所有进程对对资源的最大需求时,就可能产生 死锁。死锁会引起计算机系统的瘫痪。银行家算法是在实现资源分配时避免死锁......

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

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

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

文档为doc格式

热门文章
点击下载本文