[发明专利]一种内存分配方法及装置有效
申请号: | 201010114512.2 | 申请日: | 2010-02-12 |
公开(公告)号: | CN102156675A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 王继刚;李翌 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李健;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 分配 方法 装置 | ||
1.一种内存分配方法,包括:
将内存空间划分为内存普通区和内存保留区;
当接收到应用的内存申请请求后,判断所述内存普通区中的内存量是否达到所述应用申请的内存量,如果未达到,则判断所述应用是否为紧急应用,如果该应用为紧急应用,则从所述内存保留区中为该紧急应用分配内存资源。
2.如权利要求1所述的方法,其特征在于,所述从所述内存保留区中为该紧急应用分配内存资源的方法包括:
从所述内存保留区的空闲内存链表中查找一个容量大于所述紧急应用所申请内存量的空闲内存块;
将该空闲内存块的容量与预先配置的内存容量阈值进行比较,若该空闲内存块的容量大于所述内存容量阈值,则将该空闲内存块拆分为使用块和未用块,所述使用块的容量等于所述内存容量阈值,将所述使用块分配给所述紧急应用。
3.如权利要求2所述的方法,其特征在于,该方法还包括:
将所述使用块从所述空闲内存链表中删除,将所述未用块添加到块链表和所述空闲内存链表中。
4.如权利要求2所述的方法,其特征在于:
若所述空闲内存块的容量小于所述内存容量阈值,则将该空闲内存块分配给所述紧急应用,并将该空闲内存块从所述空闲内存链表中删除。
5.如权利要求1所述的方法,其特征在于,该方法还包括:
当所述紧急应用结束后,将为该紧急应用分配的内存块释放给所述内存保留区。
6.如权利要求5所述的方法,其特征在于,所述将为该紧急应用分配的内存块释放给所述内存保留区的方法包括:
从块链表中查询所释放的内存块的前一内存块的状态,若该前一内存块为空闲状态,则将该释放的内存块与该前一内存块合并,并将所述释放的内存块从所述块链表中删除;若该前一内存块为使用状态,则将所要释放的内存块添加到空闲内存链表中。
7.如权利要求6所述的方法,其特征在于,该方法还包括:
从所述块链表中查询所要释放的内存块的后一内存块的状态,若该后一内存块为空闲状态,则将该释放的内存块与该后一内存块合并,并将该后一内存块从所述块链表和空闲内存链表中删除。
8.一种内存分配装置,包括:引导模块和内存管理子系统;
所述引导模块,用于将内存空间划分为内存普通区和内存保留区;
所述内存管理子系统,用于在接收到应用的内存申请请求后,判断所述内存普通区中的内存量是否达到所述应用申请的内存量,如果未达到,则判断所述应用是否为紧急应用,如果该应用为紧急应用,则从所述内存保留区中为该紧急应用分配内存资源。
9.如权利要求8所述的装置,其特征在于,所述内存管理子系统从所述内存保留区中为该紧急应用分配内存资源的方法包括:
从所述内存保留区的空闲内存链表中查找一个容量大于所述紧急应用所申请内存量的空闲内存块;
将该空闲内存块的容量与预先配置的内存容量阈值进行比较,若该空闲内存块的容量大于所述内存容量阈值,则将该空闲内存块拆分为使用块和未用块,所述使用块的容量等于所述内存容量阈值,将所述使用块分配给所述紧急应用。
10.如权利要求9所述的装置,其特征在于:
所述内存管理子系统,还用于当所述紧急应用结束后,将为该紧急应用分配的内存块释放给所述内存保留区,具体包括:从块链表中查询所释放的内存块的前一内存块的状态,若该前一内存块为空闲状态,则将该释放的内存块与该前一内存块合并,并将所述释放的内存块从所述块链表中删除;若该前一内存块为使用状态,则将所要释放的内存块添加到空闲内存链表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010114512.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:油孔孔口设有倒角的液压转向器阀套
- 下一篇:车载型停车篷