资源简介
NULL
博文链接:https://touch-2011.iteye.com/blog/1046321
代码片段和文件信息
#include
#define PROCESS_AMOUNT 5 //进程数量
#define RESOURCE_AMOUNT 3 //资源数量
//系统提供的各类资源的最大量
int Resoure_Max[3]={1057};
//各个进程需要的最大资源数量
int Max[PROCESS_AMOUNT][RESOURCE_AMOUNT]={
{753}
{322}
{902}
{222}
{433}
};
//以分配给每个进程的资源数量
int Allocation[PROCESS_AMOUNT][RESOURCE_AMOUNT]={
{010}
{202}
{302}
{211}
{002}
};
//各个进程还需要的资源数量
int Need[PROCESS_AMOUNT][RESOURCE_AMOUNT];
//工作向量,表示系统可提供的资源数量
int Work[RESOURCE_AMOUNT];
//记录各个进程是否完成,0表示未完成,1表示完成
int Finish[PROCESS_AMOUNT]={0};
//记录各个进程执行完成的顺序
int Sort[PROCESS_AMOUNT];
//判断是否安全,即寻找安全序列
int is_safe();
//在Need矩阵中查找是否所需的各个资源数量都小于Work数组的资源数量,查找成功返回下标,不成功返回一个负数
int search_need();
void main()
{
int ij;
Work[0]=Resoure_Max[0];
Work[1]=Resoure_Max[1];
Work[2]=Resoure_Max[2];
for(i=0;i for(j=0;j Need[i][j]=Max[i][j]-Allocation[i][j];
if(j==0)
Work[j]-=Allocation[i][j];
else if(j==1)
Work[j]-=Allocation[i][j];
else if(j==2)
Work[j]-=Allocation[i][j];
}
if(is_safe()){
printf(“找到这样的安全系列:\n“);
for(i=0;i printf(“%-3d“Sort[i]);
printf(“\n“);
}else
printf(“此时刻不安全!!\n“);
}
//判断是否安全,即寻找安全序列
int is_safe()
{
int iindexj;
for(i=0;i index=search_need();
if(index<0)
return 0;
else{
for(j=0;j Work[j]+=Allocation[index][j];
Finish[index]=1;
Sort[i]=index;
}
}
return 1;
}
//在Need矩阵中查找是否所需的各个资源数量都小于Work数组的资源数量,查找成功返回下标,不成功返回一个负数
int search_need()
{
int ij;
for(i=0;i if(Finish[i]==1)
continue;
for(j=0;j if(Need[i][j]>Work[j])
break;
if(j==RESOURCE_AMOUNT)
return i;
}
return -1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2246 2011-05-16 23:40 源代码\bank.c
目录 0 2011-05-16 23:42 源代码
----------- --------- ---------- ----- ----
2246 2
相关资源
- 进销存数据库表设计
- 乱码的简单处理
- DB4o 将一个对象保存到文件中,然后查
- 简单的chrome插件实现自动登录.
- 简单的记账程序
- StarFlow 工作流--自由流
- 邀请QQ好友-QQ联系人导入
- 使用Unitils测试DAO
- 初识Papervision3D
-
Tinkerpop + JanusGraph + Hba
se简单实现 - 前端在线播放flv视频
- redis使用过程中由于序列化工具引起的
- SpringSession同时支持Cookie和header策略
- OpenCV+SVM简单应用-------路面箭头分类
- IM_layim
- Bootstrap学习笔记之Nestable可拖拽树结构
- jersey 2.2 +spring 3.1.0.RELEASE+hibernate 3.3
- 视图对象VO、DTO的应用!
- QTreeView 使用自定义Model
- 页面分区域展示
- 海量图片的分布式存储及负载均衡研
- 网上票务系统概要设计二
- util类
- CKEDITOR 编辑器本地上传图片好
-
ba
se64加密解密的hive udf函数 - 精通Hadoop电子书(中文版)
- 将文件到指定路径的OCX控件
- 绿色版FTP quick easy ftp server
- 如何将windows里面的文件导入到Linux虚
- 终于成功使用asdoc生成了文档
评论
共有 条评论