1 / 5
文档名称:

操作系统首次最佳适应算法.doc

格式:doc   大小:83KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统首次最佳适应算法.doc

上传人:sssmppp 2019/10/8 文件大小:83 KB

下载得到文件列表

操作系统首次最佳适应算法.doc

文档介绍

文档介绍::..学号 专业 姓名 实验日期 教师签字 成绩 实验報告[实验名称]采用可变式分区管理,使用首次获最佳适应算法实现内存分配与回收【实验目的与原理】1、 理解首次获最佳适应算法的内涵,并熟练掌握该算法。2、 学会可变式分区管理的原理是即在处理作业过程中建立分区,使分区大小正好适合作业的需要,并且分区个数是可以调整的。3、 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区没有时应将空闲区一分为二。为了便于快速查找,要不断地对表格进行紧缩,即让“空表目”项留在表的后部。4、 当一个作业执行完成时,作业所占用的分区应归还给系统。作业的释放区与空闲区的邻接分以下四种情况考虑:①释放区下邻(低地址邻接)空闲区;②释放区上邻(高地址邻接)空闲区③释放区上下都与空闲区邻接;④释放区与空闲区不邻接。【实验内容】#include<>#include<iostream>Sinclude<string>usingnamespacestd;constintMAXJOB=100;//定义表最人记录数typedefstructnode{intfront;intlength;chardata[20];}job;jobfrees[MAXJOB];//定义空闲区表intfree_qucintity;upys[MAXJ0B];//upyquantity;//初始化函数voidinitialO{inti;for(i=0;i<MAXJ0B;i++){frees[i]・front二T;freesti]・length=0;strcpy(frees[i]・data,"free");occupys[i]・front=T;occupys[i]・1ength=0;strcpy(occupysti]・data,z,”);}free_quantity=O;occupyquantity=0;}〃创建空闲分区表intcreatfreeO{FTLE*fp;charfname[20];cout<<"请输入空闲区数据文件来源的文件名:”;cin>>fntime;if((fp=fopen(fname,,,r,,))==NLLL){cout<<"错误,文件打不开,请检查文件名z/«endl;}else{whilc(!fcof(fp)){fscanf(fp,"%d\t%d\rT,&frees[freequantily]・fYonl,&frees[free_quantity]>length);_quantity++;}cout«,/空闲的分区表己建立!\『;return1;}return0;}voidsort()//将free空间安首地址从小到人的顺序排列{inti,j,p;for(i=0;i<free_quantity-l;i++){P=i;for(j=i+l;j<_quantity;j++){if(frees[j].front<frees[p].front){p=j;}}辻(p!=i){frees[free_quantity]=frees[i];frees[i]=s[p];freesIp|=frees[free_quantity];}}}〃显示函数voidshow(){inti;cou