[发明专利]一种微内存系统的内存管理方法有效
申请号: | 200910037588.7 | 申请日: | 2009-03-04 |
公开(公告)号: | CN101826054A | 公开(公告)日: | 2010-09-08 |
发明(设计)人: | 赵俊化;张木军;胡胜发 | 申请(专利权)人: | 安凯(广州)软件技术有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 广州知友专利商标代理有限公司 44104 | 代理人: | 宣国华 |
地址: | 510630 广东省广州市天河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 系统 管理 方法 | ||
技术领域
本发明涉及一种内存管理方法,尤其涉及一种微内存系统的内存管理方法。
背景技术
现有技术中,LINUX和WINDOWS CE内存管理方法都是基于内存边界识 别法来实现的。
内存边界标识法:是一种传统的动态存储分配算法,在每个内存区的头部和 底部两个边界上分别设有标识,以识别该区域为占有块或空闲块,使得在回收用 户释放的空闲块时容易判别在物理位置上与其相邻的内存区域是否为空闲块,以 便将所有地址连续的空闲存储区组合成一个尽可能大的空闲块。
内存块的结构如图1所示,每个内存区的头部四个变量和底部两个变量记录 内存块的信息。头部四个变量的信息包括:前驱内存块的地址(*llink),内存块空 闲占用标志(tag),内存块的大小(size),后继内存块的地址(*rlink)。底部两个变 量的信息包括:本内存块的地址(*uplink),内存块空闲占用标志(tag)。在头部 和底部之间的空间为供用户使用的空间。所有的空闲内存块链接起来形成双重循 环链表结构。
每个内存区中记录内存块的信息的标识的大量数据信息都要常驻在物理内 存中。由于微内存系统,内存极其紧张,这种方法是不可取的,会影响微内存系 统的运行速度和性能。而且该方法分配内存需要遍历整个内存链,而链中节点分 布在多个零散的内存页(以4K为单位)中,这意味着分配一个内存需要导换多个 页面在物理内存和nand flash中进出,内存分配是非常频繁的动作,此时频繁导 换的效率微内存系统自然无法接受。
发明内容
本发明目的在于提供一种适合微内存系统的内存管理方法,减少常驻内存的 数据,而且分配释放内存无需遍历导换页数据,大大提高系统的性能和速度。
本发明的目的可以通过以下方案实现:一种微内存系统的内存管理方法,其 特征在于,只将内存块包含的部分信息常驻在内存中,将所述的部分信息组成该 内存块的索引表;当内存块小于256K时,将内存块状态、内存块类型和内存块 大小三个信息常驻在内存中,组成该小内存块的索引表;当内存块大于256K而 小于4M时,将内存块状态、内存块类型、内存块大小和内存块ID索引号四个 信息常驻在内存中,组成该大内存块的索引表;利用小内存的索引表和大内存的 扩展索引表进行内存管理。
所述内存块小于256K时的索引表结构依次划分为:一个1位二进制数字记 录该内存块状态,一个1位二进制数字记录该内存块类型,一个14位二进制数 字记录该内存块大小。所述的索引表设定为占用两个字节空间,8位二进制为一 个字节。
所述内存块大于256K而小于4M时的索引表结构依次划分为:一个1位二 进制数字记录该内存块状态,一个1位二进制数字记录该内块存类型,一个4 位二进制数字记录该内存块ID索引号,一个10位二进制数字记录该内存块大小 的前10位数据;还需要扩展一个8位的二进制变量记录内存大小的后8位数据, 将该扩展变量与所述的该内存块索引表组成扩展索引表常驻在内存中。所述的索 引表设定为占用三个字节空间,8位二进制为一个字节。
所述的小于256K的内存块,该索引表中记录的类型为“小”。
所述的大于256K而小于4M的内存块,该索引表中记录的类型为“大”。
本发明相对现有技术优点在于:利用了小内存的索引表和大内存的扩展索引 表进行内存管理的方法,大大减少了常驻内存数据;分配释放内存不需要遍历导 换页数据,提高了系统的速度和效率。
附图说明
图1是现有技术中内存边界识别法的内存边界表示图;
图2是本发明实施例的内存空间分布示意图;
图3是本发明的内存块地址偏移示意图;
图4是本发明的内存分配、释放示意图。
具体实施方式
首先分配内存空间:假定一个堆容量为10个分配块,每个分配块长度为32 字节,如图2所示,每个编号行代表一个状态。一个连续内存空间,分为空闲空 间和分配空间两种:
分配空间:如编号5里的以(2,-4)开头的连续4个块空间,逗号前的2 表示前面一个已分配空间的偏移地址,逗号后的-4表示从本块开始连续4个块 为分配空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安凯(广州)软件技术有限公司,未经安凯(广州)软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910037588.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便携式非接触式智能卡读写装置
- 下一篇:具有故障诊断功能的控制系统和方法