教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

天津科技大学操作系统实验1-5(9)

来源:网络收集 时间:2026-08-26
导读: //iAllocation[N][M]为系统中每一类资源当前已分配给每一进程的资源数 int //进程名 char cName[N]={'a','b','c','d','e'}; bool bExitFlag=true; //退出标记 char ch; //接收选择是否继续提出申请时传进来的值 boo

//iAllocation[N][M]为系统中每一类资源当前已分配给每一进程的资源数 int //进程名

char cName[N]={'a','b','c','d','e'}; bool bExitFlag=true; //退出标记 char ch;

//接收选择是否继续提出申请时传进来的值

bool bSafe; //存放安全与否的标志 //计算iNeed[N][M]的值 for(i=0;i

for(j=0;j

iNeed[i][j]=iMax[i][j]-iAllocation[i][j];

iNeed[N][M],iAllocation[N][M]={{0,1,1},{2,0,0},{3,0,2},{2,1,1},{0,0,2}};

//输出初始值

output(iMax,iAllocation,iNeed,iAvailable,cName); //判断当前状态是否安全

bSafe=safety(iAllocation,iNeed,iAvailable,cName); //是否继续提出申请

24

}

while(bExitFlag) { }

cout<<\继续提出申请?\\ny为是;n为否。\\n\cin>>ch; switch(ch) {

case 'y':

bSafe=banker(iAllocation,iNeed,iAvailable,cName); if (bSafe) //安全,则输出变化后的数据

output(iMax,iAllocation,iNeed,iAvailable,cName); break;

//cout<<\调用银行家算法\

case 'n':

cout<<\退出。\\n\ bExitFlag=false; break;

default:

cout<<\输入有误,请重新输入:\\n\}

//输出

void output(int iMax[N][M],int iAllocation[N][M],int iNeed[N][M],int iAvailable[M],char cName[N]) {

int i,j;

cout<<\cout<<\for(i=0;i

cout<

cout<

25

}

cout<

cout<<\for(j=0;j

cout<

//Available只需要输出一次 if (i==0)

for(j=0;j

cout<

cout<

}

//安全性算法,进行安全性检查;安全返回true,并且输出安全序列,不安全返回false,并输出不安全的提示;

bool safety(int iAllocation[N][M],int iNeed[N][M],int iAvailable[M],char cName[N]) {

int i,j,flag,x=0; char Name[N]; int Work[M];

bool Finish[N]; for(j=0;j

flag=0; for(i=0;i

if(Finish[i]==false && Work[0]>=iNeed[i][0] && {

for(j=0;j

Work[j]=iAvailable[j]; Finish[i]=false;

for(i=0;i

Work[1]>=iNeed[i][1] && Work[2]>=iNeed[i][2])

26

天津科技大学操作系统实验1-5(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614421.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)