好文档 - 专业文书写作范文服务资料分享网站

操作系统课程设计银行家算法

天下 分享 时间: 加入收藏 我要投稿 点赞

cout<

cout<<\*|\

}/*-------------------------输出函数结束--------------------------------*/

/*-------------------------试分配函数----------------------------------*/ void tryfenpei(int n) {

int i;

cout<<\您输入的是 \进程\ cout<<\该进程需求量为: \ for(i=0;i

cout<

cout<<\请输入请求资源的数目:\ for(i=0;i

while(cin>>Request[i]) {

if (Request[i]<0) {

cout<<\输入的数字无效.\ }

else if (Request[i]>Need[n][i]) {

cout<<\超出进程需求量\ }

else if (Request[i]>Available[i]) {

cout<<\系统没有足够的可用资源量满足进程需要\ }

else break; } }

cout<<\输入成功,输入的是:\ for(int f=0;f

cout<

cout<<\执行银行家算法,进行试分配...\

15

for( f=0;f

Available[f] = Available[f] - Request[f];

Allocation[n][f] = Allocation[n][f] + Request[f]; Need[n][f] = Need[n][f]-Request[f]; }

cout<<\试分配完成!\

}/*-------------------------试分配函数结束----------------------------------*/

/*-------------------------安全检测函数----------------------------------*/ void checksafe(int x) {

cout<<\进入安全性检测...\ int i,m,apply,j,k=0,flag=0; int Work[M],temp[N];

bool Finish[N]; //t为进程数 for(i=0;i

Work[i]=Available[i]; }

for(i=0;i

Finish[i]=false; }

for(i=0;i

apply=0;

for(j=0;j

if (false==Finish[i] && Need[i][j]<=Work[j]) {

apply++;//标记是否所需的资源都得到满足 if(apply==c) {

for(m=0;m

Work[m]=Work[m]+Allocation[i][m];//变分配数 w=w+a

}

Finish[i]=true;

temp[k++]=i;//将满足的进程号存入temp[]数组中

16

i=-1; //若有进程满足条件则从头开始寻找 } } } }

for(i=0;i

if(Finish[i]==false) {

cout<<\试分配后系统不安全!!! 本次资源申请不成功!!!\ cout<<\等待恢复原来的数据...\ refenpei(in); return ; } }

cout<<\安全序列:\ cout<<\分配的序列:\ for(i=0;i

cout<<\ }

cout<<\

cout<<\已通过安全性测试!\

cout<<\开始给第 \进程分配资源...\ cout<<\分配完成!等待打印输出...\ Print(); return ;

}/*-------------------------安全性检查函数结束----------------------------------*/

/*-------------------------恢复数据函数----------------------------------*/ void refenpei(int i) {

for(int f=0;f

Available[f] = Available[f] + Request[f];

Allocation[i][f] = Allocation[i][f] - Request[f]; Need[i][f] = Need[i][f] + Request[f]; }

cout<<\数据已恢复初始状态...\Print(); }

17

设计体会 教师评语: 成绩: 指导教师: 设计体会 教师评语: 成绩: 指导教师:

8c2g03rawa3bj0w6hx4a
领取福利

微信扫码领取福利

微信扫码分享