System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及但不限于资源分配,尤其涉及一种内存管理方法、装置、设备及存储介质。
技术介绍
1、当前对于内存的管理方案,往往是为每一个任务分配相同大小的内存空间,该类方案对内存分配的策略过于固化,内存利用率不高。
技术实现思路
1、有鉴于此,本申请实施例至少提供一种内存管理方法、装置、设备、存储介质。
2、本申请实施例的技术方案是这样实现的:
3、一方面,本申请实施例提供一种内存管理方法,所述内存对应的分页通过缓存模块管理;所述方法包括:响应于目标任务对分页的获取请求,基于缓存模块向目标任务分配分页;将已分配分页的第一分页地址存储于所述目标任务对应的分页列表中。
4、在一些实施例中,所述将已分配分页的第一分页地址存储于所述目标任务对应的分页列表中,包括:基于所述目标任务对应的列表地址,在所述内存中确定所述分页列表对应的至少一个表分页;所述至少一个表分页被配置为所述分页列表对应的多个列表位置;将所述已分配分页的第一分页地址存储于所述分页列表中第一个为空的列表位置中。
5、在一些实施例中,所述表分页还用于存储相邻的下一个表分页的第二分页地址,所述方法还包括:响应于所述第一个为空的列表位置为当前表分页的最后一个列表位置,申请新的表分页,并将所述新的表分页的第二分页地址存储于所述当前表分页的最后一个列表位置;将所述已分配分页的第一分页地址存储于所述新的表分页的第一个为空的列表位置中。
6、在一些实施例中,所述方法还包括:响应于所述目标
7、在一些实施例中,所述响应于目标任务对分页的获取请求,基于缓存模块向目标任务分配分页,包括:响应于所述获取请求为目标任务的首个分页获取请求,基于缓存模块分配所述目标任务对应的首个表分页;所述首个表分页的第二分页地址为所述目标任务对应的列表地址。
8、在一些实施例中,所述缓存模块包括由分配指针确定的可分配区域,所述分配指针指向所述可分配区域对应的第一个存储子空间;所述基于缓存模块向目标任务分配分页,包括:基于所述分配指针,依次从所述分配指针指向所述可分配区域对应的第一个存储子空间中读取第一分页地址,并将所述第一分页地址对应的分页分配给所述目标任务;响应于所述分配指针对应的分页被分配给目标任务,将所述分配指针正向移动一个位置;正向移动后的分配指针指向移动前的可分配区域对应的第二个存储子空间。
9、在一些实施例中,所述方法还包括:响应于目标任务对分页的释放请求,从所述内存中获取所述目标任务对应的分页列表;对所述分页列表中存储的已分配分页进行释放,并将所述已分配分页的第一分页地址回收至所述缓存模块,以完成所述目标任务对分页的释放过程。
10、在一些实施例中,所述对所述分页列表中存储的分页进行释放,包括:基于所述目标任务对应的列表地址,在所述内存中确定所述分页列表对应的至少一个表分页;所述至少一个表分页被配置为所述分页列表对应的多个列表位置;依次释放所述列表位置存储的已分配分页。
11、在一些实施例中,所述表分页还用于存储相邻的下一个表分页的第二分页地址;所述依次释放所述列表位置存储的已分配分页,包括:依次释放由列表地址确定的首个表分页内的列表位置中存储的已分配分页,在释放至所述首个表分页中存储的第二分页地址时,继续依次释放由获得的第二分页地址确定的下一个表分页内的列表位置存储的已分配分页,直至所述分页列表的表尾。
12、在一些实施例中,所述方法还包括:响应于当前表分页内所有已分配分页均被释放,释放所述当前表分页,并将所述当前表分页的分页地址回收至所述缓存模块。
13、在一些实施例中,所述缓存模块包括由回收指针确定的可回收区域;所述将所述已分配分页的第一分页地址回收至所述缓存模块,包括:响应于对待回收分页的释放请求,基于所述回收指针将所述待回收分页的第一分页地址写回所述缓存模块的可回收区域,并更新所述回收指针;所述待回收分页为所述分页列表中存储的需要释放的分页。
14、在一些实施例中,所述回收指针指向所述可回收区域对应的第一个存储子空间;所述基于所述回收指针将所述待回收分页的第一分页地址写回所述缓存模块的可回收区域,并更新所述回收指针,包括:基于所述回收指针将所述待回收分页的第一分页地址写回所述可回收区域对应的第一个存储子空间;将所述回收指针正向移动一个位置;正向移动后的回收指针指向移动前的可回收区域对应的第二个存储子空间。
15、另一方面,本申请实施例提供一种内存管理装置,所述装置包括:
16、分配模块,用于响应于目标任务对分页的获取请求,基于缓存模块向目标任务分配分页;
17、存储模块,用于将已分配分页的第一分页地址存储于所述目标任务对应的分页列表中。
18、再一方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
19、又一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
20、本申请实施例中,通过分页列表存储目标任务对应的已分配分页的第一分页地址,这样,便于后续目标任务对内存中存储的数据进行快速释放。
21、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请的技术方案。
本文档来自技高网...【技术保护点】
1.一种内存管理方法,其特征在于,内存对应的分页通过缓存模块管理;所述内存管理方法包括:
2.根据权利要求1所述的内存管理方法,其特征在于,所述将已分配分页的第一分页地址存储于所述目标任务对应的分页列表中,包括:
3.根据权利要求2所述的内存管理方法,其特征在于,所述表分页还用于存储相邻的下一个表分页的第二分页地址,所述内存管理方法还包括:
4.根据权利要求1所述的内存管理方法,其特征在于,所述内存管理方法还包括:
5.根据权利要求1所述的内存管理方法,其特征在于,所述响应于目标任务对分页的获取请求,基于缓存模块向目标任务分配分页,包括:
6.根据权利要求1所述的内存管理方法,其特征在于,所述缓存模块包括由分配指针确定的可分配区域,所述分配指针指向所述可分配区域对应的第一个存储子空间;所述基于缓存模块向目标任务分配分页,包括:
7.根据权利要求1至6任一项所述的内存管理方法,其特征在于,所述内存管理方法还包括:
8.根据权利要求7所述的内存管理方法,其特征在于,所述对所述分页列表中存储的分页进行释
9.根据权利要求8所述的内存管理方法,其特征在于,所述表分页还用于存储相邻的下一个表分页的第二分页地址;所述依次释放所述列表位置存储的已分配分页,包括:
10.根据权利要求9所述的内存管理方法,其特征在于,所述内存管理方法还包括:
11.根据权利要求7所述的内存管理方法,其特征在于,所述缓存模块包括由回收指针确定的可回收区域;所述将所述已分配分页的第一分页地址回收至所述缓存模块,包括:
12.根据权利要求11所述的内存管理方法,其特征在于,所述回收指针指向所述可回收区域对应的第一个存储子空间;所述基于所述回收指针将所述待回收分页的第一分页地址写回所述缓存模块的可回收区域,并更新所述回收指针,包括:
13.一种内存管理装置,其特征在于,所述内存管理装置包括:
14.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至12任一项所述方法中的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12任一项所述方法中的步骤。
...【技术特征摘要】
1.一种内存管理方法,其特征在于,内存对应的分页通过缓存模块管理;所述内存管理方法包括:
2.根据权利要求1所述的内存管理方法,其特征在于,所述将已分配分页的第一分页地址存储于所述目标任务对应的分页列表中,包括:
3.根据权利要求2所述的内存管理方法,其特征在于,所述表分页还用于存储相邻的下一个表分页的第二分页地址,所述内存管理方法还包括:
4.根据权利要求1所述的内存管理方法,其特征在于,所述内存管理方法还包括:
5.根据权利要求1所述的内存管理方法,其特征在于,所述响应于目标任务对分页的获取请求,基于缓存模块向目标任务分配分页,包括:
6.根据权利要求1所述的内存管理方法,其特征在于,所述缓存模块包括由分配指针确定的可分配区域,所述分配指针指向所述可分配区域对应的第一个存储子空间;所述基于缓存模块向目标任务分配分页,包括:
7.根据权利要求1至6任一项所述的内存管理方法,其特征在于,所述内存管理方法还包括:
8.根据权利要求7所述的内存管理方法,其特征在于,所述对所述分页列表中存储的分页进行释放,包括:
9.根据权利要...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。