操作系统试验报告(6)

2019-03-04 12:16

cout<

cout<

cout<

int changdata(int i)//进行资源分配 { int j;

for (j=0;j

Avaliable[j]=Avaliable[j]-Request[j]; Allocation[i][j]=Allocation[i][j]+Request[j]; Need[i][j]=Need[i][j]-Request[j]; } return 1; }

int safe()//安全性算法

{

int i,k=0,m,apply,Finish[100]={0}; int j; int flag=0; for(i=0;i

for(j=0;j

if (Finish[i]==False&&Need[i][j]<=Work[j]) { apply++; if(apply==N) {

for(m=0;m

Work[m]=Work[m]+Allocation[i][m];//变分配数 Finish[i]=True; temp[k]=i; i=-1; k++; flag++; }

} } }

for(i=0;i

cout<<\系统不安全\不成功系统不安全 return -1; } }

cout<<\系统是安全的!\如果安全,输出成功 cout<<\分配的序列:\

for(i=0;i

cout<

void share()//利用银行家算法对申请资源对进行判定 { char ch; int i=0,j=0;

ch='y';

cout<<\请输入要求分配的资源进程号(0-\ cin>>i;//输入须申请的资源号

cout<<\请输入进程 \申请的资源:\for(j=0;j

cout<

cin>>Request[j];//输入需要申请的资源 }

for (j=0;j

if(Request[j]>Need[i][j])//判断申请是否大于需求,若大于则出错 {

cout<<\进程 \申请的资源大于它需要的资源\ cout<<\分配不合理,不予分配!\ ch='n'; break; }

else {

if(Request[j]>Avaliable[j])//判断申请是否大于当前资源,若大于则

{ //出错

cout<<\进程\申请的资源大于系统现在可利用的资源\ cout<<\分配出错,不予分配!\ ch='n'; break; } } }

if(ch=='y') {

changdata(i);//根据进程需求量变换资源 showdata();//根据进程需求量显示变换后的资源 safe();//根据进程需求量进行银行家算法判断 } }

void addresources(){//添加资源 int n,flag;

cout<<\请输入需要添加资源种类的数量:\cin>>n; flag=N; N=N+n;

for(int i=0;i>name[flag];


操作系统试验报告(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超大规模集成电路第七次作业2016秋,段成华

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: