首次适应算法和循环首次适应算法_第1页
首次适应算法和循环首次适应算法_第2页
首次适应算法和循环首次适应算法_第3页
首次适应算法和循环首次适应算法_第4页
首次适应算法和循环首次适应算法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

初始自适应算法和循环初始自适应算法一、实验目的1、深入了解操作系统内存管理过程2、确定内存分配算法的基本应用二、实验要求1.分配时,根据特定分配算法,必须从可用分区表或可用分区链中选择分配给操作的分区完成机器、调试程序的独立编辑。三、实验任务学生被邀请使用C/C实施完整的(可变)动态分区管理器,包括分配、回收、分区碎片整理等。希望学生实现以下功能: n初始化功能:内存状态设置为初始状态。 n分配功能:至少需要两种算法,用户可以选择使用。 n回收功能:n空闲块合并:删除碎片的精简功能。您必须追踪分配给片段集合的空间,并修改其参照以确保参照正确。n显示当前内存的使用状态,可以使用表或图形。四、实验指南1.基本思想动态分割区表示系统未预先分割固定分割区,而是在程式载入时分割记忆体区域,因此配置给程式的分割区大小和程式的需求完全相同,分割区数目是动态的。动态分区灵活性高,固定分区提高了内存利用率。2.数据结构动态分区管理可以使用两种数据结构保留空间分配信息:分配的区表和可用的区表:预定义的系统空间。另一种最常用的方法是提供空闲链路列表的概念,因为分区的操作是动态的,很难预测数据结构占用的空间,空闲区域表占用了宝贵的系统空间。特性是用于管理分区的信息动态生成,与分区和物理地址相邻。这可以简化分配为两个可用块之间距离的空间布局,从而节省系统空间,并且不需要维护有关分配空间的信息。本实验是创建模拟动态分区算法的分配和回收过程的模拟程序,而不是实际分配和回收内存。有两种基本模拟方法:(1)首先在内存中申请一个商店,对该商店执行模拟分配和回收操作。(2)通过不申请存储库而直接定义虚拟存储库,模拟和重新使用此存储库只是修改了数据结构。程序代码:#includeUsing namespace STDint FreePartition100;/空闲分区块数组int first partition100;/第一个自适应算法数组int cyclfirstprtion100;/循环第一个自适应算法数组int ProcessNeed100;/每个任务的大小Int PartitionNum,ProcessNum/分区块数,操作计数/第一个自适应算法Void First()Int i、j;Char strfor(I=0);Ifirstprtion j)ContinueElsefirst partitionj-=process needI;/找到后,从作业大小中减去分区大小-嗯?-嗯?-嗯?-嗯?-嗯?-嗯?-嗯?-嗯?-嗯?str=A I;Cout“操作”cyclecfirstprtion j)/继续;j;Elsecyclecfirstprtionj-=process neededI;str=A I;Cout“任务”PartitionNum输入“Cout”每个分区的大小:“free partitionI”;输入“C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论