[发明专利]一种利用链表实现内存连续的方法和装置有效
申请号: | 201710534043.1 | 申请日: | 2017-07-03 |
公开(公告)号: | CN107329833B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 王伟波 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 实现 内存 连续 方法 装置 | ||
1.一种利用链表实现内存连续的方法,其特征在于,包括:
从操作系统申请预设数量的大块内存;
利用Buffer记录所述大块内存的首地址、起始偏移量和长度,并将所述Buffer标记为unused;
将标记为unused的Buffer按照Buffer的起始地址升序排序,利用链表组织起来,得到List-unused;
当需要利用小块内存保存数据时,从所述List-unused的头部查找长度不小于所述小块内存长度的Buffer进行数据的保存,并标记为used,将其他部分标记为unused,其中,从Buffer-unused1中找到buffer-block1用来保存数据之后,将剩余部分的buffer标记为buffer-unused2,在list-unused链表中替换分裂前的buffer-unused1,buffer分裂原则是addr保持不变,buffer-block1的起始地址和buffer-unused2的终止地址分别是buffer-ununsed1的起始地址和终止地址,buffer-block1的终止地址和buffer-unused2的起始地址相等,其中buffer-block1要标记为used,buffer-unused2标记为unused;
还包括:
当所述List-unused中的相邻的Buffer具有相同的首地址,且前一个Buffer的终止地址和后一个Buffer的起始地址相等时,将二者进行合并。
2.根据权利要求1所述的利用链表实现内存连续的方法,其特征在于,还包括:
当需要利用多个小块内存保存数据时,将多个小块内存按照业务需要依次插入List-used中;
当所述List-used或其中的小块内存不再使用时,将所述List-used删除,或者,将所述小块内存从所述List-used中删除并标记为unused,按照Buffer的起始地址升序排序插入所述List-unused中。
3.根据权利要求1所述的利用链表实现内存连续的方法,其特征在于,还包括:
当大块内存不足时,从操作系统中再申请另一块大块内存,直到内存足够。
4.一种利用链表实现内存连续的装置,其特征在于,包括:
申请单元,用于从操作系统申请预设数量的大块内存;
记录单元,用于利用Buffer记录所述大块内存的首地址、起始偏移量和长度,并将所述Buffer标记为unused;
组织单元,用于将标记为unused的Buffer按照Buffer的起始地址升序排序,利用链表组织起来,得到List-unused;
查找单元,用于当需要利用小块内存保存数据时,从所述List-unused的头部查找长度不小于所述小块内存长度的Buffer进行数据的保存,并标记为used,将其他部分标记为unused,其中,从Buffer-unused1中找到buffer-block1用来保存数据之后,将剩余部分的buffer标记为buffer-unused2,在list-unused链表中替换分裂前的buffer-unused1,buffer分裂原则是addr保持不变,buffer-block1的起始地址和buffer-unused2的终止地址分别是buffer-ununsed1的起始地址和终止地址,buffer-block1的终止地址和buffer-unused2的起始地址相等,其中buffer-block1要标记为used,buffer-unused2标记为unused;
合并单元,用于当所述List-unused中的相邻的Buffer具有相同的首地址,且前一个Buffer的终止地址和后一个Buffer的起始地址相等时,将二者进行合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710534043.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种作业管理方法及装置
- 下一篇:用于执行计算任务的方法和装置