欢迎来到天天文库
浏览记录
ID:9854970
大小:17.56 MB
页数:21页
时间:2018-05-12
《动态不等长存储资源分配算法及回收内存》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计课程设计名称:动态不等长存储资源分配算法及回收内存专业班级:计科0903学生姓名:王聪____学号:200948140322指导教师:于俊伟___课程设计时间:2011/06/14计算机科学专业课程设计任务书学生姓名王聪专业班级计科0903学号200948140322题目动态不等长存储资源分配算法及回收内存课题性质其它课题来源自拟课题指导教师于俊伟同组姓名无主要内容(1)分析Unix最先适应(firstfit,ff)存储分配算法。即map数据结构、存储分配函数malloc()和存储释放函数mfree()
2、,找出与算法有关的成分。(2)修改上述算法有关成分,使其分别体现BF(bestfit,最佳适应)分配原则WF(worstfit,最坏适应)分配原则。(3)四种回收内存情况:1,无前空闲区,无后空闲区2,有前空闲区,无后空闲区,3,无前空闲区,有后空闲区4有前空闲区,有后空闲区任务要求理解动态异常存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优缺点。参考文献任满杰等《操作系统原理实用教程》电子工业出版社2006汤子瀛《计算机操作系统》(修订版)西安电子科技大学出版社2001张尧学史美林《计算
3、机操作系统教程》实验指导清华大学出版社2000罗宇等《操作系统课程设计》机械工业出版社2005审查意见指导教师签字:教研室主任签字:年月日1需求分析:理解动态异常存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优缺点。主要是动态分区的首次适应算法,最佳适应算法,最坏适应算法,以及回收算法。2概要设计:本程序把所需算法利用模版集合在一个类中:classMalloc_and_Free,有一个数据结构,structMem_Link{intbeginmem;//初始地址intlength;//空闲区
4、长度Mem_Link*next;//下一个空闲区};为了适应算法的把空闲区集合到一个分区链中还有一个空闲分区表,也包括分配情况,利用数组intM_mem[100];记录分配和回收内存情况,数值数值为0代表未分配,数值为1代表已分配,另付:从M_mem[1]开始处理。用*Firsthead连接首次适应算法的空闲区,*Besthead连接最佳适应算法的空闲区,*Worsthead连接最坏适应算法的空闲区主要有四大板块:1.First_Fit()函数,把空闲区整合到链表中;2.voidFirst_Fit(intjob
5、),voidBest_Fit(intjob),voidWorst_Fit(intjob),结合链表对空闲分区表(M_mem[100];)进行分配;3.voidLink_Best(),首先调用First_Fit(),然后*Firsthead赋值于*Besthead,然后对*Besthead进行从小到大排序;voidLink_Worst(),首先调用First_Fit(),然后*Firsthead赋值于*Worsthead,然后对*Worsthead进行从大到小排序;4.voidputout();直观的查看分配内存
6、情况和回收内存情况。3运行环境:电脑型号LENOVO10018操作系统MicrosoftWindows7旗舰版(32位)CPUAMDAthlon(tm)IIX2250uProcessor(1600MHz)主板LENOVOLENOVO内存2.00GB4开发工具和编程语言:开发工具:MicrosoftVisualC++6.0编程语言:C/C++5详细设计:此处容许我把代码全贴上去,解说数据神马的一切都在代码中#includeusingnamespacestd;structMem_Link{int
7、beginmem;intlength;Mem_Link*next;};classMalloc_and_Free{public://------------初始值设置一些数值,方便查看分配效果,未分配为0,分配后修改为1;从1开始分配或者回收,把0忽视Malloc_and_Free(){inti;for(i=0;i<=5;i++)M_mem[i]=0;for(i=6;i<=11;i++)M_mem[i]=1;for(i=12;i<=33;i++)M_mem[i]=0;for(i=34;i<=40;i++)M_me
8、m[i]=1;for(i=41;i<=50;i++)M_mem[i]=0;for(i=51;i<=66;i++)M_mem[i]=1;for(i=67;i<=90;i++)M_mem[i]=0;for(i=91;i<=99;i++)M_mem[i]=1;}//-------------首次适应算法链表整理---------------------------voidLink_First
此文档下载收益归作者所有