动态分区最佳适应算法c语言,使用最佳适应算法对内存实现模拟动态分区管理...

摘要: 内存动态分区管理的算法是操作系统课程中一个重要内容,理解和学习不同的分区算法能够为深入学习操作系统等知识提供一定的理论知识和实践依据。本文采用C语言程序设计出最佳适应算法来模拟计算机内存分区管理,减少内存分配时产生的碎片,以此提高操作系统的稳定性。

关键词: C语言;模拟;内存分区;分配管理;最佳适应算法

中图分类号:TP301 文献标识码:A 文章编号:1006-4311(2013)16-0214-02

1 模拟算法的设计思想

计算机操作系统的最佳适应算法(Best Fit)是动态内存分区分配算法的一种[1]。它能够从全部空闲区找出满足作业要求并且最小的空闲分区,这种算法能够让产生的碎片尽量缩小。为了提高寻找速度,这种算法要求将所有的空闲区按其内容以从小到大的顺序形成一个空闲分区链。这样,第一次找到的能满足要求的空闲区,必然是最佳的[2]。最佳适应算法利用的思想就是将地址相邻近的自由区与回收区进行有效地合并,通过初始化空闲区、分配空闲区、回收空闲区实现模拟的内存管理,从而尽量减少碎片的产生,并尽可能的利用内存空间。

2 模拟算法的设计

2.1 定义空闲分区链结构

初始化时内存分配最大值定义为35670。

全局变量申明:

设置分区描述器:

2.2 主函数

主函数main()包括:建立头结点head;定义内存分配申请1和回收内存2的选择,如果输入1则输入申请的内存大小并调用分配函数assign1=assignment(head,application1),若assign1->address==-1则分配不成功&

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值