当前位置: 首页 > 专利查询>微软公司专利>正文

页面文件预留制造技术

技术编号:7843192 阅读:190 留言:0更新日期:2012-10-13 01:34
一种用于使用为相关存储器页面预留页面文件部分的技术来维护计算机系统的页面文件的系统和方法。虚拟存储器空间中彼此相近的页面往往存储相关的信息,并且因此确保它们在页面文件中彼此相近地存储是有益的。这样增加了从页面文件读取数据的速度,因为当从存储页面文件的磁盘驱动器读回虚拟存储器地址空间中的相邻页面时,该磁盘驱动器的总寻道时间会减少。通过实现使得相关页面彼此相邻存储的预留系统,提高了计算机系统的存储器管理的效率。

【技术实现步骤摘要】
一种预留页面文件的方法及计算机系统
技术介绍
现代计算机系统需要大量随机存取存储器(RAM)来运行软件程序。诸如操作系统和各种应用程序的软件不断地与存储在RAM中的数据进行交互。每个应用/进程被分配RAM页面以供其使用。随着计算机变得更加精密和复杂,进程需要比RAM中物理上可用的更多的存储器访问。存储器的虚拟地址通过允许进程共享物理RAM存储器克服了该问题。通过将数据写入到诸如磁盘驱动器的非易失性存储器而不是将所有进程数据维护在RAM中在计算机系统中实现了虚拟存储器。计算机系统的存储器管理器确保当需要的时候,与虚地地址关联的数据在物理RAM中。当数据没有被进程活跃地使用时,可以将该数据写入到存储在非易失性存储器中的页面文件中,以为其他活动的进程空出RAM空间。如果进程需要非活动的数据,必须将数据从非易失性存储器复制到RAM,以使其对于进程是可访问的。如果计算机系统上的所有进程所需的存储器的数量与可用的物理RAM相比过大,由于RAM和非易失性存储器之间过多的数据来回交换使系统变慢,系统性能可能变差。
技术实现思路
专利技术人已经认识并明了,当页面文件中的数据被碎片化时,具有虚拟存储器的计算机系统的性能被变慢。如果数据碎片化,则当在物理RAM中需要时从硬盘驱动器读取数据可能是时间上极其低效的。在此描述了用于改进系统性能的技术。通过减少计算机系统的页面文件的碎片,可以减少在虚拟存储器的非活动页面变得活动时加载该非活动页面所需的时间。可以通过为彼此相近的虚拟存储器页面预留页面文件部分来避免碎片化的页面文件。虚拟存储器往往以许多页块被分配给进程。因此,彼此相近的页面可能属于相同的进程并且彼此相关。因而,它们可能在同一时间被相关的进程所需要,以致它们一起从页面文件被读取。确保页面文件中相邻的页面相关增加了从硬盘上的连续位置读取数据的数量,并因此减少了硬盘驱动器必须执行的寻道数量。这使得在从页面文件读取数据时显著降低了延迟。在一些实施例中,为在待写入页面附近的页面预留在将写入一个页面的附近的页面文件的区域。如果那些附近的页面将要写到页面文件,则它们将被写到页面文件中为它们预留的位置。如果不存在针对正在被写到页面文件的页面的预留,则该页面将被写到既未分配也未预留的页面文件的部分。在一些实施例中,预留系统并非“严格的”,意思是为特定页面预留的页面文件的部分不要求没有其他页面写到页面文件的该部分。这是因为非易失性存储器中的页面文件的尺寸有限并且受限。可以存在以下情形,其中,计算机需要如此多的存储器以至于保存未使用的页面文件的部分的预留系统将开始将其他页面写入到页面文件的预留部分。在一些实施例中,有关是否预留了虚拟存储器空间的特定页面的信息存储在页表条目的部分中。通过将该小数量的信息添加到页表条目,实现预留技术所需的开销是可以忽略的。在一些实施例中,有关页面文件的特定部分是否已被不同页面所占用的信息存储在分配位图中。一些实施例还利用了预留位图,其指示页面文件的哪些部分已被预留。在这些实施例中,使用诸如位图的简单数据结构减少了实现存储器管理技术的开销。前述是对本专利技术的非限制性总结,本专利技术由所附权利要求所限定。附图说明附图不旨在按比例绘制。在附图中,在各图中示出的每个相同的或几乎相同的组件通过相同的标记来表示。为了清楚起见,每个图中并非每个组件都被标记。在图中:图1是本专利技术的实施例可以运行在其中的示例性环境的框图;图2是示出本专利技术一些实施例的计算系统的若干软件和硬件组件的框图;图3A是页表、页面文件及其关系的简化示图;图3B是示例分配位图;图3C是示例预留位图;图4是将页面写入页面文件的示例过程的流程图;图5是与裁剪来自工作集的页面相关的示例过程的流程图。具体实施方式专利技术人已经认识到并明了,减少页面文件的碎片通过降低从页面文件读取数据时的延迟能够显著地提高计算机性能以及用户满意度。在此呈现的系统和方法首先是防止碎片发生,而不是尝试整理已经碎片化的存储器的碎片。因为通常将数据写入页面文件的顺序仅由RAM中睡眠时间最长的数据来确定,所以页面文件可能变得碎片化。碎片化的数据意指属于相同进程和/或在虚拟存储器空间中彼此接近的数据片在页面文件中是彼此不相近的。从碎片化的页面文件读取数据是很慢的,因为诸如硬盘驱动器的大多数非易失性存储器是连续访问存储器,而在缺少诸如维护反向映射信息的技术情况下从存储器读取非连续数据可能是很慢的,其中该维护反向映射信息的技术由于其他原因代价很高。例如,由于硬盘的“寻道时间”,旋转硬盘导致显著的延迟。寻道时间与存储器的读取头与待读取的数据存储在磁盘中的部分相对齐所花费的时间有关。每次读取数据的小碎片,与从磁盘上的连续位置执行相同数据量的单个读取相比是浪费时间的。作为示出问题的示例:任意读取操作的寻道延迟近似10ms。如果从碎片化的页面文件读取1-2MB的数据,则总共2-5秒的延迟是常见的。这些延迟使运行在计算机系统上的应用变慢,并往往计算机系统的响应性整体变差。这些问题很容易被计算机系统的用户注意到,并使用户体验变糟。在一些实施例中,计算机系统的存储器管理器实现了预留页面文件部分的预留技术。通过在需要将信息写入页面文件之前在页面文件中预留空间,彼此相关的页面文件可以被写在一起。将相关的页面写在一起减少了取回存储在页面文件中的页面所花费的时间量,因为页面可以连续地读取。在一些实施例中,当页面被写出到页面文件,存储器管理器将首先检查正在被写的页面是否已有预留。如果预留存在,则页面将被写到页面文件的预留部分。在一些实施例中,如果页面没有预留,该预留阻止页面写到页面文件的预留部分。然而,在计算机系统需要大量存储器来运行的情况下,页面文件的预留部分也可由没有预留的页面所使用。例如,如果在页面文件中的空间都已被其他页面占用或预留,则存储器管理器可以使特定的预留“无效”,并将页面写到为不同的页面集合预留的存储器部分。任何合适的技术可以用于跟踪页面文件中可用的存储器的状态。例如,各种类型的数据结构可以用来指示是否为虚拟存储器的特定页面预留了页面文件中的页面。相同或不同类型的数据结构可以用来指示页面文件的页面目前是否被分配,并从而存储数据。在一些实施例中,数据结构可以是位图。存储器管理器可以使用该信息来确定将正在被写到页面文件的新页面写到何处。如上所述,在一些实施例中,当页面文件的所有部分都被分配或预留时,存储器管理器可以决定使预留无效,并将没有预留的页面写在预留部分上。执行这些操作的存储器管理器通常是计算机系统的操作系统的一部分。计算机系统优选地至少具有易失性存储器和非易失性存储器,但是本专利技术不限于此,并且其他实施例也是可以的。下面论述可以实现在此描述的存储器管理技术的计算机系统的示例实施例。图1示出在其上可以实现本专利技术的合适的计算系统环境100的示例。计算系统环境100仅是合适的计算环境的示例,并非旨在表明对本专利技术的使用或功能的范围的任何限制。计算环境100应被解释为既不依赖也不需要示例运行环境100中示出的任意一个组件或组合。本专利技术可用众多其他通用或专用的计算系统环境或配置来运行。适于与本专利技术一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上设备、蜂窝电话、平板计算机、上网本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201210057988.html" title="页面文件预留原文来自X技术">页面文件预留</a>

【技术保护点】

【技术特征摘要】
2011.03.07 US 13/042,1281.一种操作具有第一类型存储器和第二类型存储器的计算设备的方法(500),所述第一类型存储器存储活动存储器页面的工作集,所述方法包括:确定(503)其中所述工作集的第一页面的第一数据将被写入的所述第二类型存储器中页面文件(250)的第一部分;以及至少预留(504)与所述页面文件的第一部分相邻的所述页面文件(250)的第二部分,以用于虚拟存储器空间中离所述第一页面阈值数目页面内的虚拟存储器空间的一个或多个相邻页面,其中虚拟存储器空间中的第一页面映射到所述工作集的第一页面并且映射到所述页面文件的第一部分。2.如权利要求1所述的方法,还包括:将所述第一页面的第一数据写到(510)页面文件(250)的所述第一部分;确定(402)将第二页面的第二数据写到所述页面文件(250);检查(404)是否存在针对所述第二页面的预留,所述预留为所述第二页面的第二数据预留所述页面文件(250)的第二部分;以及如果存在针对所述第二页面的预留,则将所述第二页面的第二数据写到(406)所述页面文件(250)的第二部分。3.如权利要求2所述的方法,还包括:在写入(408)所述第二页面的第二数据之前,检查所述页面文件的第二部分是否已经在使用中。4.如权利要求3所述的方法,还包括:如果所述页面文件的第二部分已经在使用中,识别既未分配也未预留的所述页面文件的部分;以及将所述第二页面的第二数据写到所识别的既未分配也未预留的页面文件的部分。5.如权利要求3所述的方法,其中检查所述页面文件的第二部分是否已在使用中包括在分...

【专利技术属性】
技术研发人员:YM贝克M伊根L王
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1