操作系统课程设计 - 动态分区分配存储管理(3)

2019-08-30 23:32

} }

//思路:先把空闲列表检索一遍,选出最佳答案,进行分配

void best_fit()//最佳算法--按顺序检索,把与进程要求内存大小最接近的快分配给进程 {

int i; int s;

int j=-9999;//用来保存最接近的答案 int e;//用来存放进行比较时的中间结果

11

}

{

if(ary1[id2][3]!=2) } } else{ }

cout<<\与\不匹配\stream.open(\

stream<<\与\不匹配\stream.close(); n=k;

//-------------------------- vision(); break; }

{

ary2[k][0]=ary1[id2][0]; ary2[k][1]=ary1[id2][1]; ary2[k][2]=ary1[id2][2]; k++; }

ary1[s][3]=ary1[s-1][3];

}

//改变第k+1块内容:对应的数组是ary1[k] ary1[k][0]=ary1[k-1][0]+1; ary1[k][1]=d-ary1[k-1][1];

ary1[k][2]=ary1[k-1][1]+ary1[k-1][2];

//-------------------------- //----改变空闲表分配情况----

k=0;

for(id2=0;id2

}else {

cout<<\与\最佳相匹配\stream.open(\

int k; int l; int d; int id2; vision(); { e=9999; j=-9999;

for(s=0;s

cout<<\与\所有空闲盘块不匹配\stream.open(\

if((ary2[s][1]>=ary3[i])&&(e>ary2[s][1]))//满足分配要求 {

e=ary2[s][1]; }

j=s;

for(i=0;i

stream<<\与\所有空闲盘块不匹配\ stream.close();

stream<<\与\最佳相匹配\ stream.close();

if(ary2[j][1]==ary3[i]) { } else

12

for(l=k;l

ary2[l-1][0]=ary2[l][0]; ary2[l-1][1]=ary2[l][1]; ary2[l-1][2]=ary2[l][2]; ary1[k-1][3]=2; k=ary2[j][0];

}

//最坏适应算法 void worst_fit()

13

}

{

if(ary1[id2][3]!=2) } }

vision();

n=k; }

for(k=j+1;k

ary2[k][0]++;

{

ary2[k][0]=ary1[id2][0]; ary2[k][1]=ary1[id2][1]; ary2[k][2]=ary1[id2][2]; k++; }

{

//把对应的内存分配进行更改 k=ary2[j][0]; d=ary1[k-1][1]; ary1[k-1][1]=ary3[i]; ary1[k-1][3]=2; m++;

for(l=m;l>ary2[j][0]+1;l--) { }

k=ary2[j][0]; ary1[k][0]=k+1;

ary1[k][1]=d-ary1[k-1][1];

ary1[k][2]=ary1[k-1][1]+ary1[k-1][2]; ary1[k][3]=0; k=0;

ary1[l-1][0]=ary1[l-2][0]+1; ary1[l-1][1]=ary1[l-2][1]; ary1[l-1][2]=ary1[l-2][2]; ary1[l-1][3]=ary1[l-2][3];

for(id2=0;id2

{

}else {

cout<<\与\最差相匹配\stream.open(\

int i; int s;

int j=-9999;//用来保存最接近的答案

int e=-9999;//用来存放进行比较时的中间结果 int k; int l; int d; int id2; vision(); {

j=-9999; e=-9999; for(s=0;s

cout<<\与\所有空闲盘块不匹配\stream.open(\

if((ary2[s][1]>=ary3[i])&&(e

e=ary2[s][1]; }

j=s;

for(i=0;i

stream<<\与\所有空闲盘块不匹配\ stream.close();

stream<<\与\最差相匹配\ stream.close();

if(ary2[j][1]==ary3[i]) {

k=ary2[j][0];

ary1[k-1][3]=2;

for(l=k;l

ary2[l-1][0]=ary2[l][0]; ary2[l-1][1]=ary2[l][1];

14

{

if(ary1[id2][3]!=2) } }

vision();

15

n=k; }

for(k=j+1;k

ary2[k][0]++;

{

ary2[k][0]=ary1[id2][0]; ary2[k][1]=ary1[id2][1]; ary2[k][2]=ary1[id2][2]; k++; }

} else {

//把对应的内存分配进行更改 k=ary2[j][0]; d=ary1[k-1][1]; ary1[k-1][1]=ary3[i]; ary1[k-1][3]=2; m++;

for(l=m;l>ary2[j][0]+1;l--) { }

k=ary2[j][0]; ary1[k][0]=k+1;

ary1[k][1]=d-ary1[k-1][1];

ary1[k][2]=ary1[k-1][1]+ary1[k-1][2]; ary1[k][3]=0; k=0;

ary1[l-1][0]=ary1[l-2][0]+1; ary1[l-1][1]=ary1[l-2][1]; ary1[l-1][2]=ary1[l-2][2]; ary1[l-1][3]=ary1[l-2][3]; } n--;

ary2[l-1][2]=ary2[l][2];

for(id2=0;id2


操作系统课程设计 - 动态分区分配存储管理(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:桥梁基础类型的选择 - 图文

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

马上注册会员

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