下载此文档

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


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
学号 P71514032 专业 计算机科学与技术 姓名 实验日期2017/11/23教师签字成绩实验报告【实验名称】 基于顺序搜索的动态分区分配算法(二) 【实验目的】理解在连续分区动态的存储管理方式下,如何实现贮存空间的分配与回收。采用可变式分区管理,使用最佳适应算法实现主存空间的分配与回收。采用可变式分区管理,使用最坏适应算法实现主存空间的分配与回收。【实验原理】C++语言程序设计 数据结构 最佳适应算法最坏适应算法数据结构和符号说明1、boolROM[N];//定义主存信息,如果内存被占用,则标记为1,否则标记为0,设置内存单元为10242、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<>#defineN1024boolROM[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;i=j+1;break;}}if(j==N&&ROM[j-1]==0)//对最后一个内存进行特殊处理{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;}}}voidsort1()//最佳适应算法对空闲区从小到大排序{find_free_rom();Free_roma;for(inti=1;i<free_rom_counter;i++)for(intj=1;j<free_rom_counter;j++)if(free_rom[j].space>fre

操作系统实验 最佳适应算法最坏适应算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxnt86
  • 文件大小435 KB
  • 时间2019-06-13