[发明专利]一种嵌入式系统缓冲式内存分配方法无效
申请号: | 200610051626.0 | 申请日: | 2006-05-25 |
公开(公告)号: | CN1851676A | 公开(公告)日: | 2006-10-25 |
发明(设计)人: | 陈天洲;沙峰;谢斌;赵懿 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/46 |
代理公司: | 杭州中成专利事务所有限公司 | 代理人: | 唐银益 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及嵌入式系统内存分配策略领域,旨在提供一种嵌入式系统缓冲式内存分配方法。该方法包括定义数据块缓冲池数据管理器的结构、设计内存块缓冲池管理器的步骤、缓冲式内存分配过程和缓冲式内存释放过程的步骤。在本发明中,采用了一种嵌入式系统缓冲式内存分配方法,该方法利用数据块缓冲池,将已经分配的内存置入到数据块缓冲池中,而不是立即由系统回收,由于操作系统分配内存、释放内存的系统调用的消耗很大。通过本发明的方法可以在数据缓冲池中直接使用空闲数据单元,直到需要时才调用系统内存分配调用,这样就能够有效的避免过多调用操作系统内存分配、内存释放的系统调用,从而提高系统的效率。 | ||
搜索关键词: | 一种 嵌入式 系统 缓冲 内存 分配 方法 | ||
【主权项】:
1、一种嵌入式系统缓冲式内存分配方法,其特征在于,包括以下步骤:(1)定义数据块缓冲池数据管理器的结构:定义数据单元尺寸、数据块尺寸、最多可容纳的数据块数、已使用掉的块数、块指针数组和空闲数据链表的信息内容;(2)设计内存块缓冲池管理器的步骤,包括:创建数据块管理器,参数包括内存指针、块尺寸、单元尺寸和返回缓冲池管理器指针;解构数据块管理器,释放其所分配的所有内存,调用者负责外部内存的释放,参数为数据块缓存池结构,并返回成功失败标志;从数据块缓冲池中分配1个单元,参数为数据块缓冲池结构,返回数据单元指针;数据单元释放,释放1个数据单元,返回数据块缓冲池结构,不对1个单元释放2次,参数为数据块结构和单元指针;(3)缓冲式内存分配过程:程序需要分配内存单元时,系统首先检测缓冲池,如果缓冲池中有空闲的数据块或数据单元,则取得此数据单元的实际地址,并将该单元从空闲链表中删除;如果缓冲池中没有可用数据单元则调用系统内存分配调用为缓冲池增加分配单元,然后从缓冲池中分配;(4)缓冲式内存释放过程:程序释放内存时,首先检测缓冲池中是否还有空间容纳回收的内存单元,如果有,则将内存单元地址链接到内存单元空闲链表中;如果没有空间则另建立一个缓存池,然后将回收的内存单元地址链接到缓冲池的空闲链表中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610051626.0/,转载请声明来源钻瓜专利网。