操作系统实验2-银行家算法模拟实验

实验二 银行家算法模拟实验

一. 实验目的

通过对银行家算法的模拟加深对死锁问题和避免死锁策略的理解。

二. 实验内容

用C语言实现银行家算法的模拟

三. 实验类别

死锁问题的解决

四. 实验类型

模拟实验

五. 主要仪器

电脑

六. 运行结果

系统安全可以分配的:

系统不安全,不可以进行分配:

七. 程序清单

#include

#include

#include

#define W 10 //最大进程数W=10

#define R 20 //最大资源总数=20

int AVAILABLE[R];//可利用资源向量

int MAX[W][R];//最大需求矩阵

int ALLOCATION[W][R]; //分配矩阵

int NEED[W][R];//需求矩阵

int REQUEST[R];//进程请求向量

int WORK[R];//可利用的各资源数

char FINISH[W];//各进程的完成状态

void check();//安全性检查算法函数声明

int m,n,i,j;//m为进程数目,n为资源总类数目

int k;//记录提出资源请求的进程号

int main(int argc, char* argv[])

{

printf("请输入进程数目:\n"); scanf("%d",&m); printf("请输入资源的总类:\n"); scanf("%d",&n); printf("请输入每个进程最多需要的资源数目:\n"); for(i=0;i

for(i=0;i

printf("请输入各资源现有数目:\n");//输入各资源现有数目

printf("提出请求的是进程几?(0~m-1)\n");

scanf("%d",&k);

printf("请输入此进程的对各个资源的请求数目:\n"); for(j=0;j

ALLOCATION[k][j]+=REQUEST[j];

NEED[k][j]-=REQUEST[j];

}

void check()

{

for(int i=0;iWORK[j]) { } f=0;//没有找到满足要求的进程 WORK[j]=AVAILABLE[j];//WORK[i]表示可提供进程继续运行的各类资源数 FINISH[i]=false; // 初始化进程均没得到足够资源数并完成 for(int j=0;j

f=1; } } { } FINISH[i]=true; p=1; for(j=0;j

NEED[k][j]+=REQUEST[j];

} } else printf("系统安全,可以进行资源分配!!!!\n");


相关内容

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

    实验目的 1. 了解银行家算法是避免死锁的一种重要方法. 2. 加深理解有关资源申请.避免死锁等概念. 3. 体会.理解死锁和避免死锁的具体实施方法. 4. 模拟实现银行家算法,用银行家算法实现资源分配. 一. 实验内容 1. 画出银行家算 ...


  • 银行业务模拟系统的实现

    程序设计与算法综合训练>设计报告3 学号:E11514064 姓名:汪泓章 年级: 大一 专 业:计科 项目名称:银行业务模拟系统的设计与实现完成日期:2016年7月1日 1.需求分析 (1)问题描述:假设某银行有四个窗口对外接待客户 ...


  • 微型计算机实验报告

    目 录 实验一 A/D与D/A转换 . ............................................ 2 实验二 数字滤波器 ........................................... ...


  • 第三方物流模板

    西华大学实验报告 开课实验室:交通与汽车工程学院物流实验室 实验时间: 年 月 日 1.实验目的 2.实验设备.仪器及材料 3.实验内容 3.1 一般实验(非上机实验): 3.1.1实验方案设计与选择(设计性.创新性实验需写该项内容) 3. ...


  • 基于多层神经网络的洗钱风险评估方法

    计 算 机 工 程 第 36 卷 第22期 Vol.36 No.22 Computer Engineering ·人工智能及识别技术· 文章编号:1000-3428(2010)22-0181-03 文献标识码:A 2010年11月 Nove ...


  • 毕设开题报告

    毕设开题报告 毕设开题报告 毕设开题报告 (二) 一 .选题背景和意义 信用卡起源于美国.1915年,美国的一些百货商店.饮食娱乐业.汽油公司向特定顾客发放一种金属徽章作为信用筹码,顾客可凭徽章在商店及其分号赊购商品,约期付款,这就是信用卡 ...


  • 广工操作系统2015实验报告

    实 验 报 告 课程名称操作系统实验 学生学院计算机学院 专业班级计算机科学与技术 学 号 学生姓名 指导教师 孙为军 2015 年12月30日 实验一 进程调度 一.实验目的 编写并调试一个模拟的进程调度程序,以加深对进程的概念及进程调度 ...


  • 风险建模及预警方法理论介绍

    风险建模及预警方法理论介绍 1.蒙特卡罗方法 ...................................................................................... 1 2.决策树法 . ...


  • 实验六模拟处理机调度算法

    实验六 模拟处理机调度算法 一.实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态.当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器.本实验模拟在单处理器情况下处理器调度,帮助自己加深了解 ...