动态不等长存储资源分配算法

动态不等长存储资源分配算法

ID:14229244

大小:227.00 KB

页数:7页

时间:2018-07-27

动态不等长存储资源分配算法_第1页
动态不等长存储资源分配算法_第2页
动态不等长存储资源分配算法_第3页
动态不等长存储资源分配算法_第4页
动态不等长存储资源分配算法_第5页
资源描述:

《动态不等长存储资源分配算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、200X级XXXX专业集美大学诚毅学院2011~2012学年第一学期集美大学诚毅学院信息工程系实验报告课程名称计算机操作系统序号名称实验六动态不等长存储资源分配算法姓名学号专业计算机0991日期2011.11.26成绩教师评语:200X级XXXX专业集美大学诚毅学院2011~2012学年第一学期1.实验目的:1.理解动态异长存储分区资源管理;2.掌握所需结构和管理程序;3.了解各种存储分配算法的优点和缺点;2.实验环境linux3.实验内容•按要求编写最佳适应算法(BF)、最坏适应算法(WF)和循环首次适应算法(NF);•编写测试数据:–要求至少分配5次;–释放区域、再次请求,能够检测是否满

2、足要求:能够检查所采用的算法;–释放时是否进行相邻区域合并;4.实验程序#ifdefHAVE_CONFIG_H#include#endif#include#include#defineMAPSIZE100//最大100个空闲分区//空闲区域表structmap{intm_addr;intm_size;};//定义100个单元的空闲分区表structmapmap[MAPSIZE];intBF_malloc(structmap*mp,intsize){registerinta,s;registerstructmap*bp,*bpp;for

3、(bp=mp;bp->m_size;bp++){if(bp->m_size>=size){a=bp->m_addr;s=bp->m_size;for(bpp=bp;bpp->m_size;bpp++){if(bpp->m_size>=size&&bpp->m_sizem_addr;s=bpp->m_size;bp=bpp;}}bp->m_addr+=size;if((bp->m_size-=size)==0)do{bp++;(bp-1)->m_addr=bp->m_addr;}while((bp-1)-

4、>m_size=bp->m_size);return(a);}}return(-1);}//连续分区分配方式的内存回收算法mfree(structmap*mp,intsize,intaa){registerstructmap*bp;registerintt,a;a=aa;//要释放的起始地址for(bp=mp;bp->m_addr<=a&&bp->m_size!=0;bp++);if(bp>mp&&(bp-1)->m_addr+(bp-1)->m_size==a){(bp-1)->m_size+=size;if(a+size==bp->m_addr){(bp-1)->m_size+=bp->

5、m_size;while(bp->m_size){bp++;(bp-1)->m_addr=bp->m_addr;(bp-1)->m_size=bp->m_size;}}}else{if(a+size==bp->m_addr&&bp->m_size){//与后合并bp->m_addr-=size;bp->m_size+=size;}elseif(size)do{//无合并200X级XXXX专业集美大学诚毅学院2011~2012学年第一学期t=bp->m_addr;bp->m_addr=a;a=t;t=bp->m_size;bp->m_size=size;bp++;}while(size=t);

6、}}voidinit(){structmap*bp;intaddr,size;inti=0;bp=map;printf("Pleaseinputstartingaddressandtotalsize:");scanf("%d,%d",&addr,&size);bp->m_addr=addr;bp->m_size=size;(++bp)->m_size=0;}voidshow_map(){inti=0;structmap*bp;bp=map;printf("Currentmemorymap...");printf("AddressttSize");while(bp->m_siz

7、e!=0){printf("<%dtt%d>",bp->m_addr,bp->m_size);bp++;}printf("");}main(){inta,s;200X级XXXX专业集美大学诚毅学院2011~2012学年第一学期inti;init();do{show_map();printf("Pleaseinput:1forrequest,2forrelease,0forexit:");sca

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。