專(zhuān)利名稱(chēng):存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī) ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在可運(yùn)行多個(gè)程序的信息處理裝置中管理多個(gè)程序所占用的存儲(chǔ)器的存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì)及集成電路。尤其涉及在信息處理裝置中當(dāng)存儲(chǔ)器的空余容量與程序之間有某種關(guān)聯(lián)時(shí)適當(dāng)?shù)蒯尫?releasing)程序所占用的存儲(chǔ)器的存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì)及集成電路。
背景技術(shù):
以往,在可運(yùn)行多個(gè)程序的信息處理系統(tǒng)、即能以多任務(wù)或多進(jìn)程運(yùn)行的信息處理系統(tǒng)中,通過(guò)使運(yùn)行的程序結(jié)束而釋放程序所占用的存儲(chǔ)器,來(lái)確保信息處理系統(tǒng)所具有的存儲(chǔ)器的空余容量。例如在專(zhuān)利文獻(xiàn)1中,作為以往的釋放存儲(chǔ)器的結(jié)構(gòu),公開(kāi)了基于對(duì)程序所設(shè)定的執(zhí)行優(yōu)先度或該程序所占用的存儲(chǔ)器容量而選擇要結(jié)束的程序的技術(shù)。具體而言,操作系統(tǒng)(OS,Operating System)在信息處理系統(tǒng)的存儲(chǔ)器的空余容量為指定值以下時(shí)使主存儲(chǔ)器釋放進(jìn)程處于可執(zhí)行狀態(tài)。例如在欲新啟動(dòng)程序作為進(jìn)程的情況下,當(dāng)存儲(chǔ)器的空余容量不足時(shí)運(yùn)行主存儲(chǔ)器釋放進(jìn)程。主存儲(chǔ)器釋放進(jìn)程參照OS管理的進(jìn)程管理信息,從在主存儲(chǔ)器中展開(kāi)的進(jìn)程中選擇優(yōu)先度較低的進(jìn)程,并釋放所選擇的進(jìn)程所占用的存儲(chǔ)器。據(jù)此,可避免因執(zhí)行優(yōu)先度較低的進(jìn)程而無(wú)法新啟動(dòng)優(yōu)先度較高的進(jìn)程的情況。然而,在以往結(jié)構(gòu)中,雖然在OS管理的進(jìn)程管理信息中存儲(chǔ)有各進(jìn)程的使用存儲(chǔ)器量,但無(wú)法掌握各進(jìn)程使用的是存儲(chǔ)器內(nèi)的哪一部分。有一種能夠以塊為單位分別管理電力供應(yīng)的存儲(chǔ)器。此類(lèi)存儲(chǔ)器例如可按存儲(chǔ)器的每個(gè)芯片或者存儲(chǔ)器內(nèi)部的每個(gè)區(qū)塊供應(yīng)電力。通常,在進(jìn)行動(dòng)態(tài)的存儲(chǔ)器分配的信息處理系統(tǒng)中,對(duì)于運(yùn)行的進(jìn)程,跨越多個(gè)存儲(chǔ)芯片或多個(gè)存儲(chǔ)區(qū)塊等多個(gè)存儲(chǔ)塊分配所使用的存儲(chǔ)器區(qū)域。在以往結(jié)構(gòu)中無(wú)法掌握各進(jìn)程使用的是存儲(chǔ)器內(nèi)的哪一部分。因此,無(wú)法掌握在結(jié)束所選擇的進(jìn)程時(shí)存儲(chǔ)器內(nèi)的各區(qū)域得到何種程度的釋放。在以往技術(shù)中,設(shè)想了當(dāng)在新啟動(dòng)進(jìn)程之際存儲(chǔ)器不足時(shí),釋放對(duì)優(yōu)先度較低的進(jìn)程所分配的存儲(chǔ)器,而所釋放的存儲(chǔ)器立即被利用的情況。因此,無(wú)須知道進(jìn)程使用了哪
一存儲(chǔ)塊。然而,有時(shí)為了實(shí)現(xiàn)信息處理裝置的省電模式而要切斷對(duì)多個(gè)存儲(chǔ)芯片或多個(gè)存儲(chǔ)區(qū)塊等多個(gè)存儲(chǔ)塊中的一些存儲(chǔ)塊的電力供應(yīng)。在切斷對(duì)存儲(chǔ)塊的電力供應(yīng)時(shí),由于該存儲(chǔ)塊上的數(shù)據(jù)被刪除,因此需要以適當(dāng)?shù)牟襟E將這些數(shù)據(jù)進(jìn)行避難。此外,在對(duì)圖像數(shù)據(jù)進(jìn)行壓縮或解壓縮(decompress)的編解碼器等中,優(yōu)選使用存儲(chǔ)器內(nèi)的連續(xù)的區(qū)域。然而,如上所述在對(duì)1個(gè)進(jìn)程分配多個(gè)存儲(chǔ)塊的區(qū)域時(shí),即便結(jié)束該進(jìn)程,各存儲(chǔ)塊內(nèi)的區(qū)域也是分別地被釋放,從而難以確保連續(xù)的區(qū)域。此外,在近年的信息處理裝置中,有時(shí)將各進(jìn)程與存儲(chǔ)器的空余容量相對(duì)應(yīng),并根據(jù)存儲(chǔ)器的空余容量規(guī)定可結(jié)束的進(jìn)程。在以往結(jié)構(gòu)中無(wú)法掌握信息處理系統(tǒng)的存儲(chǔ)器的占用狀況。因此,無(wú)法判斷為結(jié)束而選擇的進(jìn)程根據(jù)當(dāng)前的信息處理系統(tǒng)的存儲(chǔ)器的占用狀況是否真的能結(jié)束。專(zhuān)利文獻(xiàn)1 日本專(zhuān)利公開(kāi)公報(bào)特開(kāi)2000-215099號(hào)
發(fā)明內(nèi)容
本發(fā)明為解決上述問(wèn)題而作出,其目的在于提供一種能夠盡量較多地確保特定的存儲(chǔ)塊的空余容量的存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì)及集成電路。本發(fā)明所涉及的存儲(chǔ)器管理裝置,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,包括進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中, 所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序后的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組決定。根據(jù)該結(jié)構(gòu),將分配給在可運(yùn)行多個(gè)進(jìn)程的信息處理系統(tǒng)中所使用的進(jìn)程的多個(gè)存儲(chǔ)塊的分配容量,按每個(gè)進(jìn)程以存儲(chǔ)塊為單位進(jìn)行管理。而且,可管理多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量。當(dāng)從信息處理系統(tǒng)接收到用于釋放存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于所管理的分配容量,按照分配容量由大到小的順序抽取針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇所抽取的多個(gè)進(jìn)程來(lái)作為結(jié)束候補(bǔ)進(jìn)程組。接著,判定所選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。按照優(yōu)先度而重新排序判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序,并基于所管理的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,來(lái)判定能否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組。保存的結(jié)束候補(bǔ)進(jìn)程組被改寫(xiě)為被判定為可結(jié)束的結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),決定所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組。根據(jù)本發(fā)明,針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇結(jié)束候補(bǔ)進(jìn)程組,并判定可否結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組,由此結(jié)束被判定為應(yīng)結(jié)束的進(jìn)程組,因此能夠盡量較多地確保特定的存儲(chǔ)塊的空余容量。
圖1是表示本發(fā)明的實(shí)施方式的信息處理裝置的結(jié)構(gòu)的圖。圖2是表示本發(fā)明的實(shí)施方式的存儲(chǔ)器管理裝置的結(jié)構(gòu)的框圖。圖3是表示由本發(fā)明的實(shí)施方式的進(jìn)程分配存儲(chǔ)器管理部管理的存儲(chǔ)器分配信息的一例的圖。圖4是表示由本發(fā)明的實(shí)施方式的系統(tǒng)存儲(chǔ)器管理部管理的存儲(chǔ)器空余容量信息的一例的圖。圖5是表示本發(fā)明的實(shí)施方式的結(jié)束候補(bǔ)進(jìn)程選擇部的處理的一例的第一流程圖。圖6是表示本發(fā)明的實(shí)施方式的結(jié)束候補(bǔ)進(jìn)程選擇部的處理的一例的第二流程圖。圖7是表示由本發(fā)明的實(shí)施方式的進(jìn)程組結(jié)束可否判定部管理的結(jié)束可否判定條件的一例的圖。圖8是表示本發(fā)明的實(shí)施方式的進(jìn)程組結(jié)束可否判定部的處理的一例的第一流程圖。圖9是表示本發(fā)明的實(shí)施方式的進(jìn)程組結(jié)束可否判定部的處理的一例的第二流程圖。圖10是表示本發(fā)明的實(shí)施方式的結(jié)束進(jìn)程決定部的處理的一例的第一流程圖。圖11是表示本發(fā)明的實(shí)施方式的結(jié)束進(jìn)程決定部的處理的一例的第二流程圖。圖12是表示從結(jié)束候補(bǔ)進(jìn)程選擇部接收進(jìn)程選擇結(jié)束通知時(shí)的結(jié)束進(jìn)程決定部的處理的一例的流程圖。
具體實(shí)施例方式下面,參照
本發(fā)明的實(shí)施方式。另外,以下實(shí)施方式是將本發(fā)明具體化的一個(gè)例子,并不具有限定本發(fā)明的技術(shù)范圍的性質(zhì)。圖1是表示本發(fā)明的實(shí)施方式的信息處理裝置的結(jié)構(gòu)的圖。該信息處理裝置100 其本身也可供用戶(hù)使用,但也可以組裝于各種電氣設(shè)備中。作為信息處理裝置100的一例, 具有代表性的是PC(Personal Computer ;個(gè)人計(jì)算機(jī)或者個(gè)人電腦)等通用計(jì)算機(jī)。另外, 信息處理裝置100也可為PDA (Personal Digital Assistance,個(gè)人數(shù)字助理)或手機(jī)等移動(dòng)通信終端。此外,信息處理裝置100也可為電視、硬盤(pán)刻錄機(jī)、在DVD或藍(lán)光光盤(pán)等中記錄信息的各種光盤(pán)刻錄機(jī)、從DVD或藍(lán)光光盤(pán)等再生信息的各種光盤(pán)播放器或汽車(chē)導(dǎo)航系統(tǒng)等。信息處理裝置100包括處理器1、存儲(chǔ)裝置2、通信裝置;34、輸入裝置40、顯示裝置 45、計(jì)時(shí)電路51及中斷控制器55。作為處理器1,具有代表性的是CPU (Central Processing Unit ;中央運(yùn)算處理裝置)、介質(zhì)處理用或圖形處理用處理器、或DSP(Digital Signal ft~OCeSSOr,數(shù)字信號(hào)處理器)等運(yùn)算處理裝置。處理器1、存儲(chǔ)裝置2、通信裝置34、輸入裝置40、顯示裝置45、計(jì)時(shí)電路51及中斷控制器55通過(guò)總線線路50相互連接。此外,可視需要在總線線路50連接硬盤(pán)裝置25及讀取裝置32。硬盤(pán)裝置25、讀取裝置32、輸入裝置40及顯示裝置45分別經(jīng)由I/F(接口)沈、35、41及46連接于總線線路50。處理器1可由單個(gè)處理器形成,也可由多個(gè)處理器形成。作為一例,信息處理裝置 100包括多個(gè)處理器11、12、13、……。存儲(chǔ)裝置2 包括 ROM (Read Only Memory,只讀存儲(chǔ)器)21 及 RAM (Random Access Memory,隨機(jī)存取存儲(chǔ)器)22。R0M21存儲(chǔ)規(guī)定處理器1的運(yùn)行的計(jì)算機(jī)程序及數(shù)據(jù)。計(jì)算機(jī)程序及數(shù)據(jù)也可存儲(chǔ)在硬盤(pán)裝置25中。處理器1視需要向RAM22寫(xiě)入存儲(chǔ)于R0M21或硬盤(pán)裝置25中的計(jì)算機(jī)程序及數(shù)據(jù),并執(zhí)行計(jì)算機(jī)程序規(guī)定的處理。RAM22也作為暫時(shí)存儲(chǔ)伴隨處理器1執(zhí)行處理而產(chǎn)生的數(shù)據(jù)的介質(zhì)而發(fā)揮功能。R0M21也包含如快閃ROM (Flash ROM)般可進(jìn)行寫(xiě)入,且即便斷開(kāi)電源也可保存存儲(chǔ)內(nèi)容的非易失性存儲(chǔ)器及存儲(chǔ)介質(zhì)。RAM22包含當(dāng)斷開(kāi)電源時(shí)不保存存儲(chǔ)內(nèi)容的易失性存儲(chǔ)器及存儲(chǔ)介質(zhì)。硬盤(pán)裝置25向內(nèi)置的未圖示的硬盤(pán)寫(xiě)入計(jì)算機(jī)程序及數(shù)據(jù),并且從硬盤(pán)讀出計(jì)算機(jī)程序及數(shù)據(jù)。讀取裝置32讀取例如記錄在CD、DVD或存儲(chǔ)卡等記錄介質(zhì)31中的計(jì)算機(jī)程序或數(shù)據(jù)。通信裝置34通過(guò)電話(huà)線、網(wǎng)線、無(wú)線或紅外線通信等通信線路33在外部與其自身之間交換計(jì)算機(jī)程序或數(shù)據(jù)。輸入裝置40通過(guò)用戶(hù)的操作而接收數(shù)據(jù)等的輸入。輸入裝置40為例如排列在PDA 上的鍵盤(pán)、排列在手機(jī)上的輸入鍵、裝卸自由的鼠標(biāo)或裝卸自由的鍵盤(pán)。顯示裝置45在畫(huà)面上顯示數(shù)據(jù)及圖像等或者以聲音輸出數(shù)據(jù)等。顯示裝置45為例如IXD(Liguid Crystal Display ;液晶顯示器)、布朗管或揚(yáng)聲器。計(jì)時(shí)電路51以一定周期輸出計(jì)時(shí)中斷信號(hào)。中斷控制器55向處理器1中轉(zhuǎn)從計(jì)時(shí)電路51、輸入裝置40、處理器1、作為網(wǎng)絡(luò)設(shè)備的通信裝置34、硬盤(pán)裝置25及讀取裝置32 等發(fā)送的中斷請(qǐng)求信號(hào)。來(lái)自各裝置的中斷請(qǐng)求附有優(yōu)先度。中斷控制器55具有在同時(shí)從多個(gè)裝置產(chǎn)生中斷時(shí)按照優(yōu)先度而調(diào)解該請(qǐng)求的功能。如上所述,信息處理裝置100作為計(jì)算機(jī)而形成。上述計(jì)算機(jī)程序可通過(guò)R0M21、 硬盤(pán)裝置25或未圖示的軟盤(pán)及⑶-ROM等記錄介質(zhì)31提供,也可通過(guò)通信線路33等傳送介質(zhì)提供。例如,記錄在可由計(jì)算機(jī)讀取的記錄介質(zhì)31 (⑶-ROM)中的計(jì)算機(jī)程序可經(jīng)由連接于信息處理裝置100的讀取裝置32讀出。此外,RAM22或硬盤(pán)裝置25可存儲(chǔ)讀出的計(jì)算機(jī)程序。在從R0M21提供計(jì)算機(jī)程序時(shí),通過(guò)在信息處理裝置100中搭載該R0M21,處理器 1可執(zhí)行依照上述計(jì)算機(jī)程序的處理。通過(guò)通信線路33等傳送介質(zhì)提供的計(jì)算機(jī)程序通過(guò)通信裝置34而接收,并存儲(chǔ)在例如RAM22或硬盤(pán)裝置25中。傳送介質(zhì)并不限定于有線傳送介質(zhì),也可為無(wú)線傳送介質(zhì)。此外,傳送介質(zhì)不僅可為通信線路,也可包含中轉(zhuǎn)通信線路的中轉(zhuǎn)裝置例如路由器。通常,該存儲(chǔ)器管理功能的核心(core)被存儲(chǔ)在存儲(chǔ)裝置2或硬盤(pán)裝置25中,通過(guò)與處理器1協(xié)作執(zhí)行而實(shí)現(xiàn)存儲(chǔ)器管理裝置10。另外,存儲(chǔ)器管理裝置10包含至少1個(gè)處理器及存儲(chǔ)裝置。此外,信息處理系統(tǒng)包含至少1個(gè)處理器及存儲(chǔ)裝置。信息處理系統(tǒng)執(zhí)行多個(gè)進(jìn)程。對(duì)多個(gè)進(jìn)程分配有存儲(chǔ)裝置2的指定區(qū)域,信息處理系統(tǒng)利用該指定區(qū)域執(zhí)行多個(gè)進(jìn)程。圖2是表示本發(fā)明的實(shí)施方式的存儲(chǔ)器管理裝置的結(jié)構(gòu)的框圖。存儲(chǔ)器管理裝置10通過(guò)處理器1與外部存儲(chǔ)器協(xié)作運(yùn)行而實(shí)現(xiàn)。作為外部存儲(chǔ)器,典型的是可列舉圖1所示的存儲(chǔ)裝置2中所包含的R0M21或RAM22、硬盤(pán)裝置25或通過(guò)讀取裝置32讀出的記錄介質(zhì)31。存儲(chǔ)器管理裝置10包括存儲(chǔ)器分配部201、進(jìn)程分配存儲(chǔ)器管理部202、系統(tǒng)存儲(chǔ)器管理部203、結(jié)束候補(bǔ)進(jìn)程選擇部204、進(jìn)程組結(jié)束可否判定部205、結(jié)束進(jìn)程決定部206 及選擇進(jìn)程結(jié)束部207。當(dāng)從信息處理系統(tǒng)接收存儲(chǔ)器分配請(qǐng)求時(shí),存儲(chǔ)器分配部201對(duì)進(jìn)程分配由信息處理系統(tǒng)管理的存儲(chǔ)器(典型的是RAM22)的空余區(qū)域。進(jìn)程或任務(wù)是程序的執(zhí)行單位的一種稱(chēng)呼方式。進(jìn)程將由存儲(chǔ)器分配部201分配的存儲(chǔ)器用于存儲(chǔ)各進(jìn)程的執(zhí)行代碼或數(shù)據(jù)。RAM22也可包含能夠分別實(shí)施電力供應(yīng)管理的多個(gè)存儲(chǔ)塊。例如,RAM22也可為能夠分別實(shí)施電力供應(yīng)管理的多個(gè)存儲(chǔ)芯片。此外,RAM22可為單個(gè)存儲(chǔ)芯片,也可為在芯片內(nèi)能夠分別實(shí)施電力供應(yīng)管理的多個(gè)存儲(chǔ)塊單位。即,多個(gè)存儲(chǔ)塊可分別獨(dú)自供應(yīng)電力,從而可按每個(gè)存儲(chǔ)塊切換電力供應(yīng)的接通/斷開(kāi)。當(dāng)對(duì)進(jìn)程分配存儲(chǔ)器時(shí),存儲(chǔ)器分配部201將表示對(duì)哪一個(gè)進(jìn)程分配的信息、表示分配于哪一個(gè)存儲(chǔ)塊的信息、以及表示分配于各存儲(chǔ)塊的容量的信息通知于進(jìn)程分配存儲(chǔ)器管理部202。此外,存儲(chǔ)器分配部201將表示分配于哪一個(gè)存儲(chǔ)塊的信息以及表示分配于各存儲(chǔ)塊的容量的信息通知于系統(tǒng)存儲(chǔ)器管理部203。進(jìn)程分配存儲(chǔ)器管理部202按每個(gè)進(jìn)程、以各存儲(chǔ)塊為單位來(lái)管理分配給運(yùn)行多個(gè)進(jìn)程的信息處理系統(tǒng)使用的進(jìn)程的多個(gè)存儲(chǔ)塊的分配容量。進(jìn)程分配存儲(chǔ)器管理部202 按每個(gè)進(jìn)程存儲(chǔ)表示對(duì)各存儲(chǔ)塊分配了多大容量的存儲(chǔ)器分配信息。當(dāng)從存儲(chǔ)器分配部 201獲取與所述存儲(chǔ)器分配相關(guān)的信息(表示對(duì)哪一個(gè)進(jìn)程分配的信息、表示分配于哪一個(gè)存儲(chǔ)塊的信息、以及表示分配于各存儲(chǔ)塊的容量的信息)時(shí),進(jìn)程分配存儲(chǔ)器管理部202 更新相應(yīng)的進(jìn)程的存儲(chǔ)器分配信息。系統(tǒng)存儲(chǔ)器管理部203管理多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量及多個(gè)存儲(chǔ)塊的各存儲(chǔ)器空余容量。系統(tǒng)存儲(chǔ)器管理部203存儲(chǔ)多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量及多個(gè)存儲(chǔ)塊的存儲(chǔ)器空余容量。當(dāng)從存儲(chǔ)器分配部201獲取與所述存儲(chǔ)器分配相關(guān)的信息(表示分配于哪一個(gè)存儲(chǔ)塊的信息以及表示分配于各存儲(chǔ)塊的容量的信息)時(shí),系統(tǒng)存儲(chǔ)器管理部203基于所獲取的信息而更新多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量以及各存儲(chǔ)塊的存儲(chǔ)器空余容量。結(jié)束候補(bǔ)進(jìn)程選擇部204在從信息處理系統(tǒng)接收用于釋放存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí)運(yùn)行。存儲(chǔ)器釋放請(qǐng)求是包含信息處理系統(tǒng)所請(qǐng)求的存儲(chǔ)器空余容量,且用于從包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器整體確保指定的空余容量的請(qǐng)求。結(jié)束候補(bǔ)進(jìn)程選擇部204為確保由信息處理系統(tǒng)所請(qǐng)求的存儲(chǔ)器空余容量而選擇結(jié)束候補(bǔ)進(jìn)程。結(jié)束候補(bǔ)進(jìn)程選擇部204以可從多個(gè)存儲(chǔ)塊中的特定存儲(chǔ)塊釋放盡可能多的區(qū)域的方式選擇結(jié)束候補(bǔ)進(jìn)程。因此,結(jié)束候補(bǔ)進(jìn)程選擇部204從進(jìn)程分配存儲(chǔ)器管理部202獲取表示各進(jìn)程當(dāng)前分配于哪一個(gè)存儲(chǔ)塊并分配了何種程度的容量的信息。當(dāng)從信息處理系統(tǒng)接收用于釋放存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),結(jié)束候補(bǔ)進(jìn)程選擇部204基于由進(jìn)程分配存儲(chǔ)器管理部202管理的分配容量,按照分配容量由大到小的順序抽取針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)而分配的多個(gè)進(jìn)程,并針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇所抽取的多個(gè)進(jìn)程來(lái)作為結(jié)束候補(bǔ)進(jìn)程組。結(jié)束候補(bǔ)進(jìn)程選擇部204針對(duì)各存儲(chǔ)塊選擇結(jié)束候補(bǔ)進(jìn)程,并傳送至進(jìn)程組結(jié)束可否判定部205。結(jié)束候補(bǔ)進(jìn)程選擇部204向進(jìn)程組結(jié)束可否判定部205詢(xún)問(wèn)所選擇的多個(gè)進(jìn)程在當(dāng)前的信息處理系統(tǒng)狀況下可否結(jié)束。當(dāng)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收多個(gè)進(jìn)程時(shí),進(jìn)程組結(jié)束可否判定部205從系統(tǒng)存儲(chǔ)器管理部203接收與當(dāng)前的存儲(chǔ)器空余容量相關(guān)的信息。此外,進(jìn)程組結(jié)束可否判定部205基于由信息處理系統(tǒng)規(guī)定的存儲(chǔ)器空余容量與各進(jìn)程的可否結(jié)束的條件,調(diào)整從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程的結(jié)束順序。當(dāng)獲取由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組時(shí),進(jìn)程組結(jié)束可否判定部205從系統(tǒng)存儲(chǔ)器管理部203獲取多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,基于多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量的條件與可在該條件下結(jié)束的進(jìn)程的關(guān)系,按照使結(jié)束候補(bǔ)進(jìn)程組結(jié)束的順序進(jìn)行重新排序,并判定該重新排序的進(jìn)程組可否結(jié)束。進(jìn)程組結(jié)束可否判定部205向結(jié)束候補(bǔ)進(jìn)程選擇部204通知可否結(jié)束的判定結(jié)果信息,當(dāng)存在無(wú)法結(jié)束的進(jìn)程時(shí)還向結(jié)束候補(bǔ)進(jìn)程選擇部204通知該無(wú)法結(jié)束的進(jìn)程。當(dāng)從進(jìn)程組結(jié)束可否判定部205接收所選擇的進(jìn)程組均可結(jié)束的通知時(shí),結(jié)束候補(bǔ)進(jìn)程選擇部204將選擇的進(jìn)程組與存儲(chǔ)器分配信息傳送至結(jié)束進(jìn)程決定部206。其后,結(jié)束候補(bǔ)進(jìn)程選擇部204對(duì)剩余的其他存儲(chǔ)塊也相同地選擇結(jié)束候補(bǔ)進(jìn)程。當(dāng)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收結(jié)束候補(bǔ)進(jìn)程組和存儲(chǔ)器分配信息時(shí),結(jié)束進(jìn)程決定部206判定所接收的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于至此為止從結(jié)束候補(bǔ)進(jìn)程選擇部204接收到的其他存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束,并將表示是否應(yīng)將該結(jié)束候補(bǔ)進(jìn)程組設(shè)為結(jié)束候補(bǔ)的通知發(fā)送至結(jié)束候補(bǔ)進(jìn)程選擇部204。當(dāng)從結(jié)束候補(bǔ)進(jìn)程選擇部204獲得對(duì)所有各存儲(chǔ)塊的結(jié)束進(jìn)程組時(shí),結(jié)束進(jìn)程決定部206決定最終作為候補(bǔ)而留下的進(jìn)程組作為結(jié)束進(jìn)程,并通知給選擇進(jìn)程結(jié)束部207。結(jié)束進(jìn)程決定部206判定由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。此外,結(jié)束進(jìn)程決定部206基于通過(guò)結(jié)束由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量與通過(guò)結(jié)束已保存的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量的大小關(guān)系,判定由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。而且,結(jié)束進(jìn)程決定部206基于構(gòu)成由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)與構(gòu)成已保存的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)的大小關(guān)系,判定由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。此外,進(jìn)程組結(jié)束可否判定部205按照優(yōu)先度重新排序由結(jié)束候補(bǔ)進(jìn)程選擇部 204選擇且由結(jié)束進(jìn)程決定部206判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序,并基于由系統(tǒng)存儲(chǔ)器管理部203管理的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,來(lái)判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組。而且,進(jìn)程組結(jié)束可否判定部205基于針對(duì)每個(gè)進(jìn)程預(yù)先設(shè)定的優(yōu)先度級(jí)別對(duì)構(gòu)成由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程進(jìn)行重新排序。此外,結(jié)束進(jìn)程決定部206將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由進(jìn)程組結(jié)束可否判定部205判定為可結(jié)束的結(jié)束候補(bǔ)進(jìn)程組,當(dāng)對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇結(jié)束時(shí),決定所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組。當(dāng)從結(jié)束進(jìn)程決定部206接收應(yīng)結(jié)束的進(jìn)程組時(shí),選擇進(jìn)程結(jié)束部207向信息處理系統(tǒng)發(fā)送結(jié)束相應(yīng)的進(jìn)程的命令,由信息處理系統(tǒng)結(jié)束相應(yīng)的進(jìn)程。據(jù)此,結(jié)束的進(jìn)程原來(lái)使用的存儲(chǔ)器被釋放,由此確保了由信息處理系統(tǒng)請(qǐng)求的存儲(chǔ)器空余容量。另外,在本實(shí)施方式中,進(jìn)程分配存儲(chǔ)器管理部202相當(dāng)于進(jìn)程分配存儲(chǔ)器管理部的一例,系統(tǒng)存儲(chǔ)器管理部203相當(dāng)于系統(tǒng)存儲(chǔ)器管理部的一例,結(jié)束候補(bǔ)進(jìn)程選擇部 204相當(dāng)于結(jié)束候補(bǔ)進(jìn)程選擇部的一例,結(jié)束進(jìn)程決定部206相當(dāng)于優(yōu)先結(jié)束判定部及結(jié)束進(jìn)程決定部的一例,進(jìn)程組結(jié)束可否判定部205相當(dāng)于進(jìn)程組結(jié)束可否判定部的一例。圖3是表示由本發(fā)明的實(shí)施方式的進(jìn)程分配存儲(chǔ)器管理部管理的存儲(chǔ)器分配信息的一例的圖。圖3中例示了第一進(jìn)程A、第二進(jìn)程B及第三進(jìn)程C的3個(gè)進(jìn)程的存儲(chǔ)器分配信息 301、302、303。存儲(chǔ)器分配信息301、302、303包含進(jìn)程識(shí)別信息311、分配容量信息312及總計(jì)容量信息315。在此,舉第一進(jìn)程A的存儲(chǔ)器分配信息301為例進(jìn)行說(shuō)明。進(jìn)程分配存儲(chǔ)器管理部202管理用于識(shí)別是哪一進(jìn)程的存儲(chǔ)器分配信息的進(jìn)程識(shí)別信息311。而且,進(jìn)程分配存儲(chǔ)器管理部202按每個(gè)進(jìn)程管理表示對(duì)多個(gè)存儲(chǔ)塊的各個(gè)分配的分配容量的分配容量信息312、313、314。此外,進(jìn)程分配存儲(chǔ)器管理部202管理表示對(duì)進(jìn)程分配的存儲(chǔ)器區(qū)域的總計(jì)容量的總計(jì)容量信息315。另外,圖3只不過(guò)為管理方式的一例,進(jìn)程數(shù)及存儲(chǔ)塊數(shù)并不限定于圖3所示的數(shù)量。當(dāng)從存儲(chǔ)器分配部201接收與存儲(chǔ)器分配相關(guān)的信息時(shí),進(jìn)程分配存儲(chǔ)器管理部 202更新與該進(jìn)程的存儲(chǔ)器分配信息相對(duì)應(yīng)的存儲(chǔ)塊的分配容量信息和總計(jì)容量信息。例如,對(duì)進(jìn)程分配存儲(chǔ)器管理部202具有圖3所示的存儲(chǔ)器分配信息,且從存儲(chǔ)器分配部201 接收針對(duì)第一進(jìn)程A分配了第三存儲(chǔ)塊的1MB的信息的情況進(jìn)行說(shuō)明。此時(shí),進(jìn)程分配存儲(chǔ)器管理部202在與該第一進(jìn)程A的存儲(chǔ)器分配信息301中包含的第三存儲(chǔ)塊相對(duì)應(yīng)的分配容量信息314的分配容量加上1MB。由此,分配容量信息314 從OMB變更為1MB。而且,在第一進(jìn)程A的存儲(chǔ)器分配信息301中所包含的總計(jì)容量信息 315的總計(jì)容量加上1MB。據(jù)此,總計(jì)容量信息315從3MB變更為4MB。另外,在具有虛擬地址空間的信息處理系統(tǒng)的情況下,可能會(huì)發(fā)生即便對(duì)進(jìn)程的虛擬地址空間分配存儲(chǔ)器區(qū)域,也不占用物理存儲(chǔ)器的狀況。因此,存儲(chǔ)器分配部201也可以在將物理存儲(chǔ)器分配給進(jìn)程時(shí)、即真正占用物理存儲(chǔ)器時(shí),向進(jìn)程分配存儲(chǔ)器管理部202 及系統(tǒng)存儲(chǔ)器管理部203通知存儲(chǔ)器分配信息。當(dāng)從結(jié)束候補(bǔ)進(jìn)程選擇部204發(fā)送請(qǐng)求時(shí),進(jìn)程分配存儲(chǔ)器管理部202基于圖3 所例示的存儲(chǔ)器分配信息,將表示各進(jìn)程被分配于當(dāng)前的哪一存儲(chǔ)塊何種程度容量的信息傳送至結(jié)束候補(bǔ)進(jìn)程選擇部204。圖4是表示由本發(fā)明的實(shí)施方式的系統(tǒng)存儲(chǔ)器管理部管理的存儲(chǔ)器空余容量信息的一例的圖。存儲(chǔ)器空余容量信息401包含多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量411及各存儲(chǔ)塊的存儲(chǔ)器空余容量412。
11
當(dāng)從進(jìn)程組結(jié)束可否判定部205請(qǐng)求多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量時(shí),系統(tǒng)存儲(chǔ)器管理部203基于存儲(chǔ)器空余容量信息401將多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量411 傳送至進(jìn)程組結(jié)束可否判定部205。而且,當(dāng)從結(jié)束進(jìn)程決定部206請(qǐng)求各存儲(chǔ)塊的存儲(chǔ)器空余容量時(shí),系統(tǒng)存儲(chǔ)器管理部203基于存儲(chǔ)器空余容量信息401將各存儲(chǔ)塊的存儲(chǔ)器空余容量412傳送至結(jié)束進(jìn)程決定部206。圖5及圖6是表示本發(fā)明的實(shí)施方式的結(jié)束候補(bǔ)進(jìn)程選擇部的處理的一例的流程圖。首先,結(jié)束候補(bǔ)進(jìn)程選擇部204從信息處理系統(tǒng)接收通過(guò)進(jìn)程結(jié)束而釋放存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求(步驟Si)。作為一例,從信息處理系統(tǒng)請(qǐng)求釋放N字節(jié)的大小的存儲(chǔ)器區(qū)域。其次,結(jié)束候補(bǔ)進(jìn)禾呈選擇部(termination candidate process selection unit) 204從進(jìn)程分配存儲(chǔ)器管理部202獲取存儲(chǔ)器分配信息(步驟S2)。據(jù)此,結(jié)束候補(bǔ)進(jìn)程選擇部204可獲取用于針對(duì)每個(gè)存儲(chǔ)塊選擇結(jié)束候補(bǔ)進(jìn)程所需的存儲(chǔ)器分配信息。之后,結(jié)束候補(bǔ)進(jìn)程選擇部204為從特定存儲(chǔ)塊盡可能釋放存儲(chǔ)器區(qū)域,而針對(duì)每個(gè)存儲(chǔ)塊選擇結(jié)束候補(bǔ)進(jìn)程并對(duì)所選擇的進(jìn)程進(jìn)行評(píng)價(jià)。接著,結(jié)束候補(bǔ)進(jìn)程選擇部204判斷所存在的多個(gè)存儲(chǔ)塊中是否有未選擇的存儲(chǔ)塊,即是否有未選擇結(jié)束候補(bǔ)進(jìn)程的存儲(chǔ)塊(步驟S3)。通常,在結(jié)束候補(bǔ)進(jìn)程選擇部204 尚未對(duì)任一存儲(chǔ)塊選擇應(yīng)結(jié)束的進(jìn)程時(shí),必定存在未選擇的存儲(chǔ)塊。當(dāng)判斷為存在未選擇結(jié)束候補(bǔ)進(jìn)程的存儲(chǔ)塊時(shí)(在步驟S3為“是”),結(jié)束候補(bǔ)進(jìn)程選擇部204選擇一個(gè)未選擇的存儲(chǔ)塊(步驟S4)。結(jié)束候補(bǔ)進(jìn)程選擇部204轉(zhuǎn)移至選擇應(yīng)結(jié)束的進(jìn)程的處理,以便可從選擇的存儲(chǔ)塊盡可能釋放存儲(chǔ)器區(qū)域。接著,結(jié)束候補(bǔ)進(jìn)程選擇部204從未選擇的進(jìn)程中選擇在步驟S4選擇的存儲(chǔ)塊中的分配容量最大的進(jìn)程(步驟SQ。例如,對(duì)結(jié)束候補(bǔ)進(jìn)程選擇部204從進(jìn)程分配存儲(chǔ)器管理部202獲取圖3所示的存儲(chǔ)器分配信息,且在步驟S4選擇第一存儲(chǔ)塊的情況進(jìn)行說(shuō)明。 此時(shí),結(jié)束候補(bǔ)進(jìn)程選擇部204選擇未選擇的第一 第三進(jìn)程中第一存儲(chǔ)塊的分配容量最大的第三進(jìn)程C。然后,結(jié)束候補(bǔ)進(jìn)程選擇部204將在步驟S5選擇的進(jìn)程(process)相對(duì)于存儲(chǔ)塊加入應(yīng)結(jié)束的進(jìn)程組中。此外,結(jié)束候補(bǔ)進(jìn)程選擇部204將在步驟S5選擇的進(jìn)程的總計(jì)分配容量加到至此為止選擇的進(jìn)程的總計(jì)分配容量的總和上(步驟S6)。其次,結(jié)束候補(bǔ)進(jìn)程選擇部204,判定至此為止選擇的各進(jìn)程的總計(jì)分配容量的總和是否為在步驟Sl所請(qǐng)求的N字節(jié)以上(步驟S7)。在判定為所選擇的各進(jìn)程的總計(jì)分配容量的總和小于N字節(jié)(byte)時(shí)(在步驟S7為“否”),則返回至步驟S5的處理,結(jié)束候補(bǔ)進(jìn)程選擇部204選擇下一未選擇的進(jìn)程。當(dāng)在所選擇的各進(jìn)程的總計(jì)分配容量的總和未達(dá)到N字節(jié)以上的狀態(tài)下不存在未選擇的進(jìn)程時(shí),即在無(wú)法釋放由信息處理系統(tǒng)所請(qǐng)求的存儲(chǔ)器容量時(shí),結(jié)束候補(bǔ)進(jìn)程選擇部204需要中斷處理并將錯(cuò)誤反饋至信息處理系統(tǒng)。在本說(shuō)明中,為說(shuō)明結(jié)束候補(bǔ)進(jìn)程選擇部204的主要功能而未在圖5及圖6所示的流程圖中圖示錯(cuò)誤處理。在判定為所選擇的各進(jìn)程的總計(jì)分配容量的總和為N字節(jié)以上時(shí)(在步驟S7為 “是”),結(jié)束候補(bǔ)進(jìn)程選擇部204將與所選擇的存儲(chǔ)塊相關(guān)的信息及與所選擇的進(jìn)程組相關(guān)的信息傳送至結(jié)束進(jìn)程決定部206 (步驟S8)。結(jié)束進(jìn)程決定部206將針對(duì)此次選擇的存儲(chǔ)塊而選擇的進(jìn)程組和、針對(duì)與此次選擇的存儲(chǔ)塊相同的存儲(chǔ)塊而至此為止選擇的進(jìn)程組進(jìn)行比較,確認(rèn)針對(duì)此次選擇的存儲(chǔ)塊而選擇的進(jìn)程組是否能成為結(jié)束候補(bǔ)。另外,關(guān)于結(jié)束進(jìn)程決定部206的處理將在后面敘述。具體而言,結(jié)束候補(bǔ)進(jìn)程選擇部204將選擇哪一個(gè)存儲(chǔ)塊的信息和選擇哪一個(gè)進(jìn)程組的信息傳送至結(jié)束進(jìn)程決定部206。然后,結(jié)束候補(bǔ)進(jìn)程選擇部204從結(jié)束進(jìn)程決定部206接收表示所傳送的進(jìn)程組是否成為結(jié)束候補(bǔ)的信息,并基于所接收的信息來(lái)判斷所傳送的進(jìn)程組是否成為結(jié)束候補(bǔ) (步驟S9)。在此,當(dāng)判斷為所傳送的進(jìn)程組不能成為結(jié)束候補(bǔ)時(shí)(在步驟S9為“否”),結(jié)束候補(bǔ)進(jìn)程選擇部204廢棄針對(duì)在步驟S4選擇的存儲(chǔ)塊而選擇的進(jìn)程組并返回至步驟S3 的處理。另一方面,當(dāng)判斷為所傳送的進(jìn)程組成為結(jié)束候補(bǔ)時(shí)(在步驟S9為“是”),結(jié)束候補(bǔ)進(jìn)程選擇部204以可知道選擇順序的形式將進(jìn)程組傳送至進(jìn)程組結(jié)束可否判定部 205(步驟S10)。據(jù)此,轉(zhuǎn)移至向進(jìn)程組結(jié)束可否判定部205詢(xún)問(wèn)所選擇的進(jìn)程組是否真能結(jié)束的處理。另外,關(guān)于進(jìn)程組結(jié)束可否判定部205的處理將在后面敘述。其次,結(jié)束候補(bǔ)進(jìn)程選擇部204從進(jìn)程組結(jié)束可否判定部205接收表示所傳送的進(jìn)程組中是否存在不可結(jié)束的進(jìn)程的信息,并基于所接收的信息而判斷在所選擇的進(jìn)程組中是否存在不可結(jié)束的進(jìn)程(步驟Sll)。當(dāng)判斷為所選擇的進(jìn)程組中無(wú)不可結(jié)束的進(jìn)程時(shí)(在步驟Sll為“否”),結(jié)束候補(bǔ)進(jìn)程選擇部204將表示所選擇的存儲(chǔ)塊的信息及表示選擇已確定的進(jìn)程組的信息與表示選擇已確定的通知一起傳送至結(jié)束進(jìn)程決定部206(步驟Si》,返回至步驟S3的處理。另一方面,當(dāng)判斷為所傳送的進(jìn)程組中存在不可結(jié)束的進(jìn)程時(shí)(在步驟Sll為 “是”),結(jié)束候補(bǔ)進(jìn)程選擇部204從所選擇的進(jìn)程組中排除不可結(jié)束的進(jìn)程(步驟S13),返回至步驟S3的處理。在步驟S3,當(dāng)判斷為對(duì)所有存儲(chǔ)塊的處理已完成,且不存在未選擇結(jié)束候補(bǔ)進(jìn)程的存儲(chǔ)塊時(shí)(在步驟S3為“否”),結(jié)束候補(bǔ)進(jìn)程選擇部204向結(jié)束進(jìn)程決定部206發(fā)送表示結(jié)束候補(bǔ)進(jìn)程的選擇已結(jié)束的進(jìn)程選擇結(jié)束通知(步驟S14)而結(jié)束處理。下面,對(duì)由進(jìn)程組結(jié)束可否判定部205管理的存儲(chǔ)器空余容量和各進(jìn)程的可否結(jié)束條件進(jìn)行說(shuō)明。圖7是表示由本發(fā)明的實(shí)施方式的進(jìn)程組結(jié)束可否判定部管理的結(jié)束可否判定條件的一例的圖。進(jìn)程組結(jié)束可否判定部205根據(jù)存儲(chǔ)器空余容量和對(duì)應(yīng)于存儲(chǔ)器空余容量的進(jìn)程的優(yōu)先度級(jí)別而規(guī)定可否結(jié)束某進(jìn)程。這是因?yàn)?,?duì)所結(jié)束的進(jìn)程賦予重要度,并根據(jù)存儲(chǔ)器空余容量來(lái)掌握系統(tǒng)上的緊急度,以便僅在緊急度較高時(shí)可控制結(jié)束重要度較高的進(jìn)程。例如,在圖7所示的例中,進(jìn)程組結(jié)束可否判定部205存儲(chǔ)有將多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量的條件611與可結(jié)束的進(jìn)程的優(yōu)先度級(jí)別的條件612相對(duì)應(yīng)的可結(jié)束級(jí)別管理信息601、及將進(jìn)程的優(yōu)先度級(jí)別值與符合優(yōu)先度級(jí)別值的進(jìn)程相對(duì)應(yīng)的進(jìn)程級(jí)別管理信息602。結(jié)束可否判定條件包含可結(jié)束級(jí)別管理信息601和進(jìn)程級(jí)別管理信息602。在圖7的例中表示了優(yōu)先度級(jí)別值越小則優(yōu)先度越高、即結(jié)束條件越嚴(yán)格的情況。在可結(jié)束級(jí)別管理信息601的存儲(chǔ)器空余容量的條件611中可階段性地設(shè)定多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量的條件,在優(yōu)先度級(jí)別的條件612中可設(shè)定能夠在與存儲(chǔ)器
13空余容量的條件一致時(shí)結(jié)束的進(jìn)程的優(yōu)先度級(jí)別的條件。具體地舉一個(gè)例子進(jìn)行說(shuō)明,在當(dāng)前的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量為 3MB (MegaByte 兆字節(jié))時(shí),依照可結(jié)束級(jí)別管理信息601,該存儲(chǔ)器空余容量符合“4MB”以下的存儲(chǔ)器空余容量的條件611 (圖7的項(xiàng)目621),可結(jié)束進(jìn)程的優(yōu)先度級(jí)別為“級(jí)別2以上”。根據(jù)進(jìn)程級(jí)別管理信息602,優(yōu)先度級(jí)別為級(jí)別2以上的進(jìn)程為第二進(jìn)程B、第三進(jìn)程 C、第四進(jìn)程D及第五進(jìn)程E。因此,可結(jié)束進(jìn)程為第二進(jìn)程B、第三進(jìn)程C、第四進(jìn)程D及第五進(jìn)程E,而第一進(jìn)程A不可結(jié)束。另外,圖7所示的可結(jié)束級(jí)別管理信息601及進(jìn)程級(jí)別管理信息602的結(jié)構(gòu)只不過(guò)是示例,只要是能夠根據(jù)多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量而管理可結(jié)束進(jìn)程的信息即可。下面,對(duì)進(jìn)程組結(jié)束可否判定部205的處理進(jìn)行說(shuō)明。圖8及圖9是表示本發(fā)明的實(shí)施方式的進(jìn)程組結(jié)束可否判定部的處理的一例的流程圖。首先,進(jìn)程組結(jié)束可否判定部205從結(jié)束候補(bǔ)進(jìn)程選擇部204接收與所選擇的進(jìn)程組相關(guān)的信息(步驟S21)。然后,進(jìn)程組結(jié)束可否判定部205獲取圖7所例示的結(jié)束可否判定條件(步驟 S22)。接著,進(jìn)程組結(jié)束可否判定部205按照優(yōu)先度由高到低的順序、即結(jié)束條件由嚴(yán)到寬的順序重新排序由結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的進(jìn)程組(步驟S2!3)。此時(shí),在多個(gè)進(jìn)程的結(jié)束條件相同時(shí),進(jìn)程組結(jié)束可否判定部205以從結(jié)束候補(bǔ)進(jìn)程選擇部204獲取的進(jìn)程順序保存各進(jìn)程即可。舉一個(gè)例子進(jìn)行說(shuō)明,例如,進(jìn)程組(process group)結(jié)束可否判定部205從進(jìn)程組結(jié)束可否判定部205(應(yīng)為“結(jié)束候選候補(bǔ)進(jìn)程選擇部204”)獲取{第二進(jìn)程B、第四進(jìn)程D、第三進(jìn)程C及第一進(jìn)程A}的進(jìn)程組,并具有圖7所例示的結(jié)束可否判定條件,在此情況下,進(jìn)程組結(jié)束可否判定部205按{第一進(jìn)程A、第三進(jìn)程C、第二進(jìn)程B及第四進(jìn)程D} 的順序重新排序進(jìn)程組。接著,進(jìn)程組結(jié)束可否判定部205從系統(tǒng)存儲(chǔ)器管理部203獲取當(dāng)前的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量(步驟S24)。之后,進(jìn)程組結(jié)束可否判定部205從進(jìn)程分配存儲(chǔ)器管理部202獲取存儲(chǔ)器分配信息(步驟S2Q。其后,進(jìn)程組結(jié)束可否判定部205轉(zhuǎn)移至對(duì)在步驟S23重新排序的進(jìn)程組依次確認(rèn)可否結(jié)束的處理。接著,進(jìn)程組結(jié)束可否判定部205判斷進(jìn)程組中是否存在未選擇的進(jìn)程(步驟 S26)0當(dāng)判斷為存在未選擇的進(jìn)程時(shí)(在步驟S26為“是”),進(jìn)程組結(jié)束可否判定部205 從進(jìn)程組中選擇未選擇的進(jìn)程中的最前的進(jìn)程(步驟S27)。然后,進(jìn)程組結(jié)束可否判定部 205基于在步驟SM所獲取的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量和在步驟S22所獲取的結(jié)束可否判定條件來(lái)判定可否結(jié)束所選擇的進(jìn)程(步驟S28)。當(dāng)判定為可結(jié)束所選擇的進(jìn)程時(shí)(在步驟S^為“是”),進(jìn)程組結(jié)束可否判定部 205對(duì)當(dāng)前保存的存儲(chǔ)器空余容量的值加上所選擇的進(jìn)程的存儲(chǔ)器分配容量而進(jìn)行更新 (步驟S29)。如此,進(jìn)程組結(jié)束可否判定部205存儲(chǔ)在結(jié)束所選擇的進(jìn)程時(shí)發(fā)生變化的存儲(chǔ)器空余容量。所選擇的進(jìn)程的存儲(chǔ)器分配容量從在步驟S25所獲取的針對(duì)各進(jìn)程的存儲(chǔ)器分配信息獲取即可。其后,為了對(duì)進(jìn)程組的剩余進(jìn)程判定可否結(jié)束而返回至步驟S26的處理繼續(xù)進(jìn)行處理。另一方面,當(dāng)判定為所選擇的進(jìn)程不可結(jié)束時(shí)(在步驟S28為“否”),進(jìn)程組結(jié)束可否判定部205存儲(chǔ)所選擇的進(jìn)程不可結(jié)束(步驟S30)。其后,為了對(duì)進(jìn)程組的剩余進(jìn)程判定可否結(jié)束而返回至步驟S26的處理繼續(xù)進(jìn)行處理。在步驟S26,當(dāng)通過(guò)對(duì)在步驟S21所獲取的進(jìn)程組的所有進(jìn)程判定可否結(jié)束而判斷為不存在未選擇的進(jìn)程時(shí)(在步驟S^為“否”),進(jìn)程組結(jié)束可否判定部205判斷在進(jìn)程組中是否存在不可結(jié)束的進(jìn)程(步驟S31)。在此,當(dāng)判斷為不存在不可結(jié)束的進(jìn)程時(shí)(在步驟S31為“否”),進(jìn)程組結(jié)束可否判定部205向結(jié)束候補(bǔ)進(jìn)程選擇部204通知不存在不可結(jié)束的進(jìn)程(步驟S3》。另一方面,當(dāng)判斷為存在不可結(jié)束的進(jìn)程時(shí)(在步驟S31為“是”),進(jìn)程組結(jié)束可否判定部205向結(jié)束候補(bǔ)進(jìn)程選擇部204通知表示不可結(jié)束的進(jìn)程的信息及存在不可結(jié)束的進(jìn)程的情況 (步驟 S32(應(yīng)為 “S33”))。通過(guò)以上運(yùn)行,進(jìn)程組結(jié)束可否判定部205可避免從結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的進(jìn)程組中選擇優(yōu)先度較高的進(jìn)程來(lái)作為結(jié)束候補(bǔ)。例如,假設(shè)在步驟S22獲取圖7所例示的結(jié)束可否判定條件,且在步驟SM獲取的存儲(chǔ)器空余容量為0. 5MB,且從結(jié)束候補(bǔ)進(jìn)程選擇部204獲取的進(jìn)程組為{第二進(jìn)程B、第三進(jìn)程C及第一進(jìn)程A}。此時(shí),當(dāng)按照選擇順序而先結(jié)束第二進(jìn)程B時(shí),對(duì)第二進(jìn)程B分配的存儲(chǔ)器區(qū)域的總計(jì)容量為6MB (圖3的存儲(chǔ)器分配信息302),因此多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量成為6. 5MB。此時(shí),即便想要結(jié)束第三進(jìn)程C及第一進(jìn)程A,但是基于圖7的結(jié)束可否判定條件,僅可結(jié)束優(yōu)先度級(jí)別為3以上的進(jìn)程而無(wú)法結(jié)束優(yōu)先度級(jí)別為2的第三進(jìn)程C及優(yōu)先度級(jí)別為1的第一進(jìn)程A。然而,進(jìn)程組結(jié)束可否判定部205在步驟S23基于圖7所例示的結(jié)束可否判定條件,按{第一進(jìn)程A、第三進(jìn)程C及第二進(jìn)程B}的順序重新排序以{第二進(jìn)程B、第三進(jìn)程 C及第一進(jìn)程A}的順序要結(jié)束的進(jìn)程組。此時(shí),當(dāng)前的存儲(chǔ)器空余容量為0. 5MB,因此基于圖7的結(jié)束可否判定條件而僅可結(jié)束1級(jí)以上的進(jìn)程,在步驟S^可判定為可結(jié)束第一進(jìn)程A。此外,對(duì)第一進(jìn)程A分配的存儲(chǔ)器區(qū)域的總計(jì)容量為3MB(圖3的存儲(chǔ)器分配信息 301),因此在步驟S^多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量成為3. 5MB。由于多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量為3. 5MB,因此,基于圖7的結(jié)束可否判定條件可結(jié)束級(jí)別2以上的進(jìn)程,從而可判定為能結(jié)束接下來(lái)選擇的第三進(jìn)程C。最后,對(duì)第三進(jìn)程C分配的存儲(chǔ)器區(qū)域的總計(jì)容量為4MB (圖3的存儲(chǔ)器分配信息 303),因此在步驟S^多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量成為7. 5MB。由于多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量為7. 5MB,因此基于圖7的結(jié)束可否判定條件可結(jié)束級(jí)別3以上的進(jìn)程, 從而可判定為能結(jié)束接下來(lái)選擇的第二進(jìn)程B。如以上例所示,以結(jié)束候補(bǔ)進(jìn)程選擇部204選擇的進(jìn)程組{第二進(jìn)程B、第三進(jìn)程 C及第一進(jìn)程A}僅可結(jié)束第二進(jìn)程B。然而,通過(guò)進(jìn)程組結(jié)束可否判定部205的運(yùn)行,基于結(jié)束可否判定條件對(duì)進(jìn)程組的順序進(jìn)行重新排序,據(jù)此可結(jié)束所有進(jìn)程。下面,對(duì)結(jié)束進(jìn)程決定部206的處理進(jìn)行說(shuō)明。圖10及圖11是表示本發(fā)明的實(shí)施方式的結(jié)束進(jìn)程決定部的處理的一例的流程圖。
首先,結(jié)束進(jìn)程決定部206從結(jié)束候補(bǔ)進(jìn)程選擇部204接收表示所選擇的存儲(chǔ)塊的信息及表示所選擇的進(jìn)程組的信息(步驟S31)。另外,在圖6的步驟S12得到表示選擇已確定的通知時(shí),結(jié)束進(jìn)程決定部206從結(jié)束候補(bǔ)進(jìn)程選擇部204接收表示所選擇的存儲(chǔ)塊的信息、表示所選擇的進(jìn)程組的信息及表示選擇已確定的通知。當(dāng)從結(jié)束候補(bǔ)進(jìn)程選擇部204通知選擇已確定時(shí),可判斷為與該通知一起發(fā)送的進(jìn)程組相比于當(dāng)前結(jié)束進(jìn)程決定部206保存的進(jìn)程組應(yīng)優(yōu)先結(jié)束。因此,結(jié)束進(jìn)程決定部 206判斷所接收的進(jìn)程組是否為選擇已確定的進(jìn)程組(步驟S4》。當(dāng)判斷所接收的進(jìn)程組為選擇已確定的進(jìn)程組時(shí)(在步驟S42為“是”),結(jié)束進(jìn)程決定部206保存從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊與進(jìn)程組作為結(jié)束候補(bǔ)(步驟S43)。另一方面,當(dāng)判斷所接收的進(jìn)程組不是選擇已確定的進(jìn)程組時(shí)(在步驟S42為 “否”),結(jié)束進(jìn)程決定部206判斷是否已保存有存儲(chǔ)塊和結(jié)束候補(bǔ)進(jìn)程組(步驟S44)。在此,當(dāng)判斷為未保存有存儲(chǔ)塊和結(jié)束候補(bǔ)進(jìn)程組時(shí)(在步驟S44為“否”),因不存在應(yīng)比較的進(jìn)程組,所以結(jié)束進(jìn)程決定部206保存從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊和進(jìn)程組作為結(jié)束候補(bǔ)(步驟S43)。另一方面,當(dāng)判斷為已保存有存儲(chǔ)塊和結(jié)束候補(bǔ)進(jìn)程組時(shí)(在步驟S44為“是”), 結(jié)束進(jìn)程決定部206判斷從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組的進(jìn)程數(shù)是否為已保存的進(jìn)程組的進(jìn)程數(shù)以下(步驟S4Q。當(dāng)判斷從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組的進(jìn)程數(shù)不為已保存的進(jìn)程組的進(jìn)程數(shù)以下時(shí),即當(dāng)判斷為所接收的進(jìn)程組的進(jìn)程數(shù)多于已保存的進(jìn)程組的進(jìn)程數(shù)時(shí)(在步驟S45為“否”),結(jié)束進(jìn)程決定部206向結(jié)束候補(bǔ)進(jìn)程選擇部204通知所接收的進(jìn)程組不成為結(jié)束候補(bǔ)(步驟S46)。另一方面,當(dāng)判斷從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組的進(jìn)程數(shù)為已保存的進(jìn)程組的進(jìn)程數(shù)以下時(shí)(在步驟S45為“是”),結(jié)束進(jìn)程決定部206從系統(tǒng)存儲(chǔ)器管理部 203獲取各存儲(chǔ)塊的空余容量(步驟S47)。接著,結(jié)束進(jìn)程決定部206從進(jìn)程分配存儲(chǔ)器管理部202獲取各進(jìn)程的存儲(chǔ)器分配信息(步驟S48)。然后,結(jié)束進(jìn)程決定部206基于在步驟S47及步驟S48所獲取的信息,計(jì)算在使從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組結(jié)束時(shí)可確保的相應(yīng)存儲(chǔ)塊的空余容量(步驟 S49)。具體而言,結(jié)束進(jìn)程決定部206基于在步驟S48所獲取的存儲(chǔ)器分配信息,計(jì)算從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組的各進(jìn)程針對(duì)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊的分配容量。此外,結(jié)束進(jìn)程決定部206基于在步驟S47所獲取的各存儲(chǔ)塊的存儲(chǔ)器空余容量,計(jì)算從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊的空余容量。結(jié)束進(jìn)程決定部206 可通過(guò)對(duì)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊的存儲(chǔ)器空余容量、和從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組的各進(jìn)程對(duì)存儲(chǔ)塊的分配容量進(jìn)行合計(jì),來(lái)計(jì)算當(dāng)結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí)可確保的相應(yīng)存儲(chǔ)塊的空余容量。在此,利用圖3及圖4對(duì)計(jì)算在結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí)可確保的相應(yīng)存儲(chǔ)塊的空余容量的一例進(jìn)行說(shuō)明。例如,假設(shè)在圖10的步驟S41,從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊為第二存儲(chǔ)塊,從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組為第一進(jìn)程A及第三進(jìn)程C。
此時(shí),根據(jù)圖3的進(jìn)程分配存儲(chǔ)器管理部202的存儲(chǔ)器分配信息的例子,在第二存儲(chǔ)塊,分配了 3MB的第一進(jìn)程A,且分配了 1MB的第三進(jìn)程C。根據(jù)圖4的系統(tǒng)存儲(chǔ)器管理部203的存儲(chǔ)器空余容量信息的例子,第二存儲(chǔ)塊的存儲(chǔ)器空余容量為1MB。因此,當(dāng)結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組(第一進(jìn)程A及第三進(jìn)程C)時(shí)可確保的相應(yīng)的存儲(chǔ)塊(第二存儲(chǔ)塊)的空余容量總計(jì)為5MB。接著,結(jié)束進(jìn)程決定部206計(jì)算當(dāng)結(jié)束作為當(dāng)前結(jié)束候補(bǔ)而保存的進(jìn)程組時(shí)可確保的相應(yīng)存儲(chǔ)塊的空余容量(步驟S50)??沼嗳萘康挠?jì)算步驟與在步驟S49所實(shí)施的步驟相同。另外,在步驟S50處理的相應(yīng)存儲(chǔ)塊為以前在接收作為當(dāng)前結(jié)束候補(bǔ)而保存的進(jìn)程組時(shí)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的存儲(chǔ)塊,與在步驟S49所處理的存儲(chǔ)塊不同。此處,利用圖3及圖4對(duì)在結(jié)束作為當(dāng)前結(jié)束候補(bǔ)而保存的進(jìn)程組時(shí)可確保的相應(yīng)存儲(chǔ)塊的空余容量的一例進(jìn)行說(shuō)明。例如,假設(shè)保存的存儲(chǔ)塊為第一存儲(chǔ)塊,保存的進(jìn)程組為第三進(jìn)程C及第二進(jìn)程B。此時(shí),根據(jù)圖3的進(jìn)程分配存儲(chǔ)器管理部202的存儲(chǔ)器分配信息的例子,在第一存儲(chǔ)塊,分配了 3MB的第三進(jìn)程C,且分配了 1MB的第二進(jìn)程B。此外,根據(jù)圖4的系統(tǒng)存儲(chǔ)器管理部203的存儲(chǔ)器空余容量信息的例子,第一存儲(chǔ)塊的存儲(chǔ)器空余容量為2MB。因此,在結(jié)束作為當(dāng)前結(jié)束候補(bǔ)而保存的進(jìn)程組(第三進(jìn)程C及第二進(jìn)程B)時(shí)可確保的相應(yīng)的存儲(chǔ)塊(第一存儲(chǔ)塊)的空余容量總計(jì)為6MB。接著,結(jié)束進(jìn)程決定部206判定在結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí)可確保的空余容量是否大于在結(jié)束所保存的結(jié)束候補(bǔ)進(jìn)程組時(shí)可確保的空余容量(步驟0. S51)。在所述的例中,當(dāng)結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí),第二存儲(chǔ)塊的空余容量為5MB,當(dāng)結(jié)束當(dāng)前保存的進(jìn)程組時(shí),第一存儲(chǔ)塊的空余容量為6MB。因此,在結(jié)束所保存的進(jìn)程組時(shí)可確保的空余容量大于在結(jié)束所接收的進(jìn)程組時(shí)可確保的空余容量。當(dāng)判定在結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí)可確保的空余容量為在結(jié)束所保存的結(jié)束候補(bǔ)進(jìn)程組時(shí)可確保的空余容量以下時(shí)(在步驟S51為“否”),結(jié)束進(jìn)程決定部206向結(jié)束候補(bǔ)進(jìn)程選擇部204通知所接收的進(jìn)程組不會(huì)成為結(jié)束候補(bǔ)(步驟 S46)。另一方面,當(dāng)判定在結(jié)束從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的進(jìn)程組時(shí)可確保的空余容量大于在結(jié)束所保存的結(jié)束候補(bǔ)進(jìn)程組時(shí)可確保的空余容量時(shí)(在步驟S51為“是”), 結(jié)束進(jìn)程決定部206向結(jié)束候補(bǔ)進(jìn)程選擇部204通知所接收的進(jìn)程組成為結(jié)束候補(bǔ)(步驟 S52)。通過(guò)以上運(yùn)行,結(jié)束進(jìn)程決定部206可保存從結(jié)束候補(bǔ)進(jìn)程選擇部204接收的多個(gè)存儲(chǔ)塊中能盡可能較大地釋放的特定的存儲(chǔ)塊。此外,結(jié)束進(jìn)程決定部206可保存能盡可能較大地釋放特定的存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組。下面,對(duì)從結(jié)束候補(bǔ)進(jìn)程選擇部204接收進(jìn)程選擇結(jié)束通知時(shí)的結(jié)束進(jìn)程決定部 206的處理進(jìn)行說(shuō)明。圖12是表示從結(jié)束候補(bǔ)進(jìn)程選擇部接收進(jìn)程選擇結(jié)束通知時(shí)的結(jié)束進(jìn)程決定部的處理的一例的流程圖。首先,結(jié)束進(jìn)程決定部206從結(jié)束候補(bǔ)進(jìn)程選擇部204接收表示結(jié)束候補(bǔ)進(jìn)程的選擇已結(jié)束的進(jìn)程選擇結(jié)束通知(步驟S61)。然后,結(jié)束進(jìn)程決定部206決定當(dāng)前所保存的進(jìn)程組為結(jié)束對(duì)象進(jìn)程組(步驟S62)。接著,結(jié)束進(jìn)程決定部206將所決定的結(jié)束對(duì)象進(jìn)程組傳送至選擇進(jìn)程結(jié)束部207 (步驟S63)。當(dāng)從結(jié)束進(jìn)程決定部206接收結(jié)束對(duì)象進(jìn)程組時(shí),選擇進(jìn)程結(jié)束部207依照由信息處理系統(tǒng)所規(guī)定的指定步驟而釋放各進(jìn)程使用的存儲(chǔ)塊及各進(jìn)程確保的各種資源,從而使結(jié)束對(duì)象的各進(jìn)程結(jié)束。然后,結(jié)束進(jìn)程決定部206刪除當(dāng)前保存的存儲(chǔ)塊和進(jìn)程組(步驟S64)而結(jié)束處理。 通過(guò)以上運(yùn)行,本實(shí)施方式的存儲(chǔ)器管理裝置可在特定的存儲(chǔ)塊形成盡可能多的空余區(qū)域,因此為斷開(kāi)對(duì)特定的存儲(chǔ)塊的電力供應(yīng)而保護(hù)數(shù)據(jù)的成本變小,易于轉(zhuǎn)移至省電狀態(tài)。此外,可在特定的存儲(chǔ)塊形成盡可能多的空余區(qū)域,因此可在特定的存儲(chǔ)塊內(nèi)確保連續(xù)的空余區(qū)域。因此,在對(duì)圖像數(shù)據(jù)進(jìn)行壓縮或解壓縮的編解碼器等中可使用特定的存儲(chǔ)塊內(nèi)的連續(xù)的空余區(qū)域。另外,圖2所示的存儲(chǔ)器管理裝置的各功能塊典型的是作為在處理器與外部存儲(chǔ)器的協(xié)作下處理的程序而實(shí)現(xiàn),但也可以通過(guò)作為集成電路的LSI來(lái)實(shí)現(xiàn)。這些各功能塊可分別單芯片化,也可以包含一部分或全部的方式單芯片化。此處稱(chēng)為L(zhǎng)SI,但根據(jù)集成度的不同,也有時(shí)稱(chēng)作ICantegrated circuit,集成電路)、系統(tǒng)LSI (Large Scale Integrated circuit,大規(guī)模集成電路)、超級(jí)LSI或超特大LSI。此外,集成電路化的方法并不限定于LSI,也可以用專(zhuān)用電路或通用處理器來(lái)實(shí)現(xiàn)。也可利用在制造LSI之后能編寫(xiě)程序的FPGA (Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)或能重新構(gòu)成LSI內(nèi)部的電路單元的連接或設(shè)定的可重構(gòu)處理器。另外,如果隨著半導(dǎo)體技術(shù)的進(jìn)步或派生的其他技術(shù)而出現(xiàn)取代LSI的集成電路化的技術(shù),則當(dāng)然也可使用該技術(shù)集成功能塊。本實(shí)施方式所涉及的存儲(chǔ)器管理裝置如果為具有處理器和存儲(chǔ)器裝置的信息處理裝置,則也可應(yīng)用于電子設(shè)備、信息設(shè)備、AV(Audi0 Visual,音頻視頻)設(shè)備、通信設(shè)備及家電設(shè)備,例如,也可應(yīng)用于PC (個(gè)人計(jì)算機(jī))、移動(dòng)信息終端(手機(jī)、智能手機(jī)及 PDA (Personal Digital Assistant)等)、電視、硬盤(pán)刻錄機(jī)、使用DVD及藍(lán)光光盤(pán)等的各種光盤(pán)刻錄機(jī)、使用DVD及藍(lán)光光盤(pán)等的各種光盤(pán)播放器及汽車(chē)導(dǎo)航系統(tǒng)等。另外,所述的說(shuō)明在所有方面只不過(guò)為本發(fā)明的例示,并不限定本發(fā)明的范圍。當(dāng)然可在不脫離本發(fā)明的范圍內(nèi)進(jìn)行各種改良或變形。另外,在上述的具體實(shí)施方式
中主要包括具有以下結(jié)構(gòu)的發(fā)明。本發(fā)明所涉及的存儲(chǔ)器管理裝置,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,包括進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中, 所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序后的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組決定。本發(fā)明所涉及的存儲(chǔ)器管理方法,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,包括以下步驟進(jìn)程分配存儲(chǔ)器管理步驟,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理步驟,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量; 結(jié)束候補(bǔ)進(jìn)程選擇步驟,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于在所述進(jìn)程分配存儲(chǔ)器管理步驟管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定步驟,判定在所述結(jié)束候補(bǔ)進(jìn)程選擇步驟選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定步驟,將在所述結(jié)束候補(bǔ)進(jìn)程選擇步驟選擇且在所述優(yōu)先結(jié)束判定步驟判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于在所述系統(tǒng)存儲(chǔ)器管理步驟管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束經(jīng)該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定步驟,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為在所述進(jìn)程組結(jié)束可否判定步驟中判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。本發(fā)明所涉及的存儲(chǔ)器管理程序,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,使計(jì)算機(jī)作為以下各部而發(fā)揮功能進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)中所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊的分配容量;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序, 并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。本發(fā)明所涉及的記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì),記錄有用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器的存儲(chǔ)器管理程序,所述存儲(chǔ)器管理程序使計(jì)算機(jī)作為以下各部而發(fā)揮功能進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。本發(fā)明所涉及的集成電路,用手管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,包括進(jìn)程分配存儲(chǔ)器管理電路,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理電路,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇電路,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理電路管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)而分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定電路,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇電路選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定電路,將由所述結(jié)束候補(bǔ)進(jìn)程選擇電路選擇且由所述優(yōu)先結(jié)束判定電路判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理電路管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組; 以及結(jié)束進(jìn)程決定電路,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定電路判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。根據(jù)這些結(jié)構(gòu),按每個(gè)進(jìn)程、以存儲(chǔ)塊單位管理分配給在可運(yùn)行多個(gè)進(jìn)程的信息處理系統(tǒng)中所使用的進(jìn)程的多個(gè)存儲(chǔ)塊的分配容量。此外,多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量也被進(jìn)行管理。當(dāng)從信息處理系統(tǒng)接收用于釋放存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于所管理的分配容量,按照分配容量由大到小的順序抽取針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組。接著,判定所選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。按照優(yōu)先度重新排序判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序,并基于所管理的多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量來(lái)判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組。所保存的結(jié)束候補(bǔ)進(jìn)程組被改寫(xiě)為被判定為可結(jié)束的結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),決定所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組。因此,針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇結(jié)束候補(bǔ)進(jìn)程組,并判定可否結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組,且結(jié)束被判定為應(yīng)結(jié)束的進(jìn)程組,因此可盡可能較多地確保特定的存儲(chǔ)塊的空余容量。此外,在上述存儲(chǔ)器管理裝置中,較為理想的是,所述優(yōu)先結(jié)束判定部,基于通過(guò)結(jié)束由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量與通過(guò)結(jié)束已保存的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量的大小關(guān)系,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。根據(jù)該結(jié)構(gòu),基于通過(guò)結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量、與通過(guò)結(jié)束已保存的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量的大小關(guān)系,判定所選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。因此,判斷通過(guò)結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量、與通過(guò)結(jié)束已保存的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量的大小關(guān)系,從而可決定優(yōu)先結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組與已保存的結(jié)束候補(bǔ)進(jìn)程組中的哪一個(gè)。此外,在上述存儲(chǔ)器管理裝置中,較為理想的是,所述優(yōu)先結(jié)束判定部,基于構(gòu)成由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)與構(gòu)成已保存的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)的大小關(guān)系,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。根據(jù)該結(jié)構(gòu),基于構(gòu)成所選擇的所述結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)、與構(gòu)成已保存的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)的大小關(guān)系,判定所選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。因此,通過(guò)判斷構(gòu)成所選擇的所述結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)、與構(gòu)成已保存的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)的大小關(guān)系,可決定優(yōu)先結(jié)束所選擇的結(jié)束候補(bǔ)進(jìn)程組與已保存的結(jié)束候補(bǔ)進(jìn)程組中的哪一個(gè)。此外,在上述的存儲(chǔ)器管理裝置中,較為理想的是,所述進(jìn)程組結(jié)束可否判定部, 基于針對(duì)每個(gè)進(jìn)程而預(yù)先設(shè)定的優(yōu)先度級(jí)別,對(duì)構(gòu)成由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程進(jìn)行重新排序。根據(jù)該結(jié)構(gòu),基于針對(duì)每個(gè)進(jìn)程而預(yù)先設(shè)定的優(yōu)先度級(jí)別,對(duì)構(gòu)成所選擇的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程進(jìn)行重新排序,因此可按照優(yōu)先度重新排序結(jié)束候補(bǔ)進(jìn)程組的順序。此外,在上述的存儲(chǔ)器管理裝置中,較為理想的是,所述多個(gè)存儲(chǔ)塊分別獨(dú)自被供應(yīng)電力。根據(jù)該結(jié)構(gòu),多個(gè)存儲(chǔ)塊分別獨(dú)自被供應(yīng)電力,因此可阻斷對(duì)空余容量最大的存儲(chǔ)塊供應(yīng)的電力,從而可實(shí)現(xiàn)省電化。另外,在發(fā)明的實(shí)施方式的項(xiàng)中所說(shuō)明的具體的實(shí)施方式或?qū)嵤├徊贿^(guò)用于明確本發(fā)明的技術(shù)內(nèi)容,不應(yīng)僅限定于該具體例而狹義地進(jìn)行解釋?zhuān)稍诒景l(fā)明的宗旨與權(quán)利要求范圍內(nèi)實(shí)施各種變更。產(chǎn)業(yè)上的可利用性
本發(fā)明所涉及的存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì)及集成電路可盡可能較多地確保特定的存儲(chǔ)塊的空余容量,從而可有效地用作管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器的存儲(chǔ)器管理裝置、存儲(chǔ)器管理方法、存儲(chǔ)器管理程序、記錄存儲(chǔ)器管理程序的電腦可讀取的記錄介質(zhì)及集成電路。
權(quán)利要求
1.一種存儲(chǔ)器管理裝置,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,其特征在于包括進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序后的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組決定。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器管理裝置,其特征在于所述優(yōu)先結(jié)束判定部,基于通過(guò)結(jié)束由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量與通過(guò)結(jié)束已保存的結(jié)束候補(bǔ)進(jìn)程組而可確保的存儲(chǔ)塊的空余容量的大小關(guān)系,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。
3.根據(jù)權(quán)利要求1或2所述的存儲(chǔ)器管理裝置,其特征在于所述優(yōu)先結(jié)束判定部,基于構(gòu)成由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)與構(gòu)成已保存的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程的進(jìn)程數(shù)的大小關(guān)系, 判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的所述結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的存儲(chǔ)器管理裝置,其特征在于所述進(jìn)程組結(jié)束可否判定部,基于針對(duì)每個(gè)進(jìn)程而預(yù)先設(shè)定的優(yōu)先度級(jí)別,對(duì)構(gòu)成由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組的多個(gè)進(jìn)程進(jìn)行重新排序。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的存儲(chǔ)器管理裝置,其特征在于所述多個(gè)存儲(chǔ)塊分別獨(dú)自被供應(yīng)電力。
6.一種存儲(chǔ)器管理方法,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,其特征在于包括以下步驟進(jìn)程分配存儲(chǔ)器管理步驟,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理步驟,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇步驟,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于在所述進(jìn)程分配存儲(chǔ)器管理步驟管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定步驟,判定在所述結(jié)束候補(bǔ)進(jìn)程選擇步驟選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定步驟,將在所述結(jié)束候補(bǔ)進(jìn)程選擇步驟選擇且在所述優(yōu)先結(jié)束判定步驟判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于在所述系統(tǒng)存儲(chǔ)器管理步驟管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束經(jīng)該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定步驟,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為在所述進(jìn)程組結(jié)束可否判定步驟中判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。
7.一種存儲(chǔ)器管理程序,用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,其特征在于,使計(jì)算機(jī)作為以下各部而發(fā)揮功能進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)中所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊的分配容量;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量; 結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。
8.—種記錄存儲(chǔ)器管理程序的可由計(jì)算機(jī)讀取的記錄介質(zhì),記錄有用于管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器的存儲(chǔ)器管理程序,其特征在于,所述存儲(chǔ)器管理程序使計(jì)算機(jī)作為以下各部而發(fā)揮功能進(jìn)程分配存儲(chǔ)器管理部,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,其中,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理部,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量;結(jié)束候補(bǔ)進(jìn)程選擇部,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理部管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定部,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定部,將由所述結(jié)束候補(bǔ)進(jìn)程選擇部選擇且由所述優(yōu)先結(jié)束判定部判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理部管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定部,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定部判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。
9. 一種集成電路,用手管理包含多個(gè)存儲(chǔ)塊的存儲(chǔ)器,其特征在于包括 進(jìn)程分配存儲(chǔ)器管理電路,將多個(gè)存儲(chǔ)塊的分配容量按每個(gè)所述進(jìn)程以存儲(chǔ)塊為單位管理,所述多個(gè)存儲(chǔ)塊為運(yùn)行多個(gè)所述進(jìn)程的信息處理系統(tǒng)所使用的所述進(jìn)程所分配的多個(gè)存儲(chǔ)塊;系統(tǒng)存儲(chǔ)器管理電路,管理所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量; 結(jié)束候補(bǔ)進(jìn)程選擇電路,當(dāng)從所述信息處理系統(tǒng)接收到用于釋放所述存儲(chǔ)器的存儲(chǔ)器釋放請(qǐng)求時(shí),基于由所述進(jìn)程分配存儲(chǔ)器管理電路管理的所述分配容量,按照分配容量由大到小的順序抽取針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)而分配的多個(gè)進(jìn)程,并將所抽取的多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組針對(duì)所述多個(gè)存儲(chǔ)塊的每一個(gè)進(jìn)行選擇;優(yōu)先結(jié)束判定電路,判定由所述結(jié)束候補(bǔ)進(jìn)程選擇電路選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束;進(jìn)程組結(jié)束可否判定電路,將由所述結(jié)束候補(bǔ)進(jìn)程選擇電路選擇且由所述優(yōu)先結(jié)束判定電路判定為應(yīng)優(yōu)先結(jié)束的結(jié)束候補(bǔ)進(jìn)程組的順序按照優(yōu)先度重新排序,并基于由所述系統(tǒng)存儲(chǔ)器管理電路管理的所述多個(gè)存儲(chǔ)塊整體的存儲(chǔ)器空余容量,判定可否結(jié)束該重新排序的結(jié)束候補(bǔ)進(jìn)程組;以及結(jié)束進(jìn)程決定電路,將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為由所述進(jìn)程組結(jié)束可否判定電路判定為可結(jié)束的所述結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組來(lái)決定。
全文摘要
本發(fā)明提供一種可盡可能較多地確保特定的存儲(chǔ)塊的空余容量的技術(shù)。結(jié)束候補(bǔ)進(jìn)程選擇部(204)針對(duì)多個(gè)存儲(chǔ)塊的每一個(gè)選擇多個(gè)進(jìn)程作為結(jié)束候補(bǔ)進(jìn)程組,結(jié)束進(jìn)程決定部(206)判定所選擇的結(jié)束候補(bǔ)進(jìn)程組相對(duì)于已保存的結(jié)束候補(bǔ)進(jìn)程組是否應(yīng)優(yōu)先結(jié)束,進(jìn)程組結(jié)束可否判定部(205)對(duì)判定為應(yīng)結(jié)束的結(jié)束候補(bǔ)進(jìn)程組可否結(jié)束進(jìn)行判定,結(jié)束進(jìn)程決定部(206)將保存的結(jié)束候補(bǔ)進(jìn)程組改寫(xiě)為被判定為可結(jié)束的結(jié)束候補(bǔ)進(jìn)程組,當(dāng)結(jié)束了對(duì)所有存儲(chǔ)塊的結(jié)束候補(bǔ)進(jìn)程組的選擇時(shí),將所保存的結(jié)束候補(bǔ)進(jìn)程組作為應(yīng)結(jié)束的進(jìn)程組決定。
文檔編號(hào)G06F12/02GK102473136SQ201180003028
公開(kāi)日2012年5月23日 申請(qǐng)日期2011年3月31日 優(yōu)先權(quán)日2010年5月31日
發(fā)明者加藤一臣 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社