可变分区存储管理方式的内存分配和回收实验报告.pdf

可变分区存储管理方式的内存分配和回收实验报告.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

可变分区存储管理方式的内存分配和回收实验报告

【实验报告】

一、实验目的

了解可变分区存储管理方式的内存分配和回收过程,了解最优算法的

原理和实现方法,掌握最优算法在可变分区存储管理方式下的内存分配和

回收操作。

二、实验原理

最优算法的分配过程如下:

1.初始化内存分区表,将整个内存分为一个未分配的分区。

2.当有新的进程请求内存时,遍历内存分区表,选择满足分配条件且

剩余空间最小的分区进行分配。

3.更新分区表中相应分区的空闲空间,并将分配出去的空间标记为已

分配。

最优算法的回收过程如下:

1.当一些进程结束或释放内存时,遍历分区表,找到对应的已分配分

区。

2.将该分区标记为空闲,并进行合并操作,合并相邻的空闲分区。

3.更新分区表。

三、实验步骤

1.初始化内存分区表,将整个内存设为一个未分配的分区。

2.依次输入若干个进程的大小。

3.按照最优算法进行内存分配和回收。

4.输出每个进程分配的内存空间和内存分区表的状态。

四、实验结果与分析

输入进程大小为:{100KB,200KB,50KB,150KB}

初始内存分区表:{未分配,800KB}

进程1申请100KB,满足分配条件的最小剩余空间为300KB,分配给

进程1后,更新分区表:

分配给进程1的内存:{100KB}

更新后的内存分区表:{已分配,未分配,700KB}

进程2申请200KB,满足分配条件的最小剩余空间为300KB,分配给

进程2后,更新分区表:

分配给进程2的内存:{200KB}

更新后的内存分区表:{已分配,已分配,未分配,500KB}

进程3申请50KB,满足分配条件的最小剩余空间为150KB,分配给进

程3后,更新分区表:

分配给进程3的内存:{50KB}

更新后的内存分区表:{已分配,已分配,已分配,未分配,450KB}

进程4申请150KB,满足分配条件的最小剩余空间为150KB,分配给

进程4后,更新分区表:

分配给进程4的内存:{150KB}

更新后的内存分区表:{已分配,已分配,已分配,已分配,未分配,

300KB}

进程2结束,释放内存,回收进程2占用的空间,更新分区表:

释放进程2的内存:{200KB}

合并空闲分区后的内存分区表:{已分配,已分配,未分配,300KB}

进程3结束,释放内存,回收进程3占用的空间,更新分区表:

释放进程3的内存:{50KB}

合并空闲分区后的内存分区表:{已分配,未分配,300KB}

进程1结束,释放内存,回收进程1占用的空间,更新分区表:

释放进程1的内存:{100KB}

合并空闲分区后的内存分区表:{未分配,400KB}

进程4结束,释放内存,回收进程4占用的空间,更新分区表:

释放进程4的内存:{150KB}

合并空闲分区后的内存分区表:{未分配,550KB}

五、实验总结

通过本次实验,我对可变分区存储管理方式的内存分配和回收过程有

了更深入的了解。最优算法能够有效地减少内存碎片,提高内存利用率。

在实验中,我们通过最优算法对多个进程进行内存分配和回收,并观察了

内存分区表的变化。通过实验结果,我们可以看到,在最优算法的作用下,

内存空间得到了最佳利用,并且内存分区的合并操作也减少了内存碎片的

产生。掌握最优算法对于理解和应用可变分区存储管理方式具有重要意义。

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档