- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)