b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

银行家算法程序设计_银行家算法课程设计_银行家算法计算题(2)

电脑杂谈  发布时间:2017-02-16 07:11:44  来源:网络整理

(4)我们再利用安全性检查此时系统是否安全。

由所进行的安全性检查得知,可以找到一个安全序列{P1,P3,P4,P2,P0}。因此,系统是安全的,可以立即将P1所申请的资源分配给它。

(3)P4请求资源

P4发出请求向量Request(3,3,0),系统按银行家算法进行检查:

(1)Request4(3,3,0)≤Need4(4,3,1)。

(2)Request4(3,3,0)>Available(2,3,0),让P4等待。

(4) P0请求资源

P0发出请求向量Request0(0,2,0),系统按银行家算法进行检查:

(1)Request0(o,2,0)<或=Need0(7,4,3));

(5)进行安全性检查

可用资源Available{2,1,0}已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。

如果在银行家算法中,把P0发出的请求向量改为Request(0,1,0),系统是否能将资源分配给它,请读者考虑

四、实验所需仪器、设备、材料

PC机

五、实验预习要求、实验条件、方法及步骤

1)熟练掌握死锁相关的基本概念。

2)熟练掌握避免死锁的有关算法。

3)熟练掌握银行家算法所需的数据结构和算法流程;

4)熟练掌握某一门编程语言,如C、C++或者Dephi等。479

银行家算法课程设计

#include <stdio.h>

#include <stdlib.h>

/*----------------------常量定义--------------------*/

#define F 0

#define T 1

#define n 5 //进程数量

#define m 3 //资源种类数量

/*--------------------------------------------------*/

/*--------------------数据结构定义------------------*/

int Available[m]={3,3,2}; //可用资源

int Work[m]; //工作向量

int Finish[n]; //用以判断系统是否有足够资源分给相应进程

void Recycle(); //若进程运行完资源回收

int backDos(); //判断所有进程是否运行完,完后返回操作系统

/*--------------------------------------------------*/

/*-----------------------进程-----------------------*/

struct PCB

{

int flag; //状态标志,是否运行完

int Max[m]; //资源最大需求量

int Allocation[m]; //已分配资源

int Need[m]; //还需要的资源

int Request[m]; //请求资源量

}P[n];


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-32716-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...