[发明专利]一种终端的内存池的管理方法有效
| 申请号: | 200810094547.7 | 申请日: | 2008-04-22 |
| 公开(公告)号: | CN101286878A | 公开(公告)日: | 2008-10-15 |
| 发明(设计)人: | 吴勇 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/56;H04L29/08;G06F12/08 |
| 代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙洪;霍育栋 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 终端 内存 管理 方法 | ||
技术领域
本发明涉及通信系统,尤其涉及一种终端的内存池的管理方法。
背景技术
在终端无线通信协议栈软件设计过程中,为了提高系统的实时性,可以通过采取减少线程切换、系统调用或者减少内存操作的开销等策略;内存管理的效率是影响系统开销的重要因素之一,在通信产品的设计过程中一般都有自己独立的内存管理系统。
另外,在协议栈的设计中,各个协议层都有消息的处理功能模块和消息的收发功能模块;消息处理实体负责加工处理各种各样的消息,而每条消息可能会经过许多实体的处理或者转发才能得到完整的处理。由于消息的收发一般都是通过承载在某种物理设备上的一定通信协议来实现消息发送和接收,因此,就有可能发生流量过大而导致的消息拥塞和丢失的问题。此外,考虑到消息处理过程中都需要消耗一定的资源,所以每个消息处理实体的消息处理能力都是有一定限度的,不可能在一定时间内处理无限多条消息。在这些情况下,对消息发送的流量做必要的流控就成为迫切的要求,一个好的内存管理系统对协议层进行流控是非常关键的。
当前的一种动态内存池的实现方法,其中,可配置多个由固定大小内存页面构成的内存缓冲池,内存页面的大小和数量可由应用指定;对于特定页面大小的内存缓冲池,在系统允许的范围内,页面的数量可由系统动态扩充或回收,并对应用透明。
另外,当前还有一种有效使用存储器的存储池管理方法,其中使用了一个搜索顺序表,该顺序表输入了所请求的存储区容量范围和相应的搜索顺序,搜索控制部分响应请求,通过搜索顺序表找到要搜索的子存储池。
综上所述,当前方法在内存管理都有独特之处,并且在大部分场合具有通用性,但是无线终端设备在硬件上具有内存相对较小,处理器处理能力相对较弱的特点,因此需要结合已有的内存管理方法和终端设备自身的特点提出一种简单,高效,且有利于维护链路流量控制、维护安全的内存管理方法。
发明内容
本发明所要解决的技术问题是提供一种终端的内存池的管理方法,其中内存池的内存页面的数量可由系统动态扩充,而且能在一定程度上提高内存空间分配的效率和减少内存碎片,同时增加相应的状态信息和流控标志来帮助控制流控。
为了解决上述问题,本发明提供了一种终端的内存池的管理方法,包括,
首先进行内存池的初始化,设立多个内存池队列,并分别配置各个内存池的参数;
内存池的初始化后,对内存池的流控是通过在内存池中配置最高水位线、最低水位线,同时在内存空间申请和/或回收空间的过程中判断当前处于最高水位线和最低水位线上下间的可继续扩充的内存块数和禁止申请标志的设置来完成;其中,最高水位线、最低水位线表示内存池中可继续扩充的内存块数量多少的两个位置线。
进一步地,上述管理方法还可包括,在内存池的初始化中,还包括,
根据申请的内存池总共的大小PoolSize和配置的每次扩充申请内存页面的大小BlockSize,得到总共申请最大的可扩充内存块数MoreOver、和内存池可继续扩充的内存块数P;
其中MoreOver的数值为PoolSize减1后除以BlockSize得到的数值再进行取整,然后再1;P的数值为MoreOver减1。
进一步地,上述管理方法还可包括,所述分别配置各个内存池的参数,包括内存块指针、内存申请指针、可扩充内存块个数、最低水位线、最高水位线;如果内存池需要互斥访问,则初始化互斥信号量。
进一步地,上述管理方法还可包括,当所述禁止申请标志为真时,则内存池停止内存空间申请,否则进行内存空间申请;当进行内存空间申请后,如果内存池中可继续扩充的内存块数量满足禁止申请条件,则将禁止申请标志置为真,停止内存空间申请;随着内存池空间的回收,当内存池中可继续扩充的内存块数量回到最高水位线上时,则将禁止申请标志置假,进行内存空间申请;在最高水位线和最低水位线间的内存空间相当于缓冲,避免在分配与停止间反复引起震荡,同时避免搜索内存块链表,提高系统分配的效率。
进一步地,上述管理方法还可包括,当内存池中可继续扩充的内存块数量在最高水位线上,则将禁止申请标志设置为假,内存池进行内存空间申请;当内存池中可继续扩充的内存块数量在所述最低水位线下,则将禁止申请标志设置为真,内存池停止内存空间申请。
进一步地,上述管理方法还可包括,在内存池进行内存空间申请时,判断禁止申请标志是否为真,如果为真,则此时内存空间不足,内存池停止内存空间申请;否则,内存池进行内存空间申请;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810094547.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:微型防伪海报集藏卡
- 下一篇:一种配制冰鲜花果茶的方法





