欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年首次适应算法和循环首次适应算法 .pdf

    • 资源ID:34238037       资源大小:46.69KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年首次适应算法和循环首次适应算法 .pdf

    首次适应算法和循环首次适应算法一、实验目的1、加深操作系统内存管理过程的理解2、掌握内存分配算法的基本应用二、实验要求1. 在分配时,须按照一定的分配算法,从空闲分区表或空闲分区链中选取一分区分配给该作业2. 上机时独立完成编辑,调试程序。三、实验任务请同学们用C/C+实现一个完整的(可变)动态分区管理器, 包括分配,回收,分区碎片整理等。希望同学们实现如下功能:n 初始化功能:内存状态设置为初始状态。n 分配功能:要求至少使用两种算法,用户可以选择使用。n 回收功能:n 空闲块的合并:即紧凑功能,用以消除碎片。当做碎片整理时,需要跟踪分配的空间,修改其引用以保证引用的正确性。n 显示当前内存的使用状态,可以使用表格或图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 形。四、实验指导1基本思想动态分区是指系统不预先划分固定分区,而是在装入程序的时候划分内存区域,使得为程序分配的分区大小恰好等于该程序的需求量,且分区的个数是动态的。显然动态分区有较大的灵活性,较之固定分区能获得好的内存利用率。2数据结构动态分区管理可以用两种数据结构实现,一种是已分配区表和空闲区表,也就是用预先定义好的系统空间来存放空间分配信息。另一种也是最常用的就是空闲链表,由于对分区的操作是动态的, 所以很难估计数据结构所占用的空间,而且空闲区表会占用宝贵的系统空间,所以提出了空闲链表的概念。其特点是用于管理分区的信息动态生成并和该分区在物理地址上相邻。这样由于可以简单用两个空闲块之间的距离定位已分配空间,不仅节约了系统空间,而且不必维持已分配空间的信息。本实验是要做一个模拟程序,来模拟动态分区算法的分配和回收过程,并不是真正的去分配和回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 收内存。基本的模拟方法有两种:(1) 、先从内存中申请一块存储区,对这块存储区进行模拟的分配和回收活动。(2) 、不申请存储区,自己定义一块虚拟的存储区,对这块存储区进行模拟的分配和回收活动,分配和回收仅仅是对数据结构的修改而已。程序代码:#include using namespace std; intFreePartition100;/空闲分区块数组intFirstPartition100;/首次适应算法数组intCycleFirstPartition100;/循环首次适应算法数组intProcessNeed100;/每个作业的大小intPartitionNum,ProcessNum;/分区块数,作业数/ 首次适应算法void First() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - inti,j; charstr; for(i=0;iPartitionNum;i+) FirstPartitioni=FreePartitioni; for(i=0;iProcessNum;i+)/找出第一块满足作业的分区for(j=0;jFirstPartitionj) continue; else FirstPartitionj-=ProcessNeedi;/找到后把分区大小减去作业的大小? ? ? ? ? ? ? ?str=A+i; cout 作业 str在第 j+1 块分区中 endl; break; coutendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - cout 分配之后剩余情况:endl; ? ?for(i=0;iPartitionNum;i+) coutFirstPartitioni ; coutendlendl; / 循环首次适应算法voidCycleFirst() inti,j=1; charstr; for(i=0;iPartitionNum;i+) CycleFirstPartitioni=FreePartitioni; for(i=0;iProcessNum;i+) /for(j=0;jPartitionNum;j+) j=j-1; while(jCycleFirstPartitionj) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - /continue; j+; else CycleFirstPartitionj-=ProcessNeedi; str=A+i; cout 作业 str在第 j+1 块分区中 endl; break; /j+; /coutj ; if(j=PartitionNum&i!=ProcessNum) i=-1; coutendl; cout 分配之后剩余情况:endl; for(i=0;iPartitionNum;i+) coutCycleFirstPartitioni ; coutendlendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - void main() inti; cout 输入分区块数: PartitionNum; cout 输入每个分区的大小:endl; for(i=0;iFreePartitioni; cout 输入作业数: ProcessNum; cout 输入每个作业的大小:endl; for(i=0;iProcessNeedi; cout-首次适应算法-endl; First(); cout-循环首次适应算法-endl; ? ?CycleFirst(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 六、 实验总结在一开始老师布置这次的实验题目时,自己根本不知道要干什么,因为在上课时对动态分区分配这节内容不是太了解,所以在上机时不知道如何下手,后来,将本章内容反复的看了几遍之后,终于有了自己的思路。在程序的编写过程中,我并没有按照书上所说的定义了双向链表来实现各种算法的执行,我只简单的运用了结构体数组, 通过这种方法比较容易理解与编写,在这几个算法中, 只有循环首次适应算法编写起来有点困难,因为涉及到了循环, 而其他的算法只运行一遍就能够得出所要的效果, 因此在程序中, 我使用了一个全局变量来掌控循环以及记录上次运行到的地方,只要理解了算法的主要思想, 编写程序就比较容易了。另外,还有一点是在本实验中还有一个算法没有编写,即快速适应算法, 这个算法必须要求使用链表,因为要根据其容量大小进行分类,将其单独设立一个空闲的分区链表。这是程序需要改进的地方, 由于这次临近考试,暂时没有编写, 在以后的时间中,一定会将此算法编写出来。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

    本文(2022年首次适应算法和循环首次适应算法 .pdf)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开