第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/31 3:28:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

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

搜索更多关于: 操作系统课程设计银行家算法 的文档
操作系统课程设计银行家算法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8c2g03rawa3bj0w6hx4a_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top