[发明专利]内存分配方法及设备有效
| 申请号: | 201710403524.9 | 申请日: | 2017-06-01 |
| 公开(公告)号: | CN108874532B | 公开(公告)日: | 2020-11-06 |
| 发明(设计)人: | 贾开 | 申请(专利权)人: | 北京旷视科技有限公司;北京迈格威科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 彭久云 |
| 地址: | 100080 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 分配 方法 设备 | ||
1.一种内存分配方法,包括:
计算在同一时间要求占用的内存地址有重叠的冲突请求间的相对内存位置关系;以及
根据所述相对内存位置关系计算内存分配的最优解;
其中,所述计算在同一时间要求占用的内存地址有重叠的冲突请求间的相对内存位置关系,包括:
将每个所述请求转换为一个分配事件和一个释放事件,并按时间对每个所述分配事件和每个所述释放事件排序,并获取每个所述事件对应的内存大小;
初始化当前已分配的内存块集合、当前空余内存块集合以及内存块相对关系链表;
处理每个所述分配事件和每个所述释放事件;以及
根据所述分配事件和所述释放事件的处理结果获取所述相对内存位置关系。
2.根据权利要求1所述的内存分配方法,其中,所述初始化当前已分配的内存块集合、当前空余内存块集合以及内存块相对关系链表,包括:
设置当前已分配的内存块集合为空集;
设置当前空余内存块集合为空集;以及
对于每个所述请求,设置所述内存块相对关系链表中内存块的起始地址比所述请求对应的内存块的起始地址低的第一个请求为空、内存块的起始地址比所述请求对应的内存块的起始地址高的第一个请求为空。
3.根据权利要求1所述的内存分配方法,其中,所述处理每个所述分配事件和每个所述释放事件,包括:
对于分配事件,
如果所述当前空余内存块集合为空集,则在所述当前空余内存块集合中加入所述分配事件对应的内存大小的内存块到所述当前空余内存块集合中;
如果所述当前空余内存块集合不为空集,在所述当前空余内存块集合中寻找不小于所述分配事件对应的内存大小的最小的一段连续内存块作为空闲内存块,如果不存在这样的内存块,将当前空余内存块集合中最大的内存块的大小修改为所述分配事件对应的内存大小并将其作为所述空闲内存块;
将所述空闲内存块从所述当前空余内存块集合中移除,如果所述空闲内存块的大小大于所述分配事件对应的内存大小,则将所述空闲内存块的大小与所述分配事件对应的内存大小的差对应的内存块插入到所述当前空余内存块集合中;
在当前已分配的内存块集合中查找在起始地址小于所述空闲内存块的起始地址条件下具有最高起始地址的最高内存块,设置内存块的起始地址比所述请求对应的内存块的起始地址低的第一个请求对应于所述最高内存块,如果查找不到所述最高内存块,则设置内存块的起始地址比所述请求对应的内存块的起始地址低的第一个请求为空;
在当前已分配的内存块集合中查找在起始地址大于所述空闲内存块的起始地址条件下具有最低起始地址的最低内存块,设置内存块的起始地址比所述请求对应的内存块的起始地址高的第一个请求对应于所述最低内存块,如果查找不到所述最低内存块,则设置内存块的起始地址比所述请求对应的内存块的起始地址高的第一个请求为空;
对于释放事件,
将所述释放事件对应的内存块从所述当前已分配的内存块集合中移除,并将所述释放事件对应的内存块加入所述当前空余内存块集合;
如果所述当前空余内存块集合中存在与所述释放事件对应的内存块地址连续的内存块,则将其与所述释放事件对应的内存块合并。
4.根据权利要求1所述的内存分配方法,其中,根据所述分配事件和所述释放事件的处理结果获取所述相对内存位置关系,包括:
对于每个所述请求,初始化所述请求的对应的内存块的起始地址大于等于第一请求集合中每个请求对应的内存块的结束地址;
将所述第一请求集合与内存块的起始地址比所述请求对应的内存块的起始地址低的第一个请求的并集作为更新后的第一请求集合;以及
将所述请求对应的内存块的最大结束地址小于等于内存块的起始地址比所述请求对应的内存块的起始地址高的第一个请求与所述请求的集合的并集作为第二请求集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京旷视科技有限公司;北京迈格威科技有限公司,未经北京旷视科技有限公司;北京迈格威科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710403524.9/1.html,转载请声明来源钻瓜专利网。





