国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用連續(xù)排序的交換文件的工作集合交換的制作方法

      文檔序號(hào):6384199閱讀:208來源:國知局
      專利名稱:使用連續(xù)排序的交換文件的工作集合交換的制作方法
      使用連續(xù)排序的交換文件的工作集合交換
      背景技術(shù)
      計(jì)算系統(tǒng)采用主存儲(chǔ)器(經(jīng)常稱作物理存儲(chǔ)器)來執(zhí)行包括軟件程序或應(yīng)用來內(nèi)的處理。在現(xiàn)代系統(tǒng)中,該主存儲(chǔ)器通常包括諸如隨機(jī)訪問存儲(chǔ)器(RAM)的易失性存儲(chǔ)器。操作系統(tǒng)(OS)可以向每個(gè)處理指定多個(gè)存儲(chǔ)器頁面以便該處理在物理存儲(chǔ)器中執(zhí)行時(shí)使用。然而,活動(dòng)的處理可能會(huì)使用比系統(tǒng)上可用的更多的物理存儲(chǔ)器。在這樣的情況下,可以采用虛擬存儲(chǔ)器來補(bǔ)充活動(dòng)處理所使用的物理存儲(chǔ)器,而不是在物理存儲(chǔ)器中維持所有處理頁面。虛擬存儲(chǔ)器可以通過將用于處理的一個(gè)或多個(gè)頁面寫入次級(jí)存儲(chǔ)(例如,硬盤驅(qū)動(dòng)器)中的非易失性存儲(chǔ)器中,并且按照需要將頁面讀回物理存儲(chǔ)器來實(shí)施。例如,當(dāng)數(shù)據(jù)沒有被處理主動(dòng)使用時(shí),包含這樣的數(shù)據(jù)的頁面可以被寫入次級(jí)存儲(chǔ)因此釋放物理存儲(chǔ)器中的空間。這種在物理存儲(chǔ)器和虛擬存儲(chǔ)器之間讀取和寫入頁面的處理通常被稱作頁式調(diào)度(paging),并且次級(jí)存儲(chǔ)中用于寫入頁面的空間通常被稱作頁面文件。針對(duì)處理發(fā)生的該頁式調(diào)度的速度和效率會(huì)影響到系統(tǒng)性能和用戶體驗(yàn)。

      發(fā)明內(nèi)容
      傳統(tǒng)的頁式調(diào)度操作趨于基于當(dāng)前活動(dòng)的處理的存儲(chǔ)器要求將單獨(dú)頁面從物理存儲(chǔ)器頁出(page out)到次級(jí)存儲(chǔ),并且這可能會(huì)導(dǎo)致次級(jí)存儲(chǔ)的破碎。本申請(qǐng)描述了通過使用往來于次級(jí)存儲(chǔ)中連續(xù)排序位置的大型頁面寫入和讀取而往來于用于處理的頁面的工作集合高效地交換一個(gè)或多個(gè)頁面的技術(shù)。由于讀取和寫入在它們能夠在連續(xù)排序的和/或較大的存儲(chǔ)器塊上執(zhí)行的情況下趨于更為高效,所以這里所描述的技術(shù)在交換操作期間往來于物理存儲(chǔ)器中連續(xù)排序的位置而采用了大型頁面讀取和寫入。當(dāng)將頁面從物理存儲(chǔ)器交換至次級(jí)存儲(chǔ)中時(shí),頁面可以根據(jù)其虛擬地址順序而被寫入專用交換文件中所保留的連續(xù)位置。這樣的寫入可以使得能夠在把頁面交換到大的連續(xù)排序的存儲(chǔ)器塊中,提供了更為高效的換入(inswapping)。提供該發(fā)明內(nèi)容而以簡(jiǎn)化形式引入以下在具體實(shí)施方式
      中進(jìn)一步描述的一系列概念。該發(fā)明內(nèi)容并非意在標(biāo)識(shí)出所請(qǐng)求保護(hù)主題的關(guān)鍵特征或必要特征,也并非意在被用來對(duì)所請(qǐng)求保護(hù)主題的范圍進(jìn)行限制。


      參考附圖對(duì)具體實(shí)施方式
      進(jìn)行描述。在圖中,附圖標(biāo)記最左側(cè)的(多個(gè))數(shù)位標(biāo)識(shí)出該附圖標(biāo)記在其中首次出現(xiàn)的示圖。相同的附圖標(biāo)記在不同示圖中指示相似或相同的項(xiàng)目。圖1A和IB圖示了依據(jù)實(shí)施例的用于將頁面從處理的工作集合寫入交換文件的連續(xù)排序的位置的示例。圖2是描繪依據(jù)實(shí)施例的示例計(jì)算系統(tǒng)的示意圖。圖3是依據(jù)實(shí)施例的示例操作系統(tǒng)組件的示意圖。
      圖4A描繪了依據(jù)實(shí)施例的用于將頁面從工作集合交換出去的說明性處理的流程圖。圖4B描繪了依據(jù)實(shí)施例的用于將交換出來的頁面寫入交換文件的說明性處理的流程圖。圖5描繪了依據(jù)實(shí)施例的用于將頁面從交換文件交換出至工作集合的說明性處理的流程圖。圖6描繪了依據(jù)實(shí)施例的動(dòng)態(tài)管理交換文件的說明性處理的流程圖。
      具體實(shí)施方式
      概述
      這里所描述的實(shí)施例使得能夠通過使用往來于次級(jí)存儲(chǔ)中連續(xù)排序位置的大的存儲(chǔ)器塊的寫入和讀取而從處理的工作集合進(jìn)行更為高效的存儲(chǔ)器頁面交換。在諸如隨機(jī)訪問存儲(chǔ)器(RAM)的物理存儲(chǔ)器中執(zhí)行的處理可能需要比系統(tǒng)上可用的更多的物理存儲(chǔ)器。在這樣的情況下,傳統(tǒng)配置的存儲(chǔ)器管理器或操作系統(tǒng)的其它組件可以實(shí)施頁式調(diào)度以通過將處理的一個(gè)或多個(gè)存儲(chǔ)器頁面寫入次級(jí)存儲(chǔ)上的頁面文件而釋放一些物理存儲(chǔ)器。在傳統(tǒng)的頁式調(diào)度中,處理的單獨(dú)頁面可以在需要時(shí)被寫入(即,頁出)以釋放物理存儲(chǔ)器,并且頁面可以在處理想要訪問它們時(shí)(例如,發(fā)生頁面錯(cuò)誤時(shí))按照需要被頁面返回至物理存儲(chǔ)器中。這種單獨(dú)頁面按照需要進(jìn)行的傳統(tǒng)頁式調(diào)度經(jīng)常被稱作按需頁式調(diào)度,并且會(huì)導(dǎo)致隨機(jī)并小型的次級(jí)存儲(chǔ)輸入/輸出(I/O)操作,其中各個(gè)頁面被存儲(chǔ)在非連續(xù)存儲(chǔ)空間中且并非以任何特定順序進(jìn)行存儲(chǔ)。此外,計(jì)算系統(tǒng)中的I/O操作(例如,讀和寫)通常在以連續(xù)排序且大型的請(qǐng)求執(zhí)行時(shí)更為高效。例如,在采用固態(tài)磁盤的系統(tǒng)中,與針對(duì)隨機(jī)位置的請(qǐng)求相比,連續(xù)排序的I/O操作會(huì)導(dǎo)致兩至三倍的效率增益。在許多情況下,大小較大的連續(xù)請(qǐng)求與大小較小的連續(xù)請(qǐng)求相比可以產(chǎn)生類似的增益。此外,在采用旋轉(zhuǎn)磁盤的系統(tǒng)中,效率增益可能高達(dá)50倍。假定如此,這里所描述的實(shí)施例能夠通過往來于交換文件中連續(xù)排序的位置使用針對(duì)讀取和寫入更大頁面集群的I/O操作而使得能夠進(jìn)行高效交換。如這里所使用的,術(shù)語頁面可以是指處理在其執(zhí)行時(shí)所使用的存儲(chǔ)器塊。當(dāng)處理活動(dòng)時(shí),頁面可以處于可由處理可以訪問的物理存儲(chǔ)器中。存儲(chǔ)器管理器或操作系統(tǒng)(OS)的其它組件可以移出物理存儲(chǔ)器的一個(gè)或多個(gè)頁面并且將它們寫入次級(jí)存儲(chǔ)??梢酝ㄟ^從次級(jí)存儲(chǔ)復(fù)制回頁面而將它們讀回物理存儲(chǔ)器中。在一個(gè)或多個(gè)實(shí)施例中,頁面可以包括處理的私有頁面。如這里所使用的,私有頁面可以是指特定處理所擁有或?qū)S枚槐黄渌幚硭褂玫哪切╉撁?,諸如為處理所分配的堆(heap)。其它類型的頁面可以包括多個(gè)處理所使用的可共享頁面,諸如文件映射。一些實(shí)施例支持私有頁面的高效交換。此外,一些實(shí)施例還可以支持頁面文件所返回的共享頁面的交換。這些類型的頁面可以存儲(chǔ)在單一位置中(例如,在頁面文件中),并且可以通過句柄或指針進(jìn)行引用。處理可以將這樣的頁面文件所返回的共享頁面的句柄送至另一個(gè)處理,并且該頁面只要處理保留針對(duì)其的句柄就可以存留在存儲(chǔ)器中。如這里所使用的,術(shù)語工作集合可以是指用于處理的頁面集合。實(shí)施例支持各種類型的工作集合。例如,工作集合可以包括處理在特定時(shí)間間隔期間所訪問和/或引用的數(shù)據(jù)的頁面。這樣的工作集合可以提供可能由處理在近期(例如,下一個(gè)時(shí)間段期間)所訪問的頁面集合的近似估計(jì)以使得可能期望將該頁面保持在物理存儲(chǔ)器中以備由處理訪問。然而,實(shí)施例并不局限于此并且可以支持作為工作集合的其它類型的頁面匯總。例如,用于處理的工作集合可以是可不通過OS而從處理器直接訪問的那些頁面。如這里所使用的,術(shù)語交換文件可以是指在次級(jí)存儲(chǔ)(例如,硬盤驅(qū)動(dòng)器)上保留并且用于將頁面換入換出物理存儲(chǔ)器的空間。在一些實(shí)施例中,交換文件是與用于傳統(tǒng)頁式調(diào)度操作的頁面文件相分離的專用交換文件。在一些實(shí)施例中,交換文件可以是頁面文件的一部分。在一些實(shí)施例中,交換文件可以由存儲(chǔ)器管理器或其它OS組件初始化,并且其大小可以如這里關(guān)于圖6所描述的進(jìn)行動(dòng)態(tài)管理。實(shí)施例提供了從處理的工作集合進(jìn)行頁面換出(outswapping)并且將一個(gè)或多個(gè)換出頁面從工作集合寫入次級(jí)存儲(chǔ)中的交換文件。如以上所討論的,實(shí)施例通過往來于交換文件中連續(xù)排序的位置以大的集群提供頁面的讀取和/或?qū)懭攵沟媚軌蜻M(jìn)行高效交換。圖1A和IB圖示了一個(gè)或多個(gè)實(shí)施例的換出和寫入的示例。圖1A示出了特定處理(處理X)的工作集合102以及次級(jí)存儲(chǔ)中的交換文件104??梢源_定來從物理存儲(chǔ)器換出工作集合102的一個(gè)或多個(gè)頁面。諸如存儲(chǔ)器管理器的OS組件隨后可以標(biāo)識(shí)出工作集合102中作為用于換出的候選頁面的一個(gè)或多個(gè)頁面,諸如工作集合的私有頁面??梢杂?jì)算所標(biāo)識(shí)的候選頁面的總體大小。隨后,在操作108中可以在交換文件104中保留出保留空間106,所保留空間足以存儲(chǔ)候選頁面。另外,每個(gè)候選頁面的位置可以被保留在保留空間106中,該位置根據(jù)候選頁面的虛擬地址順序進(jìn)行連續(xù)排序。此時(shí),在一些實(shí)施例中,即使還沒有候選頁面被寫入交換文件,候選頁面也可以被視為已經(jīng)被換出。圖1B描繪了工作集合102中的一個(gè)或多個(gè)候選頁面110。在一個(gè)或多個(gè)寫入操作112中,一個(gè)或多個(gè)候選頁面110被寫入保留空間106。如圖1B所示,每個(gè)所寫入的候選頁面可以被寫入其特定的保留位置。在一些實(shí)施例中,雖然候選頁面110在工作集合中可以是非連續(xù)的,但是如圖1B所示,它們?cè)诮粨Q文件中被寫入連續(xù)位置。將候選頁面寫入連續(xù)的連續(xù)排序的保留空間106可以使得后續(xù)的讀取操作在后續(xù)的換入操作期間能夠在頁面被讀回工作集合102時(shí)讀取交換文件中大的連續(xù)排序的塊。因此,在一些實(shí)施例中,將候選頁面寫入交換文件中連續(xù)排序的位置使得能夠進(jìn)行大的和/或連續(xù)排序的高效的未來讀取。頁面的換出和寫入關(guān)于圖4進(jìn)行更為詳細(xì)的描述。實(shí)施例另外提供了頁面的換入,其包括將頁面從交換文件讀入工作集合(即,將頁面返回物理存儲(chǔ)器以便由處理所使用)。頁面的換入關(guān)于圖5更為詳細(xì)地進(jìn)行描述。在一些實(shí)施例中,可以由策略管理器或OS的其它組件基于各種條件來進(jìn)行從處理的工作集合換出或移除一個(gè)或多個(gè)頁面的決策。例如,可以確定處理被中止、不活動(dòng)或者出于一些原因而不如計(jì)算設(shè)備上的其它活動(dòng)處理活躍(例如,訪問較少的頁面)。在這樣的情況下,處理的一些或所有工作集合可以從工作集合中移除以釋放更多的物理存儲(chǔ)器供其它處理使用。然而,為了創(chuàng)建平滑的用戶體驗(yàn),在換入期間期望盡可能高效地將頁面讀回到工作集合中,以使得處理快速地變?yōu)榛顒?dòng)。通過使用大的和/或連續(xù)的I/o操作的高效換入可以使得能夠快速重新激活處理并且因此在活動(dòng)處理之間進(jìn)行切換的計(jì)算設(shè)備中提供有所提升的性能。
      說明性計(jì)算設(shè)備架構(gòu)
      圖2描繪了實(shí)施例可以在其中進(jìn)行操作的示例計(jì)算機(jī)系統(tǒng)架構(gòu)的示圖。如所示出的,計(jì)算系統(tǒng)200包括處理單元202。處理單元202可以包含多個(gè)處理單元,并且可以被實(shí)施為硬件、軟件或者其一些組合。處理單元202可以包括一個(gè)或多個(gè)處理器。如這里所使用的,處理器是指硬件組件。處理單元202可以包括以任意適當(dāng)編程語言所編寫以執(zhí)行這里所描述的各種功能的計(jì)算機(jī)可執(zhí)行、處理器可執(zhí)行和/或機(jī)器可執(zhí)行指令。計(jì)算設(shè)備200進(jìn)一步包括系統(tǒng)存儲(chǔ)器204,其可以包括諸如隨機(jī)訪問存儲(chǔ)器(RAM)206、靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)等的易失性存儲(chǔ)器。RAM206包括一個(gè)或多個(gè)執(zhí)行的OS 208,以及一個(gè)或多個(gè)執(zhí)行的處理210,其包括可由處理單元202加載并執(zhí)行的組件、程序或應(yīng)用。因此,在一些實(shí)施例中,RAM 206可以包括OS 208或處理210在其中執(zhí)行的物理存儲(chǔ)器。系統(tǒng)存儲(chǔ)器204可以進(jìn)一步包括非易失性存儲(chǔ)器,諸如只讀存儲(chǔ)器(ROM) 212、閃存等。如所示出的,ROM 212可以包括用來引導(dǎo)計(jì)算系統(tǒng)200的基本輸入/輸出系統(tǒng)(BIOS)。雖然沒有示出,但是系統(tǒng)存儲(chǔ)器204可以進(jìn)一步存儲(chǔ)(多個(gè))操作系統(tǒng)208和/或處理210在其執(zhí)行期間所生成和/或采用的程序或組件的數(shù)據(jù)。系統(tǒng)存儲(chǔ)器204還可以包括高速緩存存儲(chǔ)器。如圖2所示出的,計(jì)算設(shè)備200還可以包括非可移動(dòng)存儲(chǔ)230和/或可移動(dòng)存儲(chǔ)234,包括磁盤存儲(chǔ)、光盤存儲(chǔ)、磁帶存儲(chǔ)等,但是并不局限于此。磁盤驅(qū)動(dòng)器以及相關(guān)聯(lián)的計(jì)算機(jī)可讀媒體可以提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及用于計(jì)算系統(tǒng)200操作的其它數(shù)據(jù)的非易失性存儲(chǔ)。此外,非可移動(dòng)存儲(chǔ)230可以進(jìn)一步包括硬盤驅(qū)動(dòng)器232。在一些實(shí)施例中,硬盤驅(qū)動(dòng)器232可以提供在這里所描述的交換操作中使用的次級(jí)存儲(chǔ)。總體而言,計(jì)算機(jī)可讀媒體包括計(jì)算機(jī)存儲(chǔ)媒體和通信媒體。計(jì)算機(jī)存儲(chǔ)媒體包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的信息的任意方法和技術(shù)所實(shí)施的易失性和非易失性、可移動(dòng)和非可移動(dòng)媒體。計(jì)算機(jī)存儲(chǔ)媒體包括RAM、ROM、可擦除可編程只讀存儲(chǔ)器(EEPROM)、SRAM、DRAM、閃存或其它存儲(chǔ)器技術(shù)、緊致盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(DVD)或其它光學(xué)存儲(chǔ)、磁性卡帶、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備,或者可以被用來存儲(chǔ)信息以便由計(jì)算設(shè)備所訪問的任意其它非傳輸介質(zhì),但是并不局限于此。與之相比,通信媒體可以在諸如載波或其它傳輸機(jī)制的調(diào)制數(shù)據(jù)信號(hào)中實(shí)現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。如這里所定義的,計(jì)算機(jī)存儲(chǔ)媒體并不包括通信媒體。計(jì)算系統(tǒng)200可以包括(多個(gè))輸入設(shè)備236,其包括鍵盤、鼠標(biāo)、手寫筆、游戲控制器、用于話音識(shí)別的語音輸入設(shè)備、觸摸輸入設(shè)備等,但是并不局限于此。計(jì)算系統(tǒng)200可以進(jìn)一步包括(多個(gè))輸出設(shè)備238,包括顯示器、打印機(jī)、音頻揚(yáng)聲器、觸覺輸出等,但是并不局限于此。計(jì)算設(shè)備200可以進(jìn)一步包括(多個(gè))通信連接240,其允許計(jì)算系統(tǒng)200通過一個(gè)或多個(gè)通信網(wǎng)絡(luò)與其它計(jì)算設(shè)備242進(jìn)行通信,所述其它計(jì)算設(shè)備242包括客戶端設(shè)備、服務(wù)器設(shè)備、數(shù)據(jù)庫和/或其它可用聯(lián)網(wǎng)設(shè)備。圖3提供了根據(jù)實(shí)施例的計(jì)算系統(tǒng)200和OS 208的示例描繪。如所示出的,在一些實(shí)施例中,OS 208包括諸如策略管理器302和存儲(chǔ)器管理器304的一個(gè)或多個(gè)組件。在一些實(shí)施例中,策略管理器302確定頁面何時(shí)被換出或換入用于在計(jì)算系統(tǒng)200的物理存儲(chǔ)器中執(zhí)行的處理的工作集合。在一些實(shí)施例中,策略管理器304可以被描述為OS 208的處理生命期管理器,其決策處理在各種條件下何時(shí)被中止、重新激活和/或終止。如圖3所示,OS 208例如可以通過計(jì)算系統(tǒng)200的通信總線與硬盤驅(qū)動(dòng)器232和RAM 206進(jìn)行通信。硬盤驅(qū)動(dòng)器232可以包括由OS 208在頁式調(diào)度或交換操作中所使用的次級(jí)存儲(chǔ)。在一些實(shí)施例中,硬盤驅(qū)動(dòng)器232包括一個(gè)或多個(gè)頁面文件318和/或一個(gè)或多個(gè)交換文件320。在一些實(shí)施例中,由存儲(chǔ)器管理器304初始化(多個(gè))頁面文件318和/或(多個(gè))交換文件320以便在頁式調(diào)度或交換操作中使用。在所示出的示例中,(多個(gè))交換文件320與(多個(gè))頁面文件318相分離。然而,在一些實(shí)施例中,(多個(gè))交換文件320可以是(多個(gè))頁面文件318的一部分。RAM 206可以包括處理在其中執(zhí)行的物理存儲(chǔ)器,并且可以包括用于這樣的處理的一個(gè)或多個(gè)工作集合322。此外,存儲(chǔ)器管理器304可以包括操作來執(zhí)行如這里所描述的頁面交換的操作的一個(gè)或多個(gè)組件。在一些實(shí)施例中,存儲(chǔ)器管理器304包括頁面表格306,其將虛擬地址映射到物理存儲(chǔ)器或用于頁面調(diào)度操作的頁面文件中的每個(gè)頁面的位置。在候選頁面被換出處理的工作集合時(shí)(如以下將參考圖4A進(jìn)一步描述的),一些實(shí)施例可以進(jìn)一步采用頁面表格306來存儲(chǔ)候選頁面在交換文件中的保留位置的信息。在一些實(shí)施例中,交換文件中的空間保留可以如于2011年3月7日提交并且通過引用結(jié)合于此的題為“PagefileReservations”的美國專利申請(qǐng)序列號(hào)13/042128中所描述的來進(jìn)行。存儲(chǔ)器管理器304還可以包括修改列表308和/或備用列表310。在一些實(shí)施例中,在候選頁面已經(jīng)從工作集合換出并且在交換文件中已經(jīng)為它們保留了位置之后,在后續(xù)某時(shí),那些候選頁面可以從工作集合中移除并且可以被置于修改列表308上以便由寫入器(例如,頁面寫入器312)進(jìn)行寫入。隨后,在每個(gè)頁面被寫入交換文件320時(shí),該頁面的地址信息可以從修改列表308中移至備用列表310。在一些實(shí)施例中,備用列表310保持追蹤還沒有從物理存儲(chǔ)器移除的頁面,盡管它們已經(jīng)被寫入交換文件。在這樣的情況下,如果處理試圖訪問這些頁面,則它們?nèi)匀豢梢栽谖锢泶鎯?chǔ)器中被直接訪問而不必被換入回來。然而,如果存儲(chǔ)器管理器304需要物理存儲(chǔ)器的更多頁面用于其它處理,在其可以分配處于備用列表上的那些頁面。在一些實(shí)施例中,存儲(chǔ)器管理器304還包括頁面寫入器312,其操作來將頁面從(多個(gè))工作集合322寫入(多個(gè))頁面文件318和/或(多個(gè))交換文件320 (例如,換出頁面),和/或?qū)㈨撁孀x回到(多個(gè))工作集合322中(例如,換入頁面)。說明性處理
      圖4A、4B、5和6描繪了示出依據(jù)各個(gè)實(shí)施例的示例處理的流程圖。這些處理的操作在單獨(dú)框中進(jìn)行圖示并且關(guān)于那些框而被概括。處理被圖示為邏輯流程圖,其中的每個(gè)操作可以表示可以以硬件、軟件或者其組合實(shí)施的一個(gè)或多個(gè)操作。在軟件環(huán)境中,操作表示存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)媒體上的計(jì)算機(jī)可執(zhí)行指令,當(dāng)被一個(gè)或多個(gè)處理器所執(zhí)行時(shí),所述計(jì)算機(jī)可執(zhí)行指令使得一個(gè)或多個(gè)處理器執(zhí)行所列舉的操作。通常,計(jì)算機(jī)可執(zhí)行指令包括執(zhí)行特定功能或者實(shí)施特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、模塊、組件、數(shù)據(jù)結(jié)構(gòu)等。操作所描述的順序并非意在被理解為限制,并且任意數(shù)量的所描述操作可以以任意順序進(jìn)行組合,細(xì)分為多個(gè)子操作和/或并行執(zhí)行以實(shí)施所描述的處理。圖4A描繪了依據(jù)實(shí)施例的從工作集合換出頁面的示例處理。該換出處理可以由OS 208的一個(gè)或多個(gè)組件執(zhí)行,諸如存儲(chǔ)器管理器304或策略管理器302。在402,進(jìn)行決策以將一個(gè)或多個(gè)頁面從處理的工作集合換出到交換文件中。在一些實(shí)施例中,該決策可以由策略管理器302基于各種標(biāo)準(zhǔn)來做出。在一些情況下,針對(duì)換出的決策可以以確定處理被不活動(dòng)或中止,與處理相關(guān)聯(lián)的一個(gè)或多個(gè)線程在某個(gè)時(shí)間段內(nèi)沒有活動(dòng),處理已經(jīng)處于后臺(tái)達(dá)一段時(shí)間,處理在一個(gè)時(shí)間段期間沒有使用某個(gè)數(shù)量的頁面,或者計(jì)算系統(tǒng)整體已經(jīng)被中止和/或處于不活動(dòng)為基礎(chǔ)?!┳龀隽藫Q出的決策,則在404,標(biāo)識(shí)出一個(gè)或多個(gè)候選頁面以便從處理的工作集合換出。在一些實(shí)施例中,存儲(chǔ)器管理器將對(duì)工作集合的每個(gè)頁面進(jìn)行分析并且基于某個(gè)標(biāo)準(zhǔn)確定每個(gè)頁面是否是換出的候選。在一些實(shí)施例中,換出的候選可以包括工作集合中的私有頁面和/或頁面文件所返回的共享頁面。在一些實(shí)施例中,候選頁面可以基于那些頁面是否清潔(clean)而標(biāo)識(shí),即頁面已經(jīng)被寫入頁面文件但是自那之后還沒有被修改,從而物理存儲(chǔ)器中的當(dāng)前頁面版本與頁面文件中的頁面相同。污損頁面是自被寫入頁面文件之后已經(jīng)被改變過,或者還沒有被寫入頁面文件的那些頁面。另外,在一些實(shí)施例中,在決策頁面是否是換出候選時(shí)可以考慮該頁面是否在存儲(chǔ)器中被鎖定。在406,基于計(jì)算出的所標(biāo)識(shí)候選頁面的總體大小在交換文件中保留空間(例如,所保留空間106)。在408,在交換文件的保留空間中為每個(gè)候選頁面分配或保留位置。在一些實(shí)施例中,位置根據(jù)工作集合中候選頁面的虛擬地址而以虛擬地址順序進(jìn)行保留。因此,即使候選頁面在工作集合內(nèi)是非連續(xù)的,它們?cè)诮粨Q文件中的位置也可以是連續(xù)的。候選頁面在交換文件的保留空間中連續(xù)、連續(xù)排序的位置可以使得在未來能夠從大的連續(xù)排序的塊中從交換文件執(zhí)行讀取以提供高效換入。在一些實(shí)施例中,交換文件中的空間保留可以如于2011年3月7日提交并且通過引用結(jié)合于此的題為“Pagefile Reservations”的美國專利申請(qǐng)序列號(hào)13/042128中所描述的來進(jìn)行。一旦已經(jīng)在408為候選頁面保留了位置,那些候選頁面就可以被視為已經(jīng)被換出。在410,所換出的候選頁面的列表(或其它數(shù)據(jù)結(jié)構(gòu))被更新。在一些實(shí)施例中,該列表當(dāng)在408保留位置時(shí)被更新。一旦已經(jīng)保留了位置并且更新了列表,在后續(xù)某時(shí),存儲(chǔ)器管理器可以選擇將一些或全部換出頁面寫入交換文件中它們所保留的位置。圖4B描繪了根據(jù)實(shí)施例的用于寫入換出頁面的示例處理。在412,決策將一個(gè)或多個(gè)所標(biāo)識(shí)的候選頁面寫入交換文件(例如,以便從工作集合換出頁面)。在一些實(shí)施例中,該決策可以以確定導(dǎo)致決策換出(在402)的標(biāo)準(zhǔn)在其間仍然有效的某個(gè)閾值時(shí)間段已經(jīng)過去為基礎(chǔ)。例如,可能過去了某個(gè)時(shí)間段(例如5分鐘),期間處理仍然不活動(dòng)或中止。在一些實(shí)施例中,可以基于存儲(chǔ)器管理器確定了需要更多物理存儲(chǔ)器供一個(gè)或多個(gè)活動(dòng)處理使用來決策。如果在412決策了將一個(gè)或多個(gè)候選頁面寫入交換文件,則在414,可以從工作集合移除一個(gè)或多個(gè)要被寫入的候選頁面。在一些實(shí)施例中,所有候選頁面都被移除并且在一個(gè)或多個(gè)寫入操作中被寫入交換文件。在一些實(shí)施例中,部分候選頁面被移除。在一些實(shí)施例中,所寫入的候選頁面可以基于存儲(chǔ)器的壓力來確定(例如,基于存儲(chǔ)器管理器對(duì)更多物理存儲(chǔ)器的需求)。在一些實(shí)施例中,候選頁面被換出的決策可以基于那些頁面最近何時(shí)被處理所訪問。例如,存儲(chǔ)器管理器可以選擇換出最近最少使用并且在某個(gè)時(shí)間段內(nèi)還沒有被處理器所訪問的那些頁面。在一些實(shí)施例中,候選頁面的移除可以通過以與候選頁面的位置在交換文件中所保留的順序相一致的順序?qū)⑺鼈儚墓ぷ骷现幸瞥靡詢?yōu)化。例如,諸如在位置以虛擬地址順序進(jìn)行保留的情況下,候選可以以虛擬地址順序從工作集合移除。在一些實(shí)施例中,雖然候選頁面仍然基于虛擬地址順序而被寫入交換文件中連續(xù)排序的位置中,但是候選頁面從工作集合的移除可以是任意的和/或隨機(jī)的(例如,沒有排序)。在一些實(shí)施例中,頁面可以保留在物理存儲(chǔ)器中的工作集合中(例如,即使在那些頁面被寫入交換文件之后)直至存儲(chǔ)器管理器需要將那些頁面用于活動(dòng)處理。在416,候選頁面被寫入交換文件。在一些實(shí)施例中,候選頁面根據(jù)其虛擬地址順序(例如,根據(jù)頁面在工作集合中的虛擬地址而以升序或降序)而被寫入它們?cè)诮粨Q文件中連續(xù)排序的保留位置。此外,通過將候選頁面進(jìn)行匯集以在盡可能大的存儲(chǔ)器塊中執(zhí)行寫入和/或以連續(xù)的虛擬地址順序執(zhí)行寫入操作,寫入操作自身可以而得以優(yōu)化和/或更高效地執(zhí)行。在一些實(shí)施例中,頁面寫入器312執(zhí)行寫入操作以將候選頁面寫入它們?cè)诮粨Q文件中的保留位置。在候選頁面還沒有被分配保留位置的情況下,頁面可以被寫入頁面文件。在一些實(shí)施例中,所寫入頁面的地址可以被存儲(chǔ)器管理器保存在要用于從交換文件讀入頁面的數(shù)據(jù)結(jié)構(gòu)中。在一些情況下,可以在412決策不寫入換出頁面。在這樣的情況下,在418,所保留位置可以被保持直至發(fā)生換入(如圖5所描述)。在一些實(shí)施例中,如果導(dǎo)致針對(duì)交換的初始決策(例如,在402)的條件在某個(gè)閾值時(shí)間段之后不再存在,則可以決策不將候選頁面寫入交換文件。例如,處理可以再次活動(dòng)或者不再被中止。在其它情況下例如如果一個(gè)或多個(gè)候選頁面被處理所訪問,針對(duì)換入頁面的條件可能在那些候選頁面已經(jīng)被寫入交換文件之前出現(xiàn)(例如,如果那些頁面還沒有從物理存儲(chǔ)器中移除則將會(huì)導(dǎo)致頁面錯(cuò)誤的條件)?!?shí)施例支持其中在402已經(jīng)做出了換出決策之后的一個(gè)時(shí)間段內(nèi)從工作集合移除頁面的優(yōu)化。另外,頁面集群可以根據(jù)使用模式而被換出和/或?qū)懗龅巾撁嫖募?。例如,存?chǔ)器管理器可以換出和/或?qū)懭胩幚碜罱谠L問(例如,在過去五秒內(nèi)訪問過)的頁面的第一群組,隨后在一段時(shí)間之后換出和/或?qū)懭氪谓谠L問(例如,在過去5秒和過去10秒之間訪問過)的頁面的第二群組,等等。在一些情況下,這樣的群組可以另外從最不近期訪問向最近期訪問進(jìn)行排序。在一些實(shí)施例中,頁面的換出和/或?qū)懗隹梢砸蕴幚韴?zhí)行的特定活動(dòng)或階段為基礎(chǔ)。例如,應(yīng)用可以進(jìn)入特定階段或執(zhí)行特定行為,并且與該階段或行為相關(guān)(或者不與該階段或表現(xiàn)相關(guān))的頁面可以被存儲(chǔ)器管理器所換出。此外,實(shí)施例支持優(yōu)化的各種組合。例如,頁面的群組可以被交換出,并且隨后類似的群組或不同地確定的群組可以被寫入交換文件。作為另一個(gè)示例,頁面的整個(gè)工作集合可以被換出,并且隨后頁面的群組被標(biāo)識(shí)用于向交換文件寫入,如這里所描述的。此外,在一些實(shí)施例中,一個(gè)或多個(gè)頁面從處理的工作集合的換出可以被描述為將處理的當(dāng)前狀態(tài)保存至次級(jí)存儲(chǔ),以使得當(dāng)存儲(chǔ)器管理器換進(jìn)被換出的頁面時(shí),該處理被恢復(fù)到其例如在被中止或變?yōu)椴换顒?dòng)時(shí)所處的狀態(tài)。在一些實(shí)施例中,正在執(zhí)行的處理可能試圖訪問在被換進(jìn)之前已經(jīng)被換出的頁面。在這樣的情況下,存儲(chǔ)器管理器可以確定換入所有被換出的頁面,換入試圖進(jìn)行訪問的那些頁面,和/或換入在虛擬地址空間中與(多個(gè))所請(qǐng)求頁面臨近的一個(gè)或多個(gè)頁面。這可以包括在交換文件中釋放所換入頁面的保留位置。圖5描繪了依據(jù)實(shí)施例的用于將頁面從次級(jí)存儲(chǔ)換入到處理的工作集合的示例處理。在一些實(shí)施例中,換入處理由OS 208的一個(gè)或多個(gè)組件來執(zhí)行,諸如存儲(chǔ)器管理器304或策略管理器302。在502,決策或確定來換入之前從用于處理的工作集合所換出的一個(gè)或多個(gè)頁面。在一些實(shí)施例中,該決策由策略管理器302所作出,并且可以基于各種標(biāo)準(zhǔn)而作出。這樣的標(biāo)準(zhǔn)可以包括接收到處理不再不活動(dòng)或中止,或者處理試圖訪問未處于物理存儲(chǔ)器中的一個(gè)或多個(gè)頁面的指示(例如,已經(jīng)發(fā)生了頁面錯(cuò)誤)。在一些實(shí)施例中,標(biāo)準(zhǔn)可以包括導(dǎo)致在402進(jìn)行換出的決策的那些條件的中斷。在504,一個(gè)或多個(gè)之前換出的頁面被標(biāo)識(shí)以便進(jìn)行換入。在502進(jìn)行換入決策的同時(shí),一個(gè)或多個(gè)換出頁面可能不再處于物理存儲(chǔ)器中。例如,存儲(chǔ)器管理器可能已經(jīng)將一個(gè)或多個(gè)換出頁面用于其它處理。因此,在504,標(biāo)識(shí)用于換入的頁面可以包括確定不再處于物理存儲(chǔ)器中的那些換出頁面。在一些實(shí)施例中,標(biāo)識(shí)用于換入的頁面可以基于其地址在它們換出時(shí)被存儲(chǔ)器管理器保存在數(shù)據(jù)結(jié)構(gòu)中的那些頁面。在一些實(shí)施例中,處理對(duì)一個(gè)或多個(gè)頁面所進(jìn)行的失敗訪問嘗試(例如,頁面錯(cuò)誤)可以導(dǎo)致那些頁面被換入。在506,確定被標(biāo)識(shí)為之前被換出的一個(gè)或多個(gè)頁面是否已經(jīng)如以上關(guān)于圖4B所描述的那樣被寫入交換文件以及頁面是否已經(jīng)離開了物理存儲(chǔ)器。在一些實(shí)施例中,在508,如果頁面已經(jīng)被寫入交換文件并且已經(jīng)離開了物理存儲(chǔ)器,在被標(biāo)識(shí)為用于換入的頁面被從它們?cè)诮粨Q文件中的位置讀回到物理存儲(chǔ)器中的工作集合中。在一些情況下,頁面可能已經(jīng)從工作集合中被移除但是還沒有離開物理存儲(chǔ)器(例如,如果頁面被高速緩存在備用列表上)。在這樣的情況下,這些高速緩存的頁面可以從備用列表被添加回到工作集合中并且它們的保留位置被釋放,但是無需從交換文件讀取該頁面。另外,工作集合的一些頁面在換出之后可能已經(jīng)離開物理存儲(chǔ)器而其它頁面則保持被高速緩存在備用列表上。在這樣的情況下,已經(jīng)離開物理存儲(chǔ)器的那些頁面可以從交換文件進(jìn)行讀取,并且連同高速緩存的頁面一起被添加回到工作集合中。在一些實(shí)施例中,頁面的讀入可以與在處理的頁面錯(cuò)誤時(shí)所發(fā)起的讀取類似地進(jìn)行。然而,實(shí)施例支持以大的存儲(chǔ)器塊和/或以連續(xù)的虛擬地址順序進(jìn)行讀取,因此其與從次級(jí)存儲(chǔ)中的任意位置讀取較小的塊相比更為高效。例如,由于頁面被寫入交換文件中所保留的連續(xù)塊(或者在一些情況下,如以下所描述的多個(gè)連續(xù)塊)并且以連續(xù)的虛擬地址順序進(jìn)行寫入,所以多個(gè)頁面的集群可以隨后以大的塊并且以連續(xù)的虛擬地址順序進(jìn)行讀取,提供更為高效的讀取操作。在一些實(shí)施例中,對(duì)于系統(tǒng)性能和/或使用可能有益的是,假定用戶可以等待之前不活動(dòng)或中止的處理再次變得活躍(例如,諸如在處理是用戶應(yīng)用時(shí)),可以高效執(zhí)行換出的頁面的讀入。假定如此,一些實(shí)施例可以支持這樣的優(yōu)化其中頁面以基于它們?cè)趽Q出之前被訪問的頻繁程度的順序而被讀回到物理存儲(chǔ)器中。例如,在將頁面從工作集合換出之前,存儲(chǔ)器管理器可以保持追蹤哪些頁面被處理更為頻繁地訪問或者在最近期訪問,并且那些頁面可以比其它頁面更早地被換入。例如,頁面的第一群組可以被確定為已經(jīng)在某個(gè)時(shí)間段內(nèi)(例如,應(yīng)用中止之前的最近5秒鐘)被訪問,頁面的第二群組可以被確定為已經(jīng)在下一個(gè)時(shí)間段內(nèi)(例如,5和10秒鐘之間)被訪問,第三群組可以被確定為已經(jīng)在下一個(gè)時(shí)間段內(nèi)(例如,10和15秒鐘之間)被訪問,等等。隨后,當(dāng)作出換入頁面的決策時(shí),第一群組可以被首先換入,第二群組可以在第一群組之后被換入,第三群組可以在第二群組之后被換入,等等。假定在換出之前最近被處理所訪問的那些頁面是首先被換入的那些頁面,則這樣的優(yōu)化可以確保處理變?yōu)橹辽俨糠值鼗钴S并且可更快地被用戶所使用。在510,在交換文件中為換出頁面所保留的位置得以被釋放。在一些實(shí)施例中,在506確定了要被換入的頁面還沒有被寫入它們?cè)诮粨Q文件中所保留的位置的情況下也可以執(zhí)行所保留位置的釋放。圖6描繪了根據(jù)實(shí)施例的用于動(dòng)態(tài)管理交換文件的示例處理。在一些實(shí)施例中,該處理由OS 208的組件所執(zhí)行,諸如存儲(chǔ)器管理器304。在602,初始化交換文件。在一些實(shí)施例中,交換文件在計(jì)算系統(tǒng)引導(dǎo)時(shí)被初始化為具有預(yù)定大小(例如,256MB)。在其它實(shí)施例中,交換文件在存儲(chǔ)器管理器確定要發(fā)生交換操作時(shí)初始化,并且可以被初始化為具有足以容納所要交換的頁面的初始大小。在存儲(chǔ)器管理器(或其它OS組件)進(jìn)行操作時(shí),可以在604確定將一個(gè)或多個(gè)頁面從物理存儲(chǔ)器中所執(zhí)行處理的工作集合中換出,如以上關(guān)于圖4A所描述的。在606,如果所換出的頁面被寫入交換文件,則隨后可以確定在交換文件中是否需要附加的空間以容納它們。如果需要更多空間,則交換文件大小可以在608動(dòng)態(tài)增加。在一些實(shí)施例中,給定交換文件的當(dāng)前大小,增加交換文件大小的決策可以以存儲(chǔ)器管理器接收到針對(duì)無法被容納的頁面交換的請(qǐng)求為基礎(chǔ)。此外,一些實(shí)施例可以提供交換文件的最大大小。在一些實(shí)施例中,交換文件的初始大小和/或其大小的動(dòng)態(tài)變化可以至少部分地由系統(tǒng)上所執(zhí)行處理的大小和/或類型所確定。在610,如以上所描述地執(zhí)行換出操作和/或?qū)懭氩僮?。在隨后某時(shí),可以在612確定換入一個(gè)或多個(gè)所換出頁面,并且在614釋放交換文件中一個(gè)或多個(gè)頁面的保留位置。換入和保留位置的釋放可以如以上關(guān)于圖5所描述的那樣進(jìn)行。在616,例如在612的換入操作和614的保留空間釋放之后,可以決策交換文件需要較少空間。在這樣的情況下,交換文件的大小可以在618動(dòng)態(tài)減小。。在一些實(shí)施例中,減小交換文件的大小的決策可以基于確定了一個(gè)或多個(gè)處理的頁面換入減少了對(duì)于交換文件空間的需求而作出。在一些實(shí)施例中,交換文件中的自由空間可以被存儲(chǔ)器管理器重新用于所換出頁面的后續(xù)寫入,并且存儲(chǔ)器管理器可以以使得碎片最小化的方式重新使用交換文件空間(例如,以使得頁面優(yōu)選地被保存在更大更為連續(xù)的塊中和/或以連續(xù)虛擬地址順序進(jìn)行保存)。由于實(shí)施例試圖以連續(xù)順序的頁面集群的大型讀取和寫入執(zhí)行交換操作,所以其對(duì)于交換文件自身碎片更少并且在次級(jí)存儲(chǔ)中更為連續(xù)而言會(huì)是有利的。為此,在一些實(shí)施例中,當(dāng)存儲(chǔ)器管理器確定需要更多交換文件空間時(shí),其可以以大于交換文件縮小的量(例如,64MB)的某個(gè)塊大小(例如,128MB)從操作系統(tǒng)請(qǐng)求附加空間。通過以更大的塊請(qǐng)求附加空間,給定文件系統(tǒng)試圖在次級(jí)存儲(chǔ)中的連續(xù)空間(或空間較不連續(xù)的塊)中找出所請(qǐng)求的附加交換文件空間,則實(shí)施例可以降低交換文件的外部碎片的概率。此外,給定連續(xù)的交換文件的期望,實(shí)施例采用與如圖3所示的頁面文件分隔開來的交換文件。使用單獨(dú)的專用交換文件可以增加交換文件被創(chuàng)建和/或擴(kuò)展為單個(gè)連續(xù)的塊(或較不連續(xù)的塊)的概率。雖然一些實(shí)施例支持將頁面文件用于這里所描述的交換操作,但是給定采用頁面文件的傳統(tǒng)頁式調(diào)度方法的任意且非連續(xù)的方式,則這樣的情形會(huì)增加交換文件會(huì)在外部變得破碎并且因此較不服從大的連續(xù)I/o操作的概率。因此,給定通過使用單獨(dú)的交換文件而增加了更大更為連續(xù)的I/o操作的機(jī)會(huì),實(shí)施例支持使用單獨(dú)的專用交換文件來提高I/o操作的效率。另外,實(shí)施例可以支持在次級(jí)存儲(chǔ)中的某個(gè)數(shù)量的分段之間分布的單獨(dú)但不連續(xù)的交換文件。一些實(shí)施例可以支持最大數(shù)量的這樣的分段(例如,五個(gè))以確保交換文件并不過度地非連續(xù)。在一些實(shí)施例中,可以采用單個(gè)交換文件來交換來自計(jì)算系統(tǒng)上所有處理的頁面。在其它實(shí)施例中,可以將單獨(dú)交換文件用于計(jì)算系統(tǒng)上的個(gè)體處理或用于處理群組。結(jié)論
      雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法操作的語言對(duì)技術(shù)進(jìn)行了描述,但是所要理解的是,所附權(quán)利要求并不必局限于所描述的具體特征或操作。相反,具體特征和操作被公開為這樣的技術(shù)的示例實(shí)施方式。
      權(quán)利要求
      1.一種計(jì)算機(jī)實(shí)施的方法,包括 從用于處理的頁面的工作集合標(biāo)識(shí)出用于交換的一個(gè)或多個(gè)候選頁面(404); 在次級(jí)存儲(chǔ)的交換文件中保留空間,所保留的空間對(duì)應(yīng)于所述一個(gè)或多個(gè)候選頁面的總體大小(406);并且 將所述一個(gè)或多個(gè)候選頁面寫入所述交換文件中所保留空間中的連續(xù)排序的位置(416,106)。
      2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括以連續(xù)地址順序從所述工作集合中去除要被寫入的一個(gè)或多個(gè)候選頁面。
      3.根據(jù)權(quán)利要求1的方法,其中所述連續(xù)排序的位置被連續(xù)并且以連續(xù)虛擬地址順序分配給所述一個(gè)或多個(gè)候選頁面(408,106)。
      4.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括以連續(xù)地址順序?qū)⒅辽僖恍┧鶎懭氲暮蜻x頁面的集群從所述交換文件的所保留空間讀入用于處理的工作集合(508)。
      5.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括在所述交換文件中連續(xù)保留位置(408,106)。
      6.根據(jù)權(quán)利要求1的方法,其中以虛擬地址順序連續(xù)執(zhí)行所述一個(gè)或多個(gè)候選頁面的寫入(416,112)。
      7.一種系統(tǒng),包括 至少一個(gè)處理器(202); 存儲(chǔ)器(204);和 存儲(chǔ)器管理器(304),其由所述至少一個(gè)處理器執(zhí)行并且進(jìn)行操作以 從用于在存儲(chǔ)器中執(zhí)行的處理的頁面的工作集合標(biāo)識(shí)出用于交換的一個(gè)或多個(gè)候選頁面(404); 在系統(tǒng)的次級(jí)存儲(chǔ)的交換文件中保留空間,所保留的空間對(duì)應(yīng)于所述一個(gè)或多個(gè)候選頁面的總體大小(406);并且 將所述一個(gè)或多個(gè)候選頁面寫入所述交換文件中所保留空間中的連續(xù)排序的位置(416,106)。
      8.根據(jù)權(quán)利要求7的系統(tǒng),進(jìn)一步包括策略管理器(302),其由所述至少一個(gè)處理器執(zhí)行并且基于處理的檢測(cè)到的狀態(tài)確定交換用于處理的工作集合的至少一部分(402)。
      9.根據(jù)權(quán)利要求7的系統(tǒng),其中所述存儲(chǔ)器管理器進(jìn)一步操作來以連續(xù)地址順序?qū)⒁粋€(gè)或多個(gè)所寫入的候選頁面從所述交換文件中的所保留空間寫入用于處理的工作集合(508)。
      10.一個(gè)或多個(gè)存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)媒體(232,234),當(dāng)被至少一個(gè)處理器(202)執(zhí)行時(shí),所述指令指示所述至少一個(gè)處理器執(zhí)行操作,所述操作包括 從用于處理的頁面的工作集合標(biāo)識(shí)出用于交換的一個(gè)或多個(gè)候選頁面(404); 在次級(jí)存儲(chǔ)的交換文件中保留空間,所保留的空間對(duì)應(yīng)于所述一個(gè)或多個(gè)候選頁面的總體大小(406);并且 將所述一個(gè)或多個(gè)候選頁面寫入所述交換文件中所保留空間中的保留位置,所述保留位置是以連續(xù)地址順序的(416,106);并且 以連續(xù)地址順序?qū)⒅辽僖恍┧鶎懭氲暮蜻x頁面的集群從所述交換文件的所保留空間讀入用于處理的工作集合(508 )。
      11.一種或多種其上存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令當(dāng)由計(jì)算設(shè)備執(zhí)行時(shí),使得所述計(jì)算設(shè)備實(shí)現(xiàn)如權(quán)利要求1 一 6中的任一個(gè)所述的方法。
      全文摘要
      本發(fā)明為使用連續(xù)排序的交換文件的工作集合交換。描述了使得能夠通過使用往來于次級(jí)存儲(chǔ)中連續(xù)排序位置的大型頁面寫入和讀取而往來于用于處理的頁面的工作集合進(jìn)行高效的存儲(chǔ)器頁面交換的技術(shù)。當(dāng)從處理的工作集合將頁面寫入次級(jí)存儲(chǔ)時(shí),該頁面可以根據(jù)虛擬地址順序或其它順序而被寫入專用交換文件中所保留的連續(xù)位置中。這樣寫入連續(xù)排序的位置使得能夠在大的連續(xù)存儲(chǔ)器塊中讀取頁面集群,提供了更為高效的將頁面返回物理存儲(chǔ)器的讀取操作。
      文檔編號(hào)G06F12/02GK103019948SQ20121054097
      公開日2013年4月3日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2011年12月14日
      發(fā)明者M.萊根, Y.貝克, L.王, A.U.基尚 申請(qǐng)人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1