一种缺页异常的处理方法、装置及系统制造方法及图纸

技术编号:7759039 阅读:180 留言:0更新日期:2012-09-14 00:52
本发明专利技术公开了一种缺页异常的处理方法,当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值;比较所述获取的第一数值和所述第二数值的大小;当所述第二数值大于等于所述第一数值时,每次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;当所述第二数值小于第一数值时,每次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。本发明专利技术实施例提供的技术方案可以减少发生缺页异常的次数,提高系统性能。

【技术实现步骤摘要】

本专利技术涉及操作系统
,具体涉及ー种缺页异常的处理方法、装置及系统
技术介绍
现在的操作系统,都使用基于分页机制的虚拟内存,虚拟内存一般有4G,虚拟地址(virtual address)就是4G虚拟地址空间中的地址,姆个进程有4GB的虚拟地址空间,进程通过访问4GB的虚拟地址进行物理内存的访问。内存可以视为连续的字节,即内存为字节数组,内存单元的地址编号,可作为字节数组的索引,分页管理吋,将4KB个字节视为ー页。此时,内存变成了连续的页,即内存为页数组,每ー页物理内存叫页帧,以页为单位对内存进行编号,该编号可作为页数组的索引,又称为页巾贞号。进程在实际需要某个虚拟内存区(VMA, Virtual Memory Area)的数据之前,虚拟地址和物理内存之间的关联不会建立。如果进程访问的虚拟地址空间尚未与物理内存中的页中贞关联,贝1J中央处理器(CPU, Central Processing Unit)自动地引发ー个缺页异常。现有技术中发生缺页异常吋,CPU在缺页异常处理函数中做相应处理,找到虚拟地址对应的VMA,如果该虚拟地址属于代码段或者数据段,则申请ー个4KB页映射到该VMA,如果该地址属于栈,则扩展栈对应的VMA,并调入ー个4KB页以扩展该VMA。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,无论进程访问代码段数据段还是访问栈地址所引发的缺页异常,针对请求调页方面,都是每次缺页异常申请分配ー页,当程序本身的代码段、数据段或者栈都较大时,那么对对应段的访问将导致大量的缺页异常,需要多次请求调页,假设一个程序代码段大小为1M,那么该程序对代码段的访问最多将需要经历256次缺页异常才能完成,需要申请256次调页,降低了系统的性能。
技术实现思路
本专利技术实施例提供ー种缺页异常处理方法,可以在一次缺页异常中申请分配多个页面,从而減少缺页异常的次数,提高系统性能。本专利技术实施例还提供相应的装置及系统。ー种缺页异常的处理方法,包括当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值吋,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常吋,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;比较所述获取的第一数值和所述第二数值的大小;当所述第二数值大于等于所述第一数值时,毎次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存; 当所述第二数值小于第一数值时,毎次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。ー种缺页异常的处理方法,包括当同一进程在同一 VMA中连续发生缺页异常的次数达到预置阈值时,获取第三数值,所述第三数值为所述VMA中未与物理页帧关联映射的虚拟地址页的个数;按照关联映射的方向,建立连续的第三数值个虚拟地址页与物理页帧的关联映射。ー种缺页异常的处理装置,包括第一获取单元,用于当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次 数达到预置阈值时,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常吋,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;比较单元,用于比较所述第一获取单元获取的第一数值和第二数值的大小;第一映射建立単元,用于当所述比较単元比较出所述第二数值大于等于所述第一数值时,毎次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;所述第一映射建立単元,还用于当所述比较単元比较出第二数值小于第一数值时,每次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。ー种缺页异常的处理装置,包括第二获取单元,用于当同一进程在同一 VMA中连续发生缺页异常的次数达到预置阈值时,获取第三数值,所述第三数值为所述VMA中未与物理页帧关联映射的虚拟地址页的个数;第二映射建立単元,用于按照关联映射的方向,建立连续的所述第二获取单元获取的第三数值个虚拟地址页与物理页帧的关联映射。一种计算机系统,包括所述计算机系统包括处理器和存储器,所述处理器上运行有操作系统,所述操作系统之上运行有至少ー种应用程序,所述应用程序关联有/表现为进程,所述存储器中划分有虚拟内存和物理内存;其中当进程访问的虚拟地址页与物理页帧未建立关联映射,所述处理器引发一次缺页异常,所述处理器处理所述缺页异常,所述处理器为上述技术方案中任意一项所述的缺页异常的处理装置。本专利技术实施例采用当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值,所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常时,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未映射物理页帧的虚拟地址页的个数;比较所述获取的第一数值和所述第二数值的大小;当所述第二数值大于等于所述第一数值时,毎次发生缺页异常时,按照关联映射的方向,建立连续的第一数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存;当所述第二数值小于第一数值时,毎次缺页异常时,按照关联映射的方向,建立连续的第二数值个虚拟地址页与物理页帧的关联映射,以使所述同一进程快速读取物理内存。与现有技术相比,本专利技术实施例提供的缺页异常的处理方法,可以在一次缺页异常中建立多个虚拟地址与物理页帧的关联关联映射,从而減少缺页异常的次数,提高系统性能。附图说明图I是本专利技术实施例中缺页异常的处理方法的ー实施例示意图;图2是本专利技术实施例中缺页异常的处理方法的另ー实施例示意图;图3是本专利技术实施例应用场景中的一示意图;图4是本专利技术实施例应用场景中的另ー示意图;图5是本专利技术实施例应用场景中的另ー示意图;图6是本专利技术实施例应用场景中的另ー示意图;图7是本专利技术实施例应用场景中的另ー示意图;图8是本专利技术实施例中处理装置的ー实施例示意图;图9是本专利技术实施例中处理装置的一另实施例示意图;图10是本专利技术实施例中处理装置的另ー实施例示意图;图11是本专利技术实施例中处理装置的另ー实施例示意图;图12是本专利技术实施例中处理装置的另ー实施例示意图;图13是本专利技术实施例中处理装置的另ー实施例示意图;图14是本专利技术实施例中系统的ー实施例示意图。具体实施例方式本专利技术实施例提供ー种缺页异常处理方法,可以在一次缺页异常中申请分配多个页面,从而減少缺页异常的次数,提高系统性能。本专利技术实施例还提供相应的处理器。以下分别进行详细说明。參阅图1,本专利技术实施例提供的缺页异常的处理方法的一实施例包括101、当同一进程在同一虚拟内存区VMA中连续发生缺页异常的次数达到预置阈值时,获取第一数值和第二数值。所述第一数值为发生缺页异常的次数达到预置阈值后,每次发生缺页异常吋,建立VMA中虚拟地址页与物理页帧关联映射的个数,所述第二数值为所述同一进程所在的VMA中未本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:林志南
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1