1 / 28
文档名称:

操作系统实验 最佳适应算法最坏适应算法.doc

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

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

分享

预览

操作系统实验 最佳适应算法最坏适应算法.doc

上传人:坐水行舟 2019/7/8 文件大小:520 KB

下载得到文件列表

操作系统实验 最佳适应算法最坏适应算法.doc

文档介绍

文档介绍:膂学号 P71514032 专业 计算机科学与技术 姓名 芀实验日期2017/11/23教师签字成绩袈莄实验报告薂羂【实验名称】 基于顺序搜索的动态分区分配算法(二) 蚇【实验目的】蚈理解在连续分区动态的存储管理方式下,如何实现贮存空间的分配与回收。肃采用可变式分区管理,使用最佳适应算法实现主存空间的分配与回收。蒀采用可变式分区管理,使用最坏适应算法实现主存空间的分配与回收。蚀【实验原理】螈C++语言程序设计蒄 数据结构膂 最佳适应算法葿最坏适应算法袇袅蚀数据结构和符号说明芈1、boolROM[N];//定义主存信息,如果内存被占用,则标记为1,否则标记为0,设置内存单元为1024羇2、pcbnum[20];//定义作业数组,最大支持20个作业羂3、typedefstructPcb//定义作业结构体,包括名称,开始时间,大小,是否执行状态莂{羇charname[10];肇intstart;莃intsize;螀intstate=0;肀}pcb;***主要函数:螄voidfind_free_rom();//寻找空闲区薂voidsort1();//对空闲区进行排序从小到大蝿voidsort1();//对空闲区进行排序从大到小芇voidshow();//显示函数膅voidinsert_pcb1(pcb&a);//最佳适应算法罿voidinsert_pcb2(pcb&a);//最坏适应算法薇voidinit();//初始化函数芇芁算法流程图:蚁莆莇蚂腿荿蒇肃袁膈薆蒄最佳适应算法:荿袇最坏适应算法:蚆袅肁#include<>羀#include<>螆#defineN1024肂boolROM[N];螃intp=0;蝿intcount=0;袆intfree_rom_counter=0;//空闲区数目蒃typedefstructPcb//进程结构体膀{蒈charname[10];袆intstart;袄intsize;//大小螅聿intstate=0;//状态螈}pcb;肇pcbnum[20];//进程数组膂肂typedefstructFree_rom//空闲区结构体袈{膃intnum;袄intstart;袀intend;羈intspace;//空闲区大小薄莂}Free_room;虿肈Free_romfree_rom[100];//空闲区数组羅肄蚂voidshow()//显示空闲区信息***{莆printf("****************************************************************\n\n");薂printf("空闲区名\t开始地址\t\t大小\t\t结束地址\t\t\n");蒁for(inti=1;i<=free_rom_counter;i++)芇printf("%d\t\t%d\t\t\t%d\t\t%d\t\t\n",free_rom[i].num,free_rom[i].start,free_rom[i].space,free_rom[i].end);螇printf("\n");芄printf("****************************************************************\n\n");膀}芇voidfind_free_rom()//寻找空闲区,更新空闲区数组羄{蚂free_rom_counter=0;罿inti,j,p;莇for(i=0;i<N;i++)莅if(ROM[i]==0)莄{羂p=i;蒇for(j=i;j<N;j++)螆{袁螁if(ROM[j]==0)薇{膆i=j;薃continue;蕿}蚇if(ROM[j]==1)//找到就更新信息薇{肁free_rom_counter++;薂free_rom[free_rom_counter].num=free_rom_counter;螇free_rom[free_rom_counter].start=p;蚄free_rom[free_rom_counter].end=j-1;螃free_rom[free_rom_counter].space=j-p;