操作系统课设-银行家算法(2)
五、源程序代码
#include
#define M 10 //最大进程数
#define N 3 //系统所拥有的资源类型
int Max[M][N];//进程对各类资源的最大需求
int Allocation[M][N];//系统已为进程所分配的各类资源数 int Need[M][N];//运行进程尚需的各类资源数 int Work[N];//运行进程时系统所拥有的资源数
bool finish[M];//表示系统是否有足够的资源分配给进程 int Available[N];//系统可利用的资源数 int n_pro=0;//进程的数目
int flag[M]={-1};//用于标记安全序列
int Readfile();//从磁盘读文件
int Safe1(int flag[],int n,int t);//输出所有安全状态 void show();
int Safe();//判断系统是否处于安全状态 int Request();//请求资源分配函数
void show() {
printf(\ \\t%-9s\\t%-9s\\t%-9s\\n\ printf(\ \\tA B C\\tA B C\\tA B C\\n\ for(int i=0;i printf(\系统可利用资源数:\\n\ printf(\ \\tA\\tB\\tC\\n\ printf(\} int Readfile()//从磁盘读文件 { int i=0,j=0;//i表进程,j表资源 ifstream inFile; //文件 inFile.open(\打开输入文件,按照规定的格式提取线程等信息 for(j=0;j inFile >> Available[j]; inFile.get(); printf(\系统最大资源数:\\n\ printf(\ \\tA\\tB\\tC\\n\ printf(\ inFile >> n_pro; inFile.get(); printf(\当前进程的数目:%d\\n\ while(i for(j=0;j printf(\显示初始化资源分配表:\\n\ show(); printf(\ return 0; } int Safe()//判断系统是否是安全的 { int tempn=n_pro; int i=0,j=0,t=0; for(i=0;i // printf(\// printf(\ tp=(Work[0]>=Need[i][0]) && (Work[1]>=Need[i][1]) && (Work[2]>=Need[i][2]); if(tp) { finish[i]=true; for(int j=0;j printf(\ break; } } } tempn--; } for(i=0;i {printf(\系统不安全,不存在安全序列\\n\ printf(\系统是安全的,存在安全序列:\\n\ for(j=0;j int Safe1(int flag[],int n,int t) { int p,i,j; //p为标记 int temp[N];//临时数组 for(i=0;i p=1; } else continue; for(int j=0;j for(j=0;j return 0; } int Request()//进程提出请求后,判断系统能否将资源分配给它 { int rq;//下标 int Request[N]; printf(\请输入需要请求的进程号(0~4):\ scanf(\ printf(\请输入需要请求的资源数(A B C):\ scanf(\ if(Need[rq][0] < Request[0] || Need[rq][1] < Request[1] || Need[rq][2] < Request[2]) { printf(\进程p%d申请的资源大于它所需要的资源\\n分配不合理,不予分配\\n\\n\ return -1; } if(Available[0] < Request[0] || Available[1] < Request[1] || Available[2] for(int j=0;j printf(\假定系统可为p%d分配,分配后的资源分配表:\\n\ show(); printf(\ for(j=0;j return 0; } int main() { printf(\从磁盘读取源文件…\\n\ Readfile();
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




