动态分区分配算法设计实验报告

动态分区分配算法设计实验报告

ID:30009243

大小:19.44 KB

页数:11页

时间:2018-12-25

动态分区分配算法设计实验报告_第1页
动态分区分配算法设计实验报告_第2页
动态分区分配算法设计实验报告_第3页
动态分区分配算法设计实验报告_第4页
动态分区分配算法设计实验报告_第5页
资源描述:

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

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划动态分区分配算法设计实验报告  操作系统实验四  【实验题目】:动态分区分配算法  【实验学时】:4学时  【实验目的】  通过这次实验,加深对动态分区分配算法的理解,进一步掌握首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的实现方法。  【实验内容及要求】  问题描述:  设计程序模拟四种动态分区分配算法:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的工作过程。假设内存中空闲分区个数为n,空闲分区大小分别为P1,…,Pn,在动态分区分配过

2、程中需要分配的进程个数为m,它们需要的分区大小分别为S1,…,Sm,分别利用四种动态分区分配算法将m个进程放入n个空闲分区,给出进程在空闲分区中的分配情况。  程序要求:  1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种动态分区分配算法模拟分区分配过程。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的

3、分配情况。  3)输入:空闲分区个数n,空闲分区大小P1,…,Pn,进程个数m,进程需要的分区大小S1,…,Sm。  4)输出:首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分配情况。  实现源代码:  #include  #include  #include  #include  #definemax100  usingnamespacestd;  intwork_num;  intzone_num;  structData{  intdata;  charname;  };  Data*d=newData[max];  structTabl

4、e{  intdata;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  chararray[max];  intlength;  };  Table*T=newTable[max];  Table*temp=newTable[max];  voidInit()  {  ifstreaminf("");  inti,j;  charch;  inf>>work_num;  cout>zo

5、ne_num;  cout>d[i].data;  cout>T[j].data;  temp[j].data=T[j].data;  T[j].length=0;  temp[j].length=0;  cout··················14  一.循环首次适应算法  1.概述:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  该算法是由首次适应算法演变而成的。在为进程分配内

6、存空间时,不再是每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直至找到一个能满足要求的空闲分区,从中划出一块的请求大小相等的内存空间分配给作业。为实现该算法,应设置一起始查找指针,用于指示下一次起始查询的空闲分区,并采用循环查找方式,即如果最后一个空闲分区的大小仍不能满足要求,则返回到第一个空闲分区,比较大小是否满足,找到后,应调整起始查询指针。  2.需求分析  了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。采用首次适应算法的动态分区分配过程alloc()和回收过程free()。  空闲分区通过空

7、闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间,即每次分配内存空间是总是从低址部分开始进行循环,找到第一个合适的空间,便按作业所需分配的大小分配给作业。作业完成时,需要释放作业所占空间,此时要考虑到四种情况:  (1)回收区与插入点的前一个空闲分区相邻接。此时将二者合并,修改前一分区的大小。  (2)回收区与插入点的后一空闲分区相邻接,将二者合并,用回收区的首址作为新空闲区的首址。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其

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

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

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