[发明专利]一种内存管理方法和装置有效
申请号: | 201610860581.5 | 申请日: | 2016-09-28 |
公开(公告)号: | CN107885666B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 陈秋林;姚旺来;应云剑 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/123 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 装置 | ||
1.一种内存管理方法,其特征在于,所述方法包括:
确定内存中需要换出的内存页面;
对于一个需要换出的内存页面,根据所述内存页面,生成用于对所述内存页面执行回收的工作任务;
确定处于最佳状态的专用工作线程,并将每个所述工作任务分配给所述处于最佳状态的专用工作线程执行;所述专用工作线程是在多核中央处理器CPU中的一个CPU上预先配置的工作线程;
其中,所述处于最佳状态的专用工作线程是指正在处理一个工作任务,且工作队列中已没有需要处理的工作任务的工作线程。
2.根据权利要求1所述的方法,其特征在于,确定内存中需要换出的内存页面,包括:
对于内存的最近最少使用LRU链表中的每个页框,若确定所述页框已脏且允许回写,或者允许换出,确定所述页框内的内存页面为需要换出的内存页面;或者
对于内存的LRU链表中的每个页框,若根据指示确定所述页框需要回收且根据内存的扫描控制结构信息确定需要移除所述页框与进程的所有映射关系,确定所述页框中的内存页面为需要换出的内存页面。
3.根据权利要求2所述的方法,其特征在于,对于一个需要换出的内存页面,根据所述内存页面,生成用于对所述内存页面执行回收的工作任务,包括:
按照设定的工作任务格式,生成需要换出的内存页面对应的工作任务,所述工作任务中包含所述内存页面所在的页框的页框描述符、所述扫描控制结构信息、用于指示是否更新页框的转换表项内容的标志位和单页框回收函数;其中,所述单页框回收函数用于执行如下处理:
根据所述页框描述符、所述标志位和所述扫描控制结构中的目标虚拟内存空间VMA字段,移除对应的页框与进程的所有映射关系;根据所述页框描述符、所述页框对应的地址空间和所述扫描控制结构信息,将所述页框内的数据写入至交换分区或回写至文件系统中。
4.根据权利要求1所述的方法,其特征在于,确定内存中需要换出的内存页面,包括:
对于每个指定的进程,遍历所述进程的各VMA对应的各级页目录和各页表,其中:
对于当前遍历的VMA,确定所述当前遍历的VMA对应的页表项对应的页框,并将所确定的页框从LRU链表中隔离,并存储至隔离页链表中;若所述隔离页链表中的页框数目达到设定阈值或即将遍历下一个VMA,将所述隔离页链表中存储的页框确定为需要换出的内存页面。
5.根据权利要求4所述的方法,其特征在于,对于一个需要换出的内存页面,根据所述内存页面,生成用于对所述内存页面执行回收的工作任务,包括:
按照设定的工作任务格式,生成需要换出的内存页面对应的工作任务,所述工作任务中包含所述隔离页链表、所述隔离页链表中的页框对应的VMA和页框链表回收函数。
6.一种内存管理方法,其特征在于,所述方法包括:
在确定发生缺页异常时,确定当前访问的内存地址对应的内存页面已从所述内存换出;
生成用于对已换出的内存页面执行换入的工作任务,所述工作任务中包含已换出的内存页面在交换分区或交换缓存中的位置信息、当前访问的内存地址、已换出的内存页面所属进程的VMA、用于为已换出的内存页面在所述内存中分配页框的页框分配标识、及页面异步换入函数;
确定处于最佳状态的专用工作线程,并将每个所述工作任务分配给所述处于最佳状态的专用工作线程执行;所述专用工作线程是在多核中央处理器CPU中的一个CPU上预先配置的工作线程;
其中,所述处于最佳状态的专用工作线程是指正在处理一个工作任务,且工作队列中已没有需要处理的工作任务的工作线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610860581.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种密封防爆配电箱
- 下一篇:一种便于接线的光伏微电网用配电箱