[发明专利]嵌入式实时操作系统中内存释放的方法有效
申请号: | 200410032012.9 | 申请日: | 2004-03-25 |
公开(公告)号: | CN1556475A | 公开(公告)日: | 2004-12-22 |
发明(设计)人: | 鲁旭;缪敬;张芝萍;王陈;芦东昕 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 深圳市楼外楼专利事务所 | 代理人: | 曹建军 |
地址: | 518057广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种嵌入式实时操作系统中内存释放的方法,预先在系统中划出一块内存区;把划出的内存区设置成大小为2km的K种内存池;在系统初始化的时候,建立一个索引;当程序需要内存块时,首先在含有此大小内存块的描述数组中查找有没有空置出来的块,如果有,则按顺序分配给需要的程序;如果没有,则从内存区中按顺序申请内存块。在释放内存的时候,先求得索引的下标,通过索引确定被释放的内存块属于哪个内存池;然后进一步得到被释放内存块在内存池中的位置,最后释放。采用本发明所述的释放方法,解决了内存模块中可能出现的HEAD头被破坏而导致释放失败的情况可以提高系统的效率,降低了释放出错的风险。 | ||
搜索关键词: | 嵌入式 实时 操作系统 内存 释放 方法 | ||
【主权项】:
1、一种嵌入式实时操作系统中内存释放的方法,包括:1.1预先在系统中划出一块内存区,设大小为X;1.2把划出的内存区根据需要设置成大小为m,2m,4m,8m,16m...2km的K种内存池,不同大小的内存池分别有nk块可供分配;1.3在系统初始化的时候,建立一个索引,索引指向内存块所属的内存池的位置;1.4当程序需要内存块时,根据所需的内存块大小,首先在含有此大小内存块的描述数组中查找有没有空置出来的块,如果有,则按顺序分配给需要的程序;如果没有,则从内存区中按顺序申请内存块,并根据申请内存块的大小在含有此大小的内存块的描述数组尾部添加,然后分配,同时修改描述数组中该块内存标识为已经分配;1.5在释放内存的时候,先求得索引的下标,通过索引确定被释放的内存块属于哪个内存池;然后进一步得到被释放内存块在内存池中的位置,最后释放。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200410032012.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种拦漂排自溃装置及其自溃方法
- 下一篇:一种闸门用水封装置