[发明专利]一种缺页异常的处理方法、装置及系统有效

专利信息
申请号: 201210087940.X 申请日: 2012-03-29
公开(公告)号: CN102662864A 公开(公告)日: 2012-09-12
发明(设计)人: 林志南 申请(专利权)人: 华为技术有限公司
主分类号: G06F12/08 分类号: G06F12/08
代理公司: 深圳市深佳知识产权代理事务所(普通合伙) 44285 代理人: 唐华明
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 异常 处理 方法 装置 系统
【说明书】:

技术领域

发明涉及操作系统技术领域,具体涉及一种缺页异常的处理方法、装置及系统。

背景技术

现在的操作系统,都使用基于分页机制的虚拟内存,虚拟内存一般有4G,虚拟地址(virtual address)就是4G虚拟地址空间中的地址,每个进程有4GB的虚拟地址空间,进程通过访问4GB的虚拟地址进行物理内存的访问。

内存可以视为连续的字节,即内存为字节数组,内存单元的地址编号,可作为字节数组的索引,分页管理时,将4KB个字节视为一页。此时,内存变成了连续的页,即内存为页数组,每一页物理内存叫页帧,以页为单位对内存进行编号,该编号可作为页数组的索引,又称为页帧号。

进程在实际需要某个虚拟内存区(VMA,Virtual Memory Area)的数据之前,虚拟地址和物理内存之间的关联不会建立。如果进程访问的虚拟地址空间尚未与物理内存中的页帧关联,则中央处理器(CPU,Central Processing Unit)自动地引发一个缺页异常。

现有技术中发生缺页异常时,CPU在缺页异常处理函数中做相应处理,找到虚拟地址对应的VMA,如果该虚拟地址属于代码段或者数据段,则申请一个4KB页映射到该VMA,如果该地址属于栈,则扩展栈对应的VMA,并调入一个4KB页以扩展该VMA。

在对现有技术的研究和实践过程中,本发明的发明人发现,无论进程访问代码段数据段还是访问栈地址所引发的缺页异常,针对请求调页方面,都是每次缺页异常申请分配一页,当程序本身的代码段、数据段或者栈都较大时,那么对对应段的访问将导致大量的缺页异常,需要多次请求调页,假设一个程序代码段大小为1M,那么该程序对代码段的访问最多将需要经历256次缺页异常才能完成,需要申请256次调页,降低了系统的性能。

发明内容

本发明实施例提供一种缺页异常处理方法,可以在一次缺页异常中申请分配多个页面,从而减少缺页异常的次数,提高系统性能。本发明实施例还提供相应的装置及系统。

一种缺页异常的处理方法,包括:

当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常时,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;

比较所述获取的第一数值和所述第二数值的大小;

当所述第二数值大于等于所述第一数值时,每次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;

当所述第二数值小于第一数值时,每次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。

一种缺页异常的处理方法,包括:

当同一进程在同一VMA中连续发生缺页异常的次数达到预置阈值时,获取第三数值,所述第三数值为所述VMA中未与物理页帧关联映射的虚拟地址页的个数;

按照关联映射的方向,建立连续的第三数值个虚拟地址页与物理页帧的关联映射。

一种缺页异常的处理装置,包括:

第一获取单元,用于当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常时,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;

比较单元,用于比较所述第一获取单元获取的第一数值和第二数值的大小;

第一映射建立单元,用于当所述比较单元比较出所述第二数值大于等于所述第一数值时,每次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;

所述第一映射建立单元,还用于当所述比较单元比较出第二数值小于第一数值时,每次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。

一种缺页异常的处理装置,包括:

第二获取单元,用于当同一进程在同一VMA中连续发生缺页异常的次数达到预置阈值时,获取第三数值,所述第三数值为所述VMA中未与物理页帧关联映射的虚拟地址页的个数;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210087940.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top