[发明专利]访问内存的方法及计算机系统有效
| 申请号: | 201510531948.4 | 申请日: | 2015-08-27 |
| 公开(公告)号: | CN105159838B | 公开(公告)日: | 2018-06-26 |
| 发明(设计)人: | 裘稀石;郭志滨 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 秦卫中;肖鹂 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 映射 子区 页表 物理内存 内存 虚拟地址 业务使用 内核态 计算机系统 内核 转换 访问 非法访问 请求访问 异常处理 有效减少 映射区 触发 死机 监控 | ||
1.一种访问内存的方法,其特征在于,内核态的对等映射区包括第一对等映射子区和第二对等映射子区,所述第一对等映射子区和所述第二对等映射子区具有不同的页表,原有系统任务和原有内核业务使用所述第一对等映射子区的虚拟地址访问物理内存,所述方法包括:
当受监控内核业务使用所述第二对等映射子区的虚拟地址请求访问对应的物理内存时,根据所述第二对等映射子区的页表的存在present位判断页表转换是否正常;
在所述页表转换异常的情况下,触发缺页异常,并执行缺页异常处理流程;
在所述页表转换正常的情况下,访问所述物理内存。
2.根据权利要求1所述的方法,其特征在于,所述执行缺页异常处理流程,包括:
确定所述受监控内核业务是否已注册错误处理函数handler;
在所述受监控内核业务已注册handler的情况下,执行所述注册的handler;
在所述受监控内核业务未注册handler的情况下,执行缺省handler。
3.根据权利要求1或2所述的方法,其特征在于,在所述受监控内核业务使用所述第二对等映射子区的虚拟地址请求访问对应的物理内存之前,所述方法还包括:
使用内存分配接口为所述受监控内核业务分配所述物理内存;
使用转换宏将所述物理内存对应的物理地址转换为所述第二对等映射子区的虚拟地址;
使用所述内存分配接口为所述受监控内核业务返回所述第二对等映射子区的虚拟地址;
将所述第二对等映射子区的页表的present位置位。
4.根据权利要求3所述的方法,其特征在于,还包括:
使用内存释放接口接收所述受监控内核业务返回的所述第二对等映射子区的虚拟地址;
使用所述转换宏将所述第二对等映射子区的虚拟地址转换为所述物理地址;
使用所述内存释放接口为所述受监控内核业务释放所述物理地址对应的所述物理内存;
将所述第二对等映射子区的页表的present位清零。
5.根据权利要求4所述的方法,其特征在于,使用所述转换宏将所述第二对等映射子区的虚拟地址转换为所述物理地址,包括:
使用所述转换宏将所述第二对等映射子区的虚拟地址转换为所述第一对等映射子区的虚拟地址;
使用所述转换宏将所述第一对等映射子区的虚拟地址转换为所述物理地址。
6.根据权利要求3所述的方法,其特征在于,所述使用转换宏将所述物理内存对应的物理地址转换为所述第二对等映射子区的虚拟地址,包括:
使用所述转换宏将所述物理地址转换为所述第一对等映射子区的虚拟地址;
使用所述转换宏将所述第一对等映射子区的虚拟地址转换为所述第二对等映射子区的虚拟地址。
7.根据权利要求1所述的方法,其特征在于,还包括:
将所述对等映射区划分为所述第一对等映射子区和所述第二对等映射子区;
建立所述第二对等映射子区的页表,并将所述第二对等映射子区的页表的present位清零;
建立缺省handler,所述缺省handler用于处理所述缺页异常;
配置转换宏,所述转换宏用于实现所述对等映射区的虚拟地址与物理地址之间的转换,以及所述第一对等映射子区的虚拟地址与所述第二对等映射子区的虚拟地址之间的转换;
配置内存分配接口,所述内存分配接口用于为所述受监控内核业务返回所述第二对等映射子区的虚拟地址;
配置内存释放接口,所述内存释放接口用于为所述受监控内核业务释放所述物理内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510531948.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:聚光太阳能电力设备的连接
- 下一篇:一种软件动态测试运行数据提取方法





