[发明专利]一种缺页异常的处理方法、装置及系统有效
申请号: | 201210087940.X | 申请日: | 2012-03-29 |
公开(公告)号: | CN102662864A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 林志南 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 处理 方法 装置 系统 | ||
1.一种缺页异常的处理方法,其特征在于,包括:
当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常时,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;
比较所述获取的第一数值和所述第二数值的大小;
当所述第二数值大于等于所述第一数值时,每次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;
当所述第二数值小于第一数值时,每次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。
2.根据权利要求1所述的方法,其特征在于,所述获取第二数值之前,还包括:
获取所述VMA中没有映射物理地址的虚拟内存大小;
根据所述没有映射物理地址的虚拟内存大小和所述虚拟地址页的大小,计算所述第二数值。
3.根据权利要求1或2所述的方法,其特征在于,所述按照关联映射的方向,建立连续的第一数值个或第二数值个虚拟地址页与物理页帧的关联映射,具体包括:
获取所述关联映射的方向,所述关联映射的方向为从发生缺页异常的虚拟地址页对应的物理页帧处开始向上、向下或同时向上和向下;
从发生缺页异常的虚拟地址页对应的物理页帧处开始,按照向上、向下或同时向上和向下的方向,建立连续的第一数值个或第二数值个虚拟地址页与物理页帧的关联映射。
4.根据权利要求1或2所述的方法,其特征在于,所述获取所述关联映射的方向之前,还包括:
统计所述同一进程在所述VMA中发生第预置阈值次缺页异常之前,发生的缺页异常的虚拟地址连续递增的次数和连续递减的次数;
计算所述连续递增次数与连续递减次数的差值;根据所述连续递增次数与连续递减次数的差值,确定所述关联映射的方向。
5.一种缺页异常的处理方法,其特征在于,包括:
当同一进程在同一VMA中连续发生缺页异常的次数达到预置阈值时,获取第三数值,所述第三数值为所述VMA中未与物理页帧关联映射的虚拟地址页的个数;
按照关联映射的方向,建立连续的第三数值个虚拟地址页与物理页帧的关联映射。
6.根据权利要求5所述的方法,其特征在于,所述获取第三数值,具体包括:
获取所述VMA中没有映射物理地址的虚拟内存大小;
根据所述没有映射物理地址的虚拟内存大小和所述虚拟地址页的大小,计算所述第二数值。
7.根据权利要求5或6所述的方法,其特征在于,所述按照关联映射的方向,建立连续的第三数值个虚拟地址页与物理页帧的关联映射,具体包括:
获取所述关联映射的方向,所述关联映射的方向为从发生缺页异常的虚拟地址页对应的物理页帧处开始向上、向下或同时向上和向下;
从发生缺页异常的虚拟地址页对应的物理页帧处开始,按照向上、向下或同时向上和向下的方向,建立连续的第三数值个虚拟地址页与物理页帧的关联映射。
8.根据权利要求7所述的方法,其特征在于,所述获取所述关联映射的方向之前,还包括:
统计所述同一进程在所述VMA中发生第预置阈值次缺页异常之前,发生的缺页异常的虚拟地址连续递增的次数和连续递减的次数;
计算所述连续递增次数与连续递减次数的差值;根据所述连续递增次数与连续递减次数的差值,确定所述关联映射的方向。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210087940.X/1.html,转载请声明来源钻瓜专利网。