内存分配算法实验报告

内存分配算法实验报告

ID:29983392

大小:21.38 KB

页数:21页

时间:2018-12-25

内存分配算法实验报告_第1页
内存分配算法实验报告_第2页
内存分配算法实验报告_第3页
内存分配算法实验报告_第4页
内存分配算法实验报告_第5页
资源描述:

《内存分配算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划内存分配算法实验报告  实验4可变分区的内存分配算法模拟  1.实验目的  通过模拟可变分区的以下内存分配算法,掌握连续分配存储器管理的特点,掌握以下四种分配算法的优缺点并进行对比。  首次适应分配算法;  循环适应分配算法;  最佳适应分配算法;  最坏适应分配算法。  2.实验环境  装有操作系统WindowsXP和开发工具VC++,内存在256M以上的微机;或者:装有Linux(Fedora7)操

2、作系统和gcc编译器,内存在256M以上的微机。  3.实验内容  用户可用的内存空间为64K,按下面的现有分区情况进行初始化,可在屏幕上显示  接收用户进程的内存申请格式为:作业名、申请空间的大小。按照上述的一种分配算法进行分配,修改空闲分区表,并在屏幕上显示分配后的内存状态。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划

3、  用户进程执行完成后,或者从外部撤销用户进程,将内存进行回收,修改空闲分区表,并在屏幕上显示回收后的内存状态。  4.实验要求  (1)将四种算法的源程序及程序执行结果写入实验报告;  (2)将四种算法的工作机理写入实验报告。  代码:  #include  #include  #defineFree0//空闲状态  #defineBusy1//已用状态  #defineOK1//完成  #defineERROR0//出错  #defineMAX_length64//最大内存空间为64KB  typedefin

4、tStatus;  intflag;  typedefstructfreearea//定义一个空闲区说明表结构  {  longsize;//分区大小  longaddress;//分区地址  intstate;//状态  }ElemType;  //线性表的双向链表存储结构目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  

5、typedefstructDuLNode  {  ElemTypedata;  structDuLNode*prior;//前趋指针  structDuLNode*next;//后继指针  }  DuLNode,*DuLinkList;  DuLinkListblock_first;//头结点  DuLinkListblock_last;//尾结点  Statusalloc(int);//内存分配  Statusfree(int);//内存回收  StatusFirst_fit(int);//首次适应算法  St

6、atusBest_fit(int);//最佳适应算法  StatusWorst_fit(int);//最差适应算法  voidshow();//查看分配  StatusInitblock();//开创空间表  StatusInitblock()//开创带头结点的内存空间链表  {  block_first=(DuLinkList)malloc(sizeof(DuLNode));  block_last=(DuLinkList)malloc(sizeof(DuLNode));  block_first->prior

7、=NULL;  block_first->next=block_last;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  block_last->prior=block_first;  block_last->next=NULL;  block_last->=0;  block_last->=MAX_length;  bl

8、ock_last->=Free;  returnOK;  }  //分配主存  Statusalloc(intch)  {  intrequest=0;  cout>request;  if(request=request;  temp->=Busy;  DuLNode*p=block_first->next;  while(p)  {  if(p->==Free&&p-

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

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

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