專利名稱:存儲器管理設(shè)備、存儲器管理方法以及控制程序的制作方法
技術(shù)領(lǐng)域:
本公開內(nèi)容涉及一種存儲器管理設(shè)備、存儲器管理方法以及控制程序,更具體地,涉及抑制存儲器釋放處理的執(zhí)行頻率的存儲器管理設(shè)備、存儲器管理方法以及控制程序。
背景技術(shù):
在現(xiàn)有技術(shù)中,作為以程序為單位限制存儲器(主存儲裝置)的使用量的技術(shù),例如,Linux 的 cgroup 是公知的(例如,參見 Balbir Singh 等人的“Containers:Challengeswith the memory resource controller and its performance,,,Proceedings of theLinux Symposium,卷二,加拿大,2007 年 6 月 27 日至 30 日,209-222 頁)。如果使用cgroup,則在系統(tǒng)中執(zhí)行的程序(處理)可被劃分成多個組,并且可針對·每個組來設(shè)置存儲器使用量的上限。圖I是示出在使用cgroup限制每個組的存儲器使用量的系統(tǒng)中包括一個程序的組的存儲器使用量的轉(zhuǎn)變示例的圖。橫軸表示時間,并且縱軸表示存儲器使用量。在圖I中,LI表示該組的存儲器使用量的上限。在該示例中,示出了如下情況的示例輔助存儲裝置是不可寫的,并且無法將存儲器上的數(shù)據(jù)清空(evacuate)到輔助存儲裝置。如圖I所示,隨著系統(tǒng)的運行時間變長,組的存儲器使用量增加。如果存儲器使用量在時間tl達(dá)到上限LI,則例如通過釋放組中的程序的指令部分可以被丟棄的存儲器區(qū)域來執(zhí)行用以保證必需的存儲器區(qū)域的存儲器釋放處理,甚至當(dāng)整個系統(tǒng)的存儲器中存在空閑區(qū)域時也是如此。此外,當(dāng)組中包括多個程序時,對于存儲器釋放處理,例如,重要性較低的程序可被迫終止。然后,每次存儲器使用量達(dá)到上限LI時,重復(fù)執(zhí)行存儲器釋放處理。圖2是示出程序的指令部分和除指令部分以外的數(shù)據(jù)部分的、圖I的存儲器使用量的轉(zhuǎn)變的圖。如圖2所示,每次執(zhí)行存儲器釋放處理時,數(shù)據(jù)部分的存儲器使用量幾乎不改變而指令部分的存儲器使用量減小。這是由于如果可以重寫數(shù)據(jù)的值,則不丟棄數(shù)據(jù)部分而是應(yīng)該將其保存在存儲器中,并且相應(yīng)地,釋放允許被丟棄的指令部分的存儲器區(qū)域。此外,在使用cgroup的系統(tǒng)中,甚至當(dāng)整個系統(tǒng)的存儲器使用量達(dá)到預(yù)定上限時,也執(zhí)行存儲器釋放處理以保證必需的存儲器區(qū)域。
發(fā)明內(nèi)容
當(dāng)執(zhí)行存儲器釋放處理時,整個系統(tǒng)為了該處理而被耗費。因此,例如,系統(tǒng)響應(yīng)退化或者操作變得不穩(wěn)定(例如,視頻或音頻的干擾)。具體地,當(dāng)安裝在例如嵌入式裝置上的存儲器的容量較小時,存儲器釋放處理的執(zhí)行頻率變高并且系統(tǒng)的能力大大退化。本公開內(nèi)容使得能夠抑制存儲器釋放處理的執(zhí)行頻率,同時還抑制系統(tǒng)的能力退化。根據(jù)本公開內(nèi)容的實施例,提供了一種存儲器管理設(shè)備,包括存儲器管理單元,用于控制來自輔助存儲裝置的程序到主存儲裝置的布置并限制主存儲裝置中用于布置程序的指令部分的容量。存儲器管理單元可針對每個程序限制要布置在主存儲裝置中的指令部分的容量??稍O(shè)置用于基于每個程序的預(yù)定條件而動態(tài)地設(shè)置要布置在主存儲裝置中的指令部分的容量的上限的設(shè)置單元。可在存儲器管理單元中針對每個程序設(shè)置用于在主存儲裝置中布置指令部分的算法。存儲器管理單元可預(yù)測未來要執(zhí)行的指令部分,并在需要該指令部分之前將該指令部分布置在主存儲裝置中。根據(jù)本公開內(nèi)容的另一實施例,提供了一種存儲器管理方法,包括通過存儲器管·理設(shè)備控制來自輔助存儲裝置的程序到主存儲裝置的布置并限制主存儲裝置中用于布置程序的指令部分的容量。根據(jù)本公開內(nèi)容的另一實施例,提供了一種用于使得計算機執(zhí)行處理的程序,該處理包括控制來自輔助存儲裝置的程序到主存儲裝置的布置并限制主存儲裝置中用于布置程序的指令部分的容量。根據(jù)本公開內(nèi)容的另一實施例,控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制主存儲裝置中用于布置程序的指令部分的容量。根據(jù)本公開內(nèi)容的方面,可以抑制存儲器釋放處理的執(zhí)行頻率,同時抑制系統(tǒng)的能力退化。
圖I是示出使用cgroup的系統(tǒng)的存儲器使用量的轉(zhuǎn)變的示例的圖;圖2是示出程序的指令部分和除指令部分以外的數(shù)據(jù)部分的、圖I的存儲器使用量的轉(zhuǎn)變的圖;圖3是示出應(yīng)用了本公開內(nèi)容的信息處理系統(tǒng)的實施例的框圖;圖4是示出最大指令存儲器分配量設(shè)置處理的流程圖;圖5是示出存儲器分配處理的流程圖;圖6是示出存儲器分配處理的具體示例的圖;圖7是示出存儲器分配處理的具體示例的圖;圖8是示出應(yīng)用了本公開內(nèi)容的系統(tǒng)的存儲器使用量的轉(zhuǎn)變示例的圖;圖9是示出程序的指令部分和除指令部分以外的數(shù)據(jù)部分的、圖8的存儲器使用量的轉(zhuǎn)變的圖;以及圖10是示出使用cgroup的系統(tǒng)與使用本公開內(nèi)容的系統(tǒng)的存儲器使用量的轉(zhuǎn)變之間的比較的圖。
具體實施例方式在下文中,將描述用于實現(xiàn)本公開內(nèi)容的模式(下文中稱為實施例)。此外,將按以下順序給出描述。I.實施例
2.變型〈I.實施例 >[信息處理系統(tǒng)的配置示例]圖3是示出應(yīng)用了本公開內(nèi)容的信息處理系統(tǒng)101的實施例的框圖。信息處理系統(tǒng)101例如是可以應(yīng)用于電視接收機、各種嵌入式裝置(諸如,移動電話)、計算機等的系統(tǒng)。在下文中,應(yīng)用了信息處理系統(tǒng)101的設(shè)備、系統(tǒng)等將被簡稱為系統(tǒng)。信息處理系統(tǒng)101包括存儲器管理器111、輔助存儲裝置112以及主存儲裝置113?!ご鎯ζ鞴芾砥?11執(zhí)行信息處理系統(tǒng)101的存儲器管理。例如,存儲器管理器111控制來自輔助存儲裝置112的程序或數(shù)據(jù)到主存儲裝置113的布置。此外,存儲器管理器111可由軟件或硬件來實現(xiàn)或者可由其組合來實現(xiàn)。當(dāng)存儲器管理器111由例如軟件來實現(xiàn)時,存儲器管理器111被實現(xiàn)為由未示出的處理器(諸如,CPU (中央處理單元))運行的OS (操作系統(tǒng))的功能的一部分。另一方面,當(dāng)存儲器管理器111由硬件來實現(xiàn)時,存儲器管理器111例如由存儲器管理單元(MMU)來實現(xiàn)。輔助存儲裝置112例如包括諸如ROM (只讀存儲器)、硬盤驅(qū)動器或者閃存的存儲裝置,其具有比主存儲裝置113大的容量并且一般具有低存取速度。此外,輔助存儲裝置112可以是數(shù)據(jù)可寫入存儲裝置或者可以是數(shù)據(jù)不可寫入存儲裝置。主存儲裝置113例如包括數(shù)據(jù)可寫入存儲裝置,諸如RAM (隨機存取存儲器)。在下文中,主存儲裝置113被簡稱為存儲器。在下文中,主存儲裝置113的區(qū)域被稱為存儲器區(qū)域,并且使用量也被稱為存儲器使用量。這里將描述存儲器管理器111的功能的配置示例。存儲器管理器111包括設(shè)置單元121和存儲器管理單元122。設(shè)置單元121針對每個程序,基于例如從外部輸入的信息而設(shè)置主存儲裝置113的、允許布置存儲在輔助存儲裝置112中的每個程序的指令部分的容量的上限(下文中稱為最大指令存儲器分配量)。設(shè)置單元121向存儲器管理單元122報告所設(shè)置的最大指令存儲器分配量或者將所設(shè)置的最大指令存儲器分配量存儲在主存儲裝置113中。存儲器管理單元122根據(jù)來自未示出的處理器(諸如,CPU)所執(zhí)行的程序的請求、主存儲裝置113的使用狀態(tài)等,控制來自輔助存儲裝置112的程序或數(shù)據(jù)到主存儲裝置113的布置。例如,存儲器管理單元122在必要時將存儲在輔助存儲裝置112中的程序或數(shù)據(jù)布置在主存儲裝置113中或者丟棄存儲在主存儲裝置113中的程序或數(shù)據(jù)。此外,如果輔助存儲裝置112是可寫入的,則存儲器管理單元122在必要時將存儲在主存儲裝置113中的程序或數(shù)據(jù)清空到輔助存儲裝置112。此外,存儲器管理單元122限制存儲在輔助存儲裝置112中的每個程序的指令部分,以使得在主存儲裝置113中所布置的容量等于或小于最大指令存儲器分配量。[最大指令存儲器分配量設(shè)置處理]接下來,將參照圖4的流程圖描述信息處理系統(tǒng)101執(zhí)行的最大指令存儲器分配
量設(shè)置處理。
該處理例如在預(yù)定定時(諸如,信息處理系統(tǒng)101啟動時或者當(dāng)最大指令存儲器分配量的設(shè)置值被輸入到存儲器管理器111時)開始。在步驟SI中,設(shè)置單元121獲取例如設(shè)置條件。在步驟S2中,設(shè)置單元121基于例如所獲取的設(shè)置條件,針對每個程序設(shè)置最大指令存儲器分配量。設(shè)置單元121向存儲器管理單元122報告所設(shè)置的最大指令存儲器分配量或者將所設(shè)置的最大指令存儲器分配量存儲在主存儲裝置113中。然后,最大指令存儲器分配量設(shè)置處理結(jié)束。這里將描述設(shè)置最大指令存儲器分配量的方法的具體示例。例如,當(dāng)信息處理系統(tǒng)101啟動時,設(shè)置單元121從輔助存儲裝置112讀取每個程序的最大指令存儲器分配量的初始值。設(shè)置單元121將每個程序的最大指令存儲器分配量·設(shè)置為該初始值。每個程序的最大指令存儲器分配量的初始值是基于例如每個程序的優(yōu)先級或規(guī)模而設(shè)置的。例如,對于應(yīng)該優(yōu)先執(zhí)行的程序,將初始值設(shè)置為大值,而對于允許延遲執(zhí)行的程序,將初始值設(shè)置為小值。此外,例如,對于具有較大規(guī)模的程序,將初始值設(shè)置為大值,而對于具有小規(guī)模的程序,將初始值設(shè)置為小值。此外,例如,設(shè)置單元121響應(yīng)于來自程序的請求而改變正執(zhí)行的程序的最大指令存儲器分配量。例如,當(dāng)期望執(zhí)行頻率高時,每個程序請求增加最大指令存儲器分配量,而當(dāng)期望執(zhí)行頻率低時,每個程序請求減小最大指令存儲器分配量。此外,例如,設(shè)置單元121基于例如信息處理系統(tǒng)101的狀態(tài)或操作環(huán)境,改變每個程序的最大指令存儲器分配量。例如,當(dāng)執(zhí)行預(yù)定功能時,設(shè)置單元121增加實現(xiàn)該功能所需的程序的最大指令存儲器分配量,并且減小不必要程序的最大指令存儲器分配量。替選地,例如,在預(yù)定時間內(nèi),設(shè)置單元121增加實現(xiàn)假設(shè)為在該時間附近執(zhí)行的功能所需的程序的最大指令存儲器分配量,并且減小不必要程序的最大指令存儲器分配量。上述用于改變最大指令存儲器分配量的條件是一個示例,并且可基于其它條件改變最大指令存儲器分配量。代替被動態(tài)地設(shè)置,最大指令存儲器分配量可以是固定的。[存儲器分配處理]接下來,將參照圖5的流程圖描述信息處理系統(tǒng)101執(zhí)行的存儲器分配處理。該處理例如在向存儲器管理單元122請求存儲器分配時開始。該存儲器分配請求例如可由正執(zhí)行的程序明確地提出或者可例如由OS而非程序提出。在下文中,將作為執(zhí)行存儲器分配所針對的目標(biāo)的程序稱為分配目標(biāo)程序。在步驟S51中,存儲器管理單元122確定是否請求了對指令部分的分配。如果確定已請求了對指令部分的分配,則處理進行到步驟S52。在步驟S52中,存儲器管理單元122確定分配目標(biāo)程序的指令部分的存儲器使用量是否超過上限。具體地,存儲器管理單元122獲得用于已請求了分配的指令部分的容量與分配目標(biāo)程序的指令部分的當(dāng)前存儲器使用量(布置了分配目標(biāo)程序的指令部分的主存儲裝置113的容量)之和。如果所獲得的和超過分配目標(biāo)程序的最大指令存儲器分配量,則存儲器管理單元122確定分配目標(biāo)程序的指令部分的存儲器使用量超過上限,并且處理進行到步驟S53。
在步驟S53中,存儲器管理單元122釋放分配目標(biāo)程序的指令部分正使用的存儲器區(qū)域。具體地,存儲器管理單元122釋放分配目標(biāo)程序的指令部分正使用的存儲器區(qū)域的至少一部分,以使得分配目標(biāo)程序的存儲器分配量的可用量等于或大于用于請求了分配的指令部分的容量。這里,存儲器分配量的可用量是通過從分配目標(biāo)程序的最大指令存儲器分配量減去存儲器使用量而獲得的值。作為用于確定此時要釋放的存儲器區(qū)域的算法,例如,可以采用任意算法,諸如LRU (最近最少使用)或環(huán)形緩沖區(qū)。然后,處理進行到步驟S54。另一方面,如果在步驟S52中確定分配目標(biāo)程序的指令部分的存儲器使用量沒有超過上限,則跳過步驟S53的處理,并且處理進行到步驟S54。在步驟S54中,存儲器管理單元122執(zhí)行對指令部分的存儲器分配。即,存儲器管·理單元122從輔助存儲裝置112讀取已請求了分配的分配目標(biāo)程序的指令部分,并且將該指令部分布置在主存儲裝置113的空閑區(qū)域中。然后,處理進行到步驟S56。另一方面,如果在步驟S51中確定已請求了對數(shù)據(jù)部分的分配,則處理進行到步驟 S55。在步驟S55中,存儲器管理單元122執(zhí)行正常存儲器分配處理。例如,如果用于已請求了分配的分配目標(biāo)程序的數(shù)據(jù)部分的容量等于或小于主存儲裝置113的空閑容量,則存儲器管理單元122從輔助存儲裝置112讀取數(shù)據(jù)部分,并且將該數(shù)據(jù)部分布置在主存儲裝置113的空閑區(qū)域中。另一方面,如果用于已請求了分配的數(shù)據(jù)部分的容量超過主存儲裝置113的空閑容量,則存儲器管理單元122執(zhí)行主存儲裝置113的已用區(qū)域的釋放,以使得主存儲裝置113的空閑容量等于或大于數(shù)據(jù)部分的容量。在該情況下,作為用于釋放存儲器區(qū)域的算法,可以采用任意算法,諸如LRU(最近最少使用)或FIFO (先進先出)。存儲器管理單元122從輔助存儲裝置112讀取已請求了分配的數(shù)據(jù)部分,并且將該數(shù)據(jù)部分布置在主存儲裝置113的空閑區(qū)域中。然后,處理進行到步驟S56。在步驟S56中,存儲器管理單元122更新表示存儲器的使用狀態(tài)的信息。例如,存儲器管理單元122更新表示主存儲裝置113的已用區(qū)域和空閑區(qū)域的信息,或者更新表示每個程序的指令部分的存儲器使用量的信息。 然后,存儲器分配處理結(jié)束。作為圖5的存儲器分配處理的具體示例,這里將參照圖6和圖7描述對存儲在輔助存儲裝置112中的程序P的指令部分執(zhí)行存儲器分配的情況。假設(shè)程序P的指令部分被劃分成六個塊,S卩,指令塊I至6。指令塊對應(yīng)于例如虛擬存儲系統(tǒng)中的頁,并且假設(shè)為具有相同的大小且包括程序P的多個指令。在下文中,假設(shè)按照從指令塊I開始的升序而順序地執(zhí)行指令塊I至6。此外,假設(shè)程序P的最大指令存儲器分配量被設(shè)置為3個塊。例如,由于在將指令塊I至3布置在主存儲裝置113中之前未超過最大指令存儲器分配量,因此,指令塊I、指令塊2以及指令塊3按順序布置在主存儲裝置113中,如圖7的左側(cè)所示。當(dāng)指令塊4直接布置在主存儲裝置113中時,程序P的指令部分的存儲器使用量超過最大指令存儲器分配量。例如,釋放用于首先布置在主存儲裝置113中的指令塊I的區(qū)域,并且將所釋放的區(qū)域分配給指令塊4。結(jié)果,指令塊2至4布置在主存儲裝置113中,如圖7的中間所示。類似地,釋放用于指令塊2的區(qū)域、然后將其分配給指令塊5,并且釋放用于指令塊3的區(qū)域、然后將其分配給指令塊6。最終,指令塊4至6布置在主存儲裝置113中,如圖7的右側(cè)所示。如上所述,如在現(xiàn)有技術(shù)中,每個程序的指令部分的存儲器使用量受限制,并且除 指令部分以外的數(shù)據(jù)部分的存儲器使用量在整個系統(tǒng)中受限制。結(jié)果,可以抑制整個系統(tǒng)的存儲器使用量,并且抑制存儲器釋放處理的執(zhí)行頻率。將參照圖8至圖10對此進行描述。圖8示出了當(dāng)應(yīng)用了信息處理系統(tǒng)101的系統(tǒng)執(zhí)行包括在呈現(xiàn)上述圖I中的存儲器使用量的轉(zhuǎn)變的組中的程序(下文中稱為比較目標(biāo)程序)時的存儲器使用量的轉(zhuǎn)變示例。圖9是與上述圖2相同的圖,并且示出了指令部分和除指令部分以外的數(shù)據(jù)部分的、圖8中的存儲器使用量的轉(zhuǎn)變。圖10示出了圖I的圖與圖8的圖之間的比較,并且是示出使用cgroup的系統(tǒng)與使用信息處理系統(tǒng)101的系統(tǒng)中的比較目標(biāo)程序的存儲器使用量的轉(zhuǎn)變之間的比較的圖。圖8至圖10中的LI具有與圖I和圖2中的LI相同的值。在圖9中,L2表示比較目標(biāo)程序的指令部分的存儲器使用量的上限。此外,以圖10中的實線表示的圖示出了使用信息處理系統(tǒng)101的系統(tǒng)中的比較目標(biāo)程序的存儲器使用量的轉(zhuǎn)變,而以虛線表示的圖示出了在使用Cgroup的系統(tǒng)中包括比較目標(biāo)程序的組的存儲器使用量的轉(zhuǎn)變。在該示例中,輔助存儲裝置112是不可寫的,并且難以將主存儲裝置113上的數(shù)據(jù)清空到輔助存儲裝置112。隨著系統(tǒng)的運行時間變長,比較目標(biāo)程序的存儲器使用量增加,如圖8至圖10所示。然而,當(dāng)指令部分的存儲器使用量在時間til達(dá)到上限L2時,指令部分的存儲器使用量不再增加。因此,與使用cgroup的系統(tǒng)相比,抑制了比較目標(biāo)程序的存儲器使用量的增加。因此,在使用信息處理系統(tǒng)101的系統(tǒng)中,隨著抑制了每個程序的存儲器使用量的增加,可以抑制整個系統(tǒng)的存儲器使用量,并且可以抑制存儲器釋放處理的執(zhí)行頻率。因此,可以抑制由于存儲器釋放處理的執(zhí)行而導(dǎo)致的系統(tǒng)能力退化。結(jié)果,可以防止例如系統(tǒng)暫時具有高負(fù)荷、防止系統(tǒng)響應(yīng)退化以及防止操作不穩(wěn)定(例如,視頻或音頻的干擾)。此外,例如,當(dāng)在系統(tǒng)啟動時已確定了程序的啟動順序時,應(yīng)該首先啟動但是具有低優(yōu)先級的程序的最大指令存儲器分配量被設(shè)置為小值。因此,可以防止程序占用存儲器、防止執(zhí)行存儲器釋放處理以及防止在系統(tǒng)啟動時延遲啟動。還可以在主存儲裝置113中布置除了指令部分外的更多數(shù)據(jù),并且加速或穩(wěn)定系統(tǒng)操作。
在使用cgroup的系統(tǒng)中,當(dāng)組的存儲器使用量超過限值時,執(zhí)行錯誤處理,例如,如上所述,甚至當(dāng)整個系統(tǒng)的存儲器中存在空閑區(qū)域時,組中的程序也被迫終止。另一方面,在信息處理系統(tǒng)101中,甚至當(dāng)程序的指令部分的存儲器使用量超過限值時,程序的數(shù)據(jù)部分也可以布置在主存儲裝置113中,并且如果主存儲裝置113中存在空閑區(qū)域,則不執(zhí)行如上所述的錯誤處理。結(jié)果,可以穩(wěn)定系統(tǒng)的操作。此外,在信息處理系統(tǒng)101中,可以針對每個程序?qū)⒆畲笾噶畲鎯ζ鞣峙淞吭O(shè)置為適當(dāng)?shù)闹?,可以抑制指令部分的重新布置的?zhí)行頻率,并且可以抑制系統(tǒng)的能力退化。此夕卜,當(dāng)如上所述動態(tài)地改變最大指令存儲器分配量時,可以抑制指令部分的重新布置的執(zhí)行頻率,并且可以抑制系統(tǒng)的能力退化?!?.變型〉在下文中,將描述本公開內(nèi)容的實施例的變型。
·
[變型I]在以上描述中,示出了針對每個程序設(shè)置最大指令存儲器分配量的示例。然而,例如,可將各個程序分類成多個組,并且可針對每個組設(shè)置最大指令存儲器分配量。即,對于每個組,屬于該組的所有程序的指令部分的存儲器使用量可被限制為不超過最大指令存儲器分配量。替選地,例如,可在整個系統(tǒng)中設(shè)置一個最大指令存儲器分配量。即,在系統(tǒng)中執(zhí)行的所有程序的指令部分的存儲器使用量可被限制為不超過最大指令存儲器分配量。[變型2]此外,可針對每個程序或針對以上的每個組設(shè)置用于在主存儲裝置113中布置指令部分的算法(用于對指令部分的存儲器分配的算法)。例如,可針對每個程序或每個組使用不同的算法,以調(diào)整指令部分的重新布置頻率。替選地,例如,可針對每個程序或每個組使用不同的算法,以改變用于釋放指令部分的存儲器區(qū)域的準(zhǔn)則(例如,存儲器區(qū)域的使用頻率或保證了存儲器區(qū)域的時段)。此外,當(dāng)整體程序由運行二進制(run binary)和共享庫構(gòu)成時,可針對運行二進制的指令部分和共享庫的指令部分使用不同的算法,以增加共享庫的指令部分的可重用性。[變型3]例如,可執(zhí)行指令部分的預(yù)先讀取,以進一步提高執(zhí)行速度。即,未來要執(zhí)行的指令部分可被預(yù)測、在需要該指令部分之前從輔助存儲裝置112讀取并且被布置在主存儲裝置113中。此外,可認(rèn)為未來要執(zhí)行的指令部分的預(yù)測是例如基于預(yù)先獲取的如下簡檔來執(zhí)行其表示當(dāng)系統(tǒng)工作時每個程序的指令部分的執(zhí)行順序。[變型4]在圖6和圖7的示例中,示出了了如下示例程序的指令部分以具有恒定大小的塊為單位而布置在主存儲裝置113中。本公開內(nèi)容還可應(yīng)用于布置在主存儲裝置113中的指令部分的塊的大小不恒定的情況。本公開內(nèi)容還可應(yīng)用于例如指令部分以不同于塊的指令或段為單位布置在主存儲裝置113中的情況。
[變型5]上述一組處理可由硬件來執(zhí)行或可由軟件來執(zhí)行。當(dāng)該組處理由軟件來執(zhí)行時,將構(gòu)成該軟件的程序安裝在計算機中。這里,計算機的示例包括嵌入在專用硬件中的計算機、能夠通過安裝的各種程序而執(zhí)行各種功能的通用個人計算機等。計算機執(zhí)行的程序例如可記錄在作為封裝介質(zhì)的可移動介質(zhì)中并以該可移動介質(zhì)提供。替選地,程序可經(jīng)由有線或無線傳輸介質(zhì)(諸如,局域網(wǎng)、因特網(wǎng)或數(shù)字衛(wèi)星廣播)來提供。替選地,程序可預(yù)先安裝在嵌入設(shè)備中的存儲裝置(例如,輔助存儲裝置112)中。此外,計算機執(zhí)行的程序可以是按照本說明書中描述的順序以時間序列執(zhí)行處理的程序,或者可以是并行地或在必要的定時(諸如,進行調(diào)用時)執(zhí)行處理的程序。在本說明書中,術(shù)語“系統(tǒng)”指的是包括多個設(shè)備、單元等的整個設(shè)備?!ご送?,本公開內(nèi)容的實施例不限于上述實施例,并且在不背離本公開內(nèi)容的范圍和精神的情況下,可對本公開內(nèi)容進行各種改變。另外,本技術(shù)還可如下配置。(I) 一種存儲器管理設(shè)備,包括存儲器管理單元,用于控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。(2)根據(jù)(I)所述的存儲器管理設(shè)備,其中,所述存儲器管理單元針對每個程序限制要布置在所述主存儲裝置中的所述指令部分的容量。(3)根據(jù)(2)所述的存儲器管理設(shè)備,還包括設(shè)置單元,用于基于每個程序的預(yù)定條件,動態(tài)地設(shè)置要布置在所述主存儲裝置中的所述指令部分的容量的上限。(4)根據(jù)(I)至(3)中任一項所述的存儲器管理設(shè)備,其中,所述存儲器管理單元針對每個程序設(shè)置用于在所述主存儲裝置中布置所述指令部分的算法。(5)根據(jù)(I)至(4)中任一項所述的存儲器管理設(shè)備,其中,所述存儲器管理單元預(yù)測未來要執(zhí)行的指令部分,并且在需要所述指令部分之前將所述指令部分布置在所述主存儲裝置中。(6) 一種存儲器管理方法,包括通過存儲器管理設(shè)備控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。(7) 一種用于使得計算機執(zhí)行處理的程序,所述處理包括控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。本公開內(nèi)容包含與2011年5月16日向日本專利局提交的日本優(yōu)先權(quán)專利申請JP2011-109045中公開的主題內(nèi)容相關(guān)的主題內(nèi)容,其全部內(nèi)容在此通過引用而合并于此。
權(quán)利要求
1.一種存儲器管理設(shè)備,包括 存儲器管理單元,用于控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。
2.根據(jù)權(quán)利要求I所述的存儲器管理設(shè)備,其中 所述存儲器管理單元針對每個程序限制要布置在所述主存儲裝置中的所述指令部分的容量。
3.根據(jù)權(quán)利要求2所述的存儲器管理設(shè)備,還包括 設(shè)置單元,用于基于每個程序的預(yù)定條件,動態(tài)地設(shè)置要布置在所述主存儲裝置中的所述指令部分的容量的上限。
4.根據(jù)權(quán)利要求I中所述的存儲器管理設(shè)備,其中 所述存儲器管理單元針對每個程序設(shè)置用于在所述主存儲裝置中布置所述指令部分的算法。
5.根據(jù)權(quán)利要求I所述的存儲器管理設(shè)備,其中 所述存儲器管理單元預(yù)測未來要執(zhí)行的指令部分,并且在需要所述指令部分之前將所述指令部分布置在所述主存儲裝置中。
6.—種存儲器管理方法,包括 通過存儲器管理設(shè)備控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。
7.一種用于使得計算機執(zhí)行處理的程序,所述處理包括 控制來自輔助存儲裝置的程序到主存儲裝置的布置,并限制所述主存儲裝置中用于布置所述程序的指令部分的容量。
全文摘要
本發(fā)明公開了一種存儲器管理設(shè)備、存儲器管理方法以及控制程序,其中,如果在步驟S51中確定請求了對指令部分的分配并且在步驟S52中確定分配目標(biāo)程序的指令部分的存儲器使用量超過上限,則在步驟S53中釋放分配目標(biāo)程序的指令部分正使用的存儲器區(qū)域,并且在步驟S54中執(zhí)行對指令部分的存儲器分配。如果在步驟S52中確定分配目標(biāo)程序的指令部分的存儲器使用量沒有超過上限,則跳過步驟S53中的處理。如果在步驟S51中確定請求了對數(shù)據(jù)部分的分配,則在步驟S55中執(zhí)行正常存儲器分配處理。本公開內(nèi)容可應(yīng)用于例如嵌入式裝置。
文檔編號G06F3/06GK102789433SQ20121014269
公開日2012年11月21日 申請日期2012年5月9日 優(yōu)先權(quán)日2011年5月16日
發(fā)明者一森誠也, 小松崎順子, 田森正纮, 神長浩氣, 高橋勝也 申請人:索尼公司