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

存储器的分配与回收算法实现

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

p3->size=m->size;

p3->address=m->address; if((p3->address-p1->address)==(p1->size))

p1->size=p1->size+p3->size;

}

else

{

p1->next=p3; p3->next=NULL;

}

}

}

return(head);

void print(struct idle *h1,struct allocate *h2)

{

struct idle *m1; struct allocate *n1; m1=h1; n1=h2; if(m1==NULL)

{

printf(\空闲表为空 !\\n\

}

else

{

while(m1!=NULL)

{

printf(” 空闲单元地址为 %d,其大小为 %d\\n\

}

}

if(n1==NULL)

{

printf(\已分配表为空 !\\n\

}

else

{

while(n1!=NULL)

{

printf(\已 分 配 单 元 地 址 为 %d, 其 大 小 为 %d, 其 名 称 为 %d\\n ”,

n1->address ,n 1->size ,n1->n ame);

n1=n1->next;

}

}

}

void FF(void)

struct idle *p1; struct allocate *p2; struct job *p,*q; int y=1; int n=0; int a=1;

int c; p1=creatidle(); p2=creatallocate(); printf(\初始情况为 :\\n\while(a==y) {

printf(\请输入要进行的操作 :1.建立作业 2.删除作业 3.结束操作 \\n\switch(c)

{

case 1: p=creatjob(); p1=init1(p1,p); p2=reallocate(p2,p); print(p1,p2);break; case 2: q=delejob(p2); p2=del(p2,q); //p2=reallocate(p2,q); p1=unite(q,p1);

print(p1,p2);break; case 3: y=0;break;

}

}

}

void BF(void)

{

struct idle *p1; struct allocate *p2; struct job *p,*q; int y=1; int n=0; int a=1;

int c; p1=creatidle(); p2=creatallocate(); printf(\初始情况为 :\\n\while(a==y)

{

printf(\请输入要进行的操作 :1.建立作业 2.删除作业 3.结束操作 \\n\switch(c)

{

case 1: p=creatjob(); p1=init2(p1,p); p2=reallocate(p2,p); print(p1,p2);break; case 2: q=delejob(p2); p2=del(p2,q); //p2=reallocate(p2,q); p1=unite(q,p1);

print(p1,p2);break; case 3: y=0;break;

}

}

}

void WF(void)

{

struct idle *p1; struct allocate *p2; struct job *p,*q;

int y=1; int n=0; int a=1;

int c; p1=creatidle(); p2=creatallocate(); printf(\初始情况为 :\\n\while(a==y)

{

printf(\请输入要进行的操作 :1.建立作业 2.删除作业 3.结束操作 \\n\switch(c)

{

case 1: p=creatjob(); p1=init3(p1,p); p2=reallocate(p2,p); print(p1,p2);break; case

2:

q=delejob(p2);

p2=del(p2,q);

//p2=reallocate(p2,q);

p1=unite(q,p1);

print(p1,p2);break; case 3: y=0;break;

}

}

}

运行结果如下

1.首次适应算法建立作业

SI \ents and Settincs\\hp\\^面\\cu存備器分配与回CTXDeliucX^W. eze 掘闲軍元地址为1 .其大小为[盹 己分 配表为空! 青输入要进行的操作[建立作业 靑输入要运行的作业的名称与大/Z L 2Q 壬闲单元地址为如耳古小为師 己分配单元ite址为大小为仇其名称为丄 靑轴入要进行的操作:「建立作业农删除作业札结東操作 40 匕卜为翎

木小为20, 称为1 t大小为祁魚名称癌 ?建止作业2?删篠作业3?结東操作 输入要删除的作业的名称 LRLJ 元H£ 勺元」X 单61其 为个 0^忙 肖p 要为?」-40fsllik丸结束操作 操命 大立/'L_■ 2.最优适应算法建立作业

存储器的分配与回收算法实现

p3->size=m->size;p3->address=m->address;if((p3->address-p1->address)==(p1->size))p1->size=p1->size+p3->size;}else{p1->next=p3
推荐度:
点击下载文档文档为doc格式
6kkk9112fo8n6j4879hw6x2111f27v00bgb
领取福利

微信扫码领取福利

微信扫码分享