專(zhuān)利名稱(chēng):信息處理裝置以及內(nèi)存管理方法
技術(shù)領(lǐng)域:
通常在應(yīng)用程序啟動(dòng)時(shí),內(nèi)存管理部在內(nèi)存上確保用于展開(kāi)應(yīng)用程序的內(nèi)存區(qū) 域。例如,在專(zhuān)利文獻(xiàn)l所述的技術(shù)中記載了如下的處理當(dāng)內(nèi)存確保部從應(yīng)用程序接收到 內(nèi)存確保請(qǐng)求時(shí),檢查是否可以確保所請(qǐng)求的量的內(nèi)存,如果可以則進(jìn)行確保。 [OOO3]專(zhuān)利文獻(xiàn)1日本特開(kāi)2006-107197號(hào)公報(bào) 在上述背景技術(shù)所述的發(fā)明中假定啟動(dòng)了一個(gè)應(yīng)用程序的情況,但實(shí)際上存在要 同時(shí)執(zhí)行兩種應(yīng)用程序的情況。即,在應(yīng)用程序A啟動(dòng)的情況下,在內(nèi)存上加載作為其執(zhí)行 環(huán)境的母體軟件(native soft)A。然后,根據(jù)來(lái)自應(yīng)用程序A的請(qǐng)求在內(nèi)存上加載母體軟 件B。通常,母體軟件B確保與母體軟件A所確保的內(nèi)存區(qū)域不同的內(nèi)存區(qū)域。
但是,在內(nèi)存剩余容量較少的情況下,可能存在不能確保用于母體軟件B的存儲(chǔ) 容量而導(dǎo)致應(yīng)用程序B無(wú)法啟動(dòng)的情況。另外,作為其它方法,為了啟動(dòng)應(yīng)用程序B,需要通 過(guò)使應(yīng)用程序A結(jié)束來(lái)釋放用于應(yīng)用程序B的內(nèi)存區(qū)域。 因此,由于內(nèi)存容量而不能同時(shí)啟動(dòng)兩種應(yīng)用程序,導(dǎo)致使用起來(lái)非常不方便。
發(fā)明內(nèi)容
因此,為了解決上述課題,本發(fā)明的目的在于提供能夠執(zhí)行用于同時(shí)啟動(dòng)兩種應(yīng) 用程序的內(nèi)存管理處理的信息處理裝置以及內(nèi)存管理方法。 為了解決上述課題,本發(fā)明的信息處理裝置構(gòu)成為具有執(zhí)行第1功能的第1程 序;執(zhí)行第2功能的第2程序;內(nèi)存,其具有用于執(zhí)行上述第1程序以及上述第2程序的運(yùn) 行的內(nèi)存區(qū)域;以及內(nèi)存管理單元,其從上述內(nèi)存中確保用于上述第1程序或上述第2程序 運(yùn)行的規(guī)定內(nèi)存區(qū)域,在上述第l程序的運(yùn)行處理中,當(dāng)啟動(dòng)上述第2程序時(shí),上述內(nèi)存管 理單元從用于上述第1程序的內(nèi)存區(qū)域中確保用于上述第2程序的內(nèi)存區(qū)域。
另外,在本發(fā)明的信息處理裝置的內(nèi)存管理方法中,該信息處理裝置具有內(nèi)存,還 內(nèi)存具有用于執(zhí)行第1程序以及第2程序的運(yùn)行的內(nèi)存區(qū)域,該第1程序執(zhí)行第1功能,該 第2程序執(zhí)行第2功能,其特征在于,該內(nèi)存管理方法具有以下步驟第1確保步驟,從上述 內(nèi)存中確保用于上述第1程序運(yùn)行的規(guī)定內(nèi)存區(qū)域;以及第2確保步驟,在上述第1程序的 運(yùn)行處理中,當(dāng)啟動(dòng)上述第2程序時(shí),從用于上述第1程序的內(nèi)存區(qū)域中確保用于上述第2 程序的內(nèi)存區(qū)域。 根據(jù)本發(fā)明,在第1程序的運(yùn)行處理中,當(dāng)啟動(dòng)第2程序時(shí),可以從用于第1程序 的內(nèi)存區(qū)域中確保用于第2程序的內(nèi)存區(qū)域。由此,能夠防止在要啟動(dòng)第1程序、第2程序 等多個(gè)應(yīng)用程序時(shí)由于內(nèi)存的空閑區(qū)域不足而導(dǎo)致應(yīng)用程序無(wú)法啟動(dòng)的情況,能夠?qū)崿F(xiàn)第 2程序的可靠啟動(dòng)。 另外優(yōu)選的是,本發(fā)明的信息處理裝置還具有應(yīng)用程序管理單元,該應(yīng)用程序管
3理單元在上述第1程序的運(yùn)行結(jié)束時(shí),結(jié)束上述第2程序的運(yùn)行。 根據(jù)本發(fā)明,當(dāng)?shù)?程序動(dòng)作結(jié)束時(shí),可以結(jié)束第2程序的運(yùn)行,這樣第2程序不 占用內(nèi)存區(qū)域,能夠提高內(nèi)存的使用效率。 另外優(yōu)選的是,本發(fā)明的信息處理裝置具有安全策略判斷單元,該安全策略判斷
單元在上述第2程序運(yùn)行時(shí),判斷是否滿足上述第1程序的安全策略,根據(jù)上述安全策略判
斷單元的判斷結(jié)果,當(dāng)判斷為不滿足安全策略時(shí),上述第2程序停止其處理。 按照本發(fā)明,根據(jù)判斷結(jié)果,當(dāng)判斷為第2程序不滿足安全策略時(shí),第2程序可停
止其處理。由此能夠防止啟動(dòng)不滿足安全策略的應(yīng)用程序。尤其,在應(yīng)用程序106根據(jù)應(yīng)
用程序101的指示而啟動(dòng)時(shí),要求應(yīng)用程序106滿足應(yīng)用程序101的安全策略而運(yùn)行。根
據(jù)本發(fā)明,能夠事先防止違反第l程序的安全策略的第2程序的執(zhí)行。 本發(fā)明能夠防止在多個(gè)應(yīng)用程序要啟動(dòng)時(shí)由于內(nèi)存的空閑區(qū)域不足而導(dǎo)致某個(gè)
應(yīng)用程序無(wú)法啟動(dòng)的情況,從而能夠?qū)崿F(xiàn)應(yīng)用程序的可靠啟動(dòng)。另外,還可以使安全策略不
同的多個(gè)應(yīng)用程序根據(jù)一個(gè)安全策略來(lái)運(yùn)行。
圖1是示出本實(shí)施方式的移動(dòng)機(jī)100的功能結(jié)構(gòu)的框圖。
圖2是移動(dòng)機(jī)100的硬件結(jié)構(gòu)圖。
圖3是內(nèi)存管理部110中的內(nèi)存區(qū)域管理的說(shuō)明圖。
圖4是示出移動(dòng)機(jī)100的工作的流程圖。 圖5是示出在進(jìn)行與安全策略一致的應(yīng)用程序的啟動(dòng)處理時(shí)移動(dòng)機(jī)100的工作的 流程圖。 圖6是示出系統(tǒng)內(nèi)存111中確保內(nèi)存區(qū)域的狀態(tài)轉(zhuǎn)變的示意圖。
具體實(shí)施例方式
參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說(shuō)明。在可能的情況下,對(duì)同一部分標(biāo)注同一 標(biāo)號(hào),并省略重復(fù)的說(shuō)明。 圖1是示出本實(shí)施方式的移動(dòng)機(jī)100的功能結(jié)構(gòu)的框圖。如圖1所示,移動(dòng)機(jī)100 構(gòu)成為包括應(yīng)用程序101(應(yīng)用程序A)、母體軟件102(母體軟件A包含工作程序103、 內(nèi)存管理程序104和安全策略管理程序105 (安全策略判斷單元))、應(yīng)用程序106 (應(yīng)用程 序B)、母體軟件107 (母體軟件B (應(yīng)用程序管理單元)包含工作程序108和內(nèi)存管理程 序109),內(nèi)存管理部110(內(nèi)存管理單元)以及系統(tǒng)內(nèi)存lll。以后根據(jù)需要,將這些應(yīng)用 程序101和母體軟件102統(tǒng)稱(chēng)為第1程序,將應(yīng)用程序106和母體軟件107統(tǒng)稱(chēng)為第2程 序。利用圖2所示的硬件結(jié)構(gòu)來(lái)實(shí)現(xiàn)這樣構(gòu)成的移動(dòng)機(jī)100。 圖2是移動(dòng)機(jī)100的硬件結(jié)構(gòu)圖。圖1所示的移動(dòng)機(jī)100在物理上如圖2所示構(gòu) 成為包含下述部件的計(jì)算機(jī)系統(tǒng)CPU 11、作為主存儲(chǔ)裝置的RAM 12和ROM 13、作為輸入 設(shè)備的鍵盤(pán)和鼠標(biāo)等輸入裝置16、顯示器等輸出裝置17、作為網(wǎng)絡(luò)卡等數(shù)據(jù)收發(fā)設(shè)備的通 信模塊14、以及硬盤(pán)等輔助存儲(chǔ)裝置15等。通過(guò)在圖2所示的CPU 11、RAM 12等硬件上讀 入規(guī)定的計(jì)算機(jī)軟件,來(lái)在CPU 11的控制下使輸入裝置16、輸出裝置17、無(wú)線通信模塊14 工作,并且進(jìn)行RAM 12及輔助存儲(chǔ)裝置15中的數(shù)據(jù)讀出和寫(xiě)入,由此實(shí)現(xiàn)圖l所說(shuō)明的各功能。以下,根據(jù)圖1所示的功能塊來(lái)說(shuō)明各功能塊。 應(yīng)用程序101是用于執(zhí)行規(guī)定功能的應(yīng)用程序,例如是在Java環(huán)境下執(zhí)行的Java 應(yīng)用程序。此外,該應(yīng)用程序101保持應(yīng)用程序106等由應(yīng)用程序101執(zhí)行的應(yīng)用程序中 所需的內(nèi)存區(qū)域,作為初始值。并且,前提是應(yīng)用程序101和應(yīng)用程序106由同一軟件公 司制作,有必要在應(yīng)用程序101中預(yù)先保持必要的內(nèi)存區(qū)域。例如,如上所述,在應(yīng)用程序 101是游戲應(yīng)用程序、應(yīng)用程序106是在該游戲上運(yùn)行的閃存數(shù)據(jù)的情況下,通過(guò)在游戲應(yīng) 用程序側(cè)預(yù)先保持閃存數(shù)據(jù)所需的內(nèi)存區(qū)域,可以執(zhí)行可靠的閃存數(shù)據(jù)運(yùn)行。
并且,后述的內(nèi)存管理程序104以及內(nèi)存管理部110可以使用保持在該應(yīng)用程序 101中的初始值(內(nèi)存區(qū)域)在系統(tǒng)內(nèi)存111內(nèi)確保內(nèi)存區(qū)域。 母體軟件102是提供用于執(zhí)行應(yīng)用程序101的執(zhí)行環(huán)境的平臺(tái)(應(yīng)用程序或編程 語(yǔ)言),例如Java執(zhí)行環(huán)境。該母體軟件102具有工作程序103、內(nèi)存管理程序104、安全 策略管理程序105。以下進(jìn)一步說(shuō)明。 工作程序103是用于使應(yīng)用程序101工作的程序。 內(nèi)存管理程序104是進(jìn)行應(yīng)用程序101的內(nèi)存管理的部分,具體地說(shuō)是對(duì)應(yīng)用程 序101所使用的系統(tǒng)內(nèi)存111的內(nèi)存區(qū)域進(jìn)行管理的程序。即,內(nèi)存管理程序104判斷應(yīng) 用程序101的使用區(qū)域是否不足,在判斷為不足的情況下,對(duì)內(nèi)存管理部110進(jìn)行指示在 系統(tǒng)內(nèi)存111中從為母體軟件102確保的內(nèi)存區(qū)域中,為了充當(dāng)不足部分而確保出新的內(nèi) 存區(qū)域。 安全策略管理程序105是對(duì)母體軟件102的安全策略進(jìn)行管理的程序,具體地說(shuō) 是如下的部分,即,存儲(chǔ)在產(chǎn)生通信時(shí)允許訪問(wèn)的對(duì)象,判斷是否可以訪問(wèn),并且預(yù)先存儲(chǔ) 在播放母體軟件102可訪問(wèn)的音樂(lè)等時(shí)的音量,不使音量過(guò)大。 應(yīng)用程序106是用于執(zhí)行規(guī)定功能的應(yīng)用程序,例如是由Adobe公司制的閃存播 放器處理的數(shù)據(jù)。在本實(shí)施方式中,該數(shù)據(jù)表述為腳本,是被處理的數(shù)據(jù),因此稱(chēng)為應(yīng)用程序。 母體軟件107是提供用于執(zhí)行應(yīng)用程序106的執(zhí)行環(huán)境的應(yīng)用程序,例如Adobe 公司制的閃存播放器。 工作程序108是用于使應(yīng)用程序106 (數(shù)據(jù))進(jìn)行工作的程序。 內(nèi)存管理程序109是如下的部分,即,其判斷應(yīng)用程序106的內(nèi)存使用區(qū)域是否不
足,當(dāng)判斷為不足時(shí),向內(nèi)存管理程序104(內(nèi)存管理部110)輸出指示以從系統(tǒng)內(nèi)存111確
保所需的內(nèi)存區(qū)域。 內(nèi)存管理部110是進(jìn)行如下處理的部分,即,根據(jù)來(lái)自母體軟件102的指示,在系 統(tǒng)內(nèi)存111上確保用于運(yùn)行母體軟件102、母體軟件107、應(yīng)用程序101以及應(yīng)用程序106 的內(nèi)存區(qū)域。進(jìn)一步詳細(xì)地說(shuō),內(nèi)存管理部110進(jìn)行確保用于母體軟件102以及應(yīng)用程序 101的內(nèi)存區(qū)域的處理,并且還進(jìn)行下述處理,S卩,當(dāng)從母體軟件102接收到確保用于應(yīng)用 程序106的內(nèi)存區(qū)域的指示時(shí),從已經(jīng)確保的用于應(yīng)用程序101的內(nèi)存區(qū)域中提取并確保 用于母體軟件107和應(yīng)用程序106的內(nèi)存區(qū)域。 圖3示出內(nèi)存管理部110中的內(nèi)存區(qū)域管理的說(shuō)明圖。如圖3所示,該內(nèi)存管理 部110通過(guò)以可確定的方式存儲(chǔ)為母體軟件102、母體軟件107、應(yīng)用程序101以及應(yīng)用程 序106確保的確保區(qū)域,由此進(jìn)行管理。在圖3的例子中,母體軟件A即母體軟件102的確保區(qū)域是0000-3000,應(yīng)用程序101的確保區(qū)域被管理為0500-lFFF。另外,母體軟件B即 母體軟件107的確保區(qū)域被管理為2000-3000,在該母體軟件107的執(zhí)行環(huán)境下執(zhí)行的應(yīng)用 程序106的確保區(qū)域被管理為2500-2AAA。 系統(tǒng)內(nèi)存111是具有用于運(yùn)行應(yīng)用程序101以及應(yīng)用程序106的內(nèi)存區(qū)域的內(nèi) 存。 接下來(lái),對(duì)這樣構(gòu)成的移動(dòng)機(jī)100的工作進(jìn)行說(shuō)明。圖4是示出移動(dòng)機(jī)100的工 作的流程圖。 首先,例如由進(jìn)行應(yīng)用程序管理的OS (Operating System :操作系統(tǒng))對(duì)內(nèi)存管理 部110提出請(qǐng)求,以確保系統(tǒng)內(nèi)存111中的用于啟動(dòng)母體軟件102(母體軟件A)以及應(yīng)用 程序101(應(yīng)用程序A)的內(nèi)存區(qū)域(SIOI)。所確保的內(nèi)存區(qū)域根據(jù)母體軟件而定。
然后,由內(nèi)存管理部IIO在系統(tǒng)內(nèi)存111中確保規(guī)定的內(nèi)存區(qū)域(S102),并由母體 軟件102使用所確保的內(nèi)存區(qū)域來(lái)執(zhí)行應(yīng)用程序101 (S103)。 接著,在應(yīng)用程序IOI的運(yùn)行執(zhí)行中,由應(yīng)用程序IOI來(lái)判斷是否由于該應(yīng)用程序 101的處理而使應(yīng)用程序106啟動(dòng)(S104)。這里,當(dāng)判斷為不執(zhí)行應(yīng)用程序106時(shí),僅運(yùn)行 執(zhí)行應(yīng)用程序101(S105)。 在S104中,當(dāng)應(yīng)用程序IOI(應(yīng)用程序A)判斷為已啟動(dòng)應(yīng)用程序106(應(yīng)用程 序B)時(shí),由母體軟件102對(duì)內(nèi)存管理部110輸出指示,以在系統(tǒng)內(nèi)存111內(nèi)確保根據(jù)應(yīng)用 程序101預(yù)先指定的內(nèi)存區(qū)域、即作為保持在應(yīng)用程序101中的初始值而保持的內(nèi)存區(qū) 域(S106)。然后,從由內(nèi)存管理部110分配給母體軟件102的內(nèi)存區(qū)域中,確保母體軟件 107(母體軟件B)能夠使用的內(nèi)存區(qū)域(S107)。 母體軟件102使用所分配的內(nèi)存區(qū)域并啟動(dòng)母體軟件107(S10S),利用所確保的 內(nèi)存區(qū)域,由母體軟件107開(kāi)始執(zhí)行應(yīng)用程序106(S109)。 這里,由內(nèi)存管理程序109來(lái)判斷執(zhí)行應(yīng)用程序106所需的內(nèi)存區(qū)域是否充足 (S110)。 這里當(dāng)判斷為內(nèi)存區(qū)域不足時(shí),由母體軟件107對(duì)母體軟件102輸出指示,以確保 追加的內(nèi)存區(qū)域(S111)。然后,由母體軟件102對(duì)內(nèi)存管理部110輸出指示,以在系統(tǒng)內(nèi)存 111內(nèi)確保用于母體軟件107的內(nèi)存區(qū)域(S112)。內(nèi)存管理部IIO在系統(tǒng)內(nèi)存111中,從 為母體軟件102分配的內(nèi)存區(qū)域中確保母體軟件107能夠使用的內(nèi)存區(qū)域(S113)。反復(fù)進(jìn) 行S110 S113,直到能夠確??蓤?zhí)行應(yīng)用程序106的內(nèi)存區(qū)域?yàn)橹埂?另外,在SllO中,當(dāng)用于執(zhí)行應(yīng)用程序106的內(nèi)存區(qū)域充足時(shí)(S110的"是"),通 過(guò)母體軟件107來(lái)執(zhí)行應(yīng)用程序106(S114)。此外,這里在執(zhí)行應(yīng)用程序106時(shí),進(jìn)行安全 策略的檢查。該詳細(xì)處理在后文中描述。 接著,在應(yīng)用程序106進(jìn)行執(zhí)行處理時(shí),判斷應(yīng)用程序106的執(zhí)行狀態(tài)(S115)。這 里,當(dāng)母體軟件107判斷為應(yīng)用程序106結(jié)束時(shí),從母體軟件107向母體軟件102輸出指示, 以釋放為該母體軟件107確保的內(nèi)存區(qū)域(S116)。 當(dāng)接收到該指示時(shí),母體軟件102向內(nèi)存管理部110指示內(nèi)存區(qū)域的釋放處理 (S117),然后,由內(nèi)存管理部110進(jìn)行內(nèi)存區(qū)域的釋放處理(S118)。 另外在S115中,當(dāng)母體軟件107判斷為應(yīng)用程序106的執(zhí)行尚未結(jié)束時(shí)(S115的 "否"),由母體軟件102來(lái)判斷應(yīng)用程序101的執(zhí)行是否結(jié)束(S119)。這里,當(dāng)判斷為應(yīng)用程序101的執(zhí)行尚未結(jié)束時(shí),返回S110繼續(xù)應(yīng)用程序106的執(zhí)行,并且繼續(xù)判斷應(yīng)用程序 106的內(nèi)存區(qū)域是否不足或應(yīng)用程序106的運(yùn)行是否結(jié)束。 在S119中,當(dāng)應(yīng)用程序101的執(zhí)行結(jié)束時(shí),根據(jù)來(lái)自母體軟件102的指示,由內(nèi) 存管理部110進(jìn)行用于應(yīng)用程序106的內(nèi)存區(qū)域的釋放處理時(shí),進(jìn)行用于應(yīng)用程序101的 內(nèi)存區(qū)域的釋放處理。具體地說(shuō),由母體軟件102向內(nèi)存管理部IIO輸出內(nèi)存區(qū)域釋放處 理的指示(S123)。然后,由內(nèi)存管理部110進(jìn)行用于應(yīng)用程序101的內(nèi)存區(qū)域的解除處理 (S124)。 通過(guò)這樣的處理,從系統(tǒng)內(nèi)存111中的用于應(yīng)用程序101的內(nèi)存區(qū)域進(jìn)行用于應(yīng) 用程序106的內(nèi)存區(qū)域的確保處理,能夠高效地使用系統(tǒng)內(nèi)存111。 接下來(lái),對(duì)S114中的詳細(xì)處理進(jìn)行說(shuō)明。圖5是在S114中在執(zhí)行應(yīng)用程序106 時(shí)進(jìn)行與母體軟件102的安全策略相符的處理時(shí)的流程圖。 首先,在母體軟件107中對(duì)在應(yīng)用程序106中執(zhí)行的函數(shù)或指令進(jìn)行解釋(S201)。 當(dāng)在母體軟件107中判斷為基于這里所解釋的函數(shù)或指令在母體軟件102中進(jìn)行處理時(shí), 由母體軟件107向母體軟件102請(qǐng)求基于該函數(shù)或指令的處理(S202)。
在接受到處理請(qǐng)求的母體軟件102中,判斷是否滿足執(zhí)行應(yīng)用程序101時(shí)的安全 策略、即預(yù)定的安全策略(S203)。這里,當(dāng)判斷為滿足安全策略時(shí),由母體軟件102執(zhí)行函 數(shù)或指令所指定的處理(S204)。這里,除了在母體軟件102中執(zhí)行處理之外,還包括向應(yīng)用 程序101通知處理內(nèi)容并使應(yīng)用程序101執(zhí)行處理。然后,由母體軟件102將處理結(jié)果通 知給母體軟件107 (S205)。 另外在S203中,當(dāng)由母體軟件102判斷為不是安全策略時(shí)(S203的"否"),由母 體軟件102向母體軟件107通知錯(cuò)誤(S206)。 通過(guò)這樣的處理來(lái)進(jìn)行安全策略的檢查,不進(jìn)行違反安全策略的處理。 接著,說(shuō)明在系統(tǒng)內(nèi)存111中確保內(nèi)存區(qū)域的具體例。圖6是示出系統(tǒng)內(nèi)存111
中內(nèi)存區(qū)域的確保狀態(tài)轉(zhuǎn)變的示意圖。 圖6(a)示出了在系統(tǒng)內(nèi)存111中確保用于母體軟件102的內(nèi)存區(qū)域、并從該內(nèi)存 區(qū)域中進(jìn)一步確保用于應(yīng)用程序101的內(nèi)存區(qū)域的狀況。然后,在圖6(b)中,當(dāng)啟動(dòng)應(yīng)用程 序106時(shí),由母體軟件102釋放用于應(yīng)用程序101的內(nèi)存區(qū)域,并且確保用于應(yīng)用程序106 的內(nèi)存區(qū)域。然后如圖6(c)所示,當(dāng)應(yīng)用程序106結(jié)束時(shí),釋放程序106的內(nèi)存區(qū)域,再次 確保用于應(yīng)用程序101的內(nèi)存區(qū)域。 接下來(lái),對(duì)應(yīng)用程序106的執(zhí)行程度大于應(yīng)用程序101時(shí)的內(nèi)存區(qū)域確保進(jìn)行說(shuō) 明。如圖6(d)所示,在母體軟件102的內(nèi)存區(qū)域中,預(yù)先較少地確保應(yīng)用程序101的內(nèi)存 區(qū)域(例如,將所確保的全部?jī)?nèi)存區(qū)域的1/3作為用于應(yīng)用程序101的內(nèi)存區(qū)域等),可靠 地確保用于母體軟件107的內(nèi)存區(qū)域。這樣,可以通過(guò)預(yù)先較少地確保用于應(yīng)用程序101 的內(nèi)存區(qū)域,來(lái)可靠地確保用于母體軟件107的內(nèi)存區(qū)域,并可靠地執(zhí)行應(yīng)用程序106。此 外,從為母體軟件107確保的內(nèi)存區(qū)域中確保用于應(yīng)用程序106的內(nèi)存區(qū)域。
如圖6(e)所示,當(dāng)母體軟件107啟動(dòng)時(shí),可以從為母體軟件102確保的內(nèi)存區(qū)域 中確保比用于母體軟件107的更多的內(nèi)存區(qū)域。然后,從該用于母體軟件107的內(nèi)存區(qū)域 中確保用于應(yīng)用程序106的內(nèi)存區(qū)域。 并且,如圖6 (f)所示,當(dāng)應(yīng)用程序106結(jié)束時(shí),釋放用于應(yīng)用程序106的內(nèi)存區(qū)域以及用于母體軟件107的內(nèi)存區(qū)域,在釋放之后,可以確保用于應(yīng)用程序101的內(nèi)存區(qū)域。
相反,在應(yīng)用程序101和應(yīng)用程序106的執(zhí)行程度等同的情況下,每當(dāng)內(nèi)存區(qū)域的 使用率改變時(shí),如圖6(g)所示,為應(yīng)用程序101使用預(yù)定的少量?jī)?nèi)存區(qū)域。然后如圖6(h) 所示,從用于母體軟件102的內(nèi)存區(qū)域中預(yù)先確保用于母體軟件107的內(nèi)存區(qū)域,由此應(yīng)用 程序101和應(yīng)用程序106可均衡地確保內(nèi)存區(qū)域。通過(guò)像這樣預(yù)先確保小區(qū)域的內(nèi)存區(qū) 域,從而每當(dāng)應(yīng)用程序啟動(dòng)和結(jié)束時(shí),能夠以小區(qū)域?yàn)閱挝粊?lái)進(jìn)行該內(nèi)存區(qū)域的確保以及 釋放,如圖6(i)所示,可以根據(jù)使用狀況來(lái)進(jìn)行內(nèi)存區(qū)域的確保。 接下來(lái),對(duì)這樣構(gòu)成的移動(dòng)機(jī)100的作用效果進(jìn)行說(shuō)明。移動(dòng)機(jī)100具有由提供 Java執(zhí)行環(huán)境的程序即母體軟件102、和Java構(gòu)成的應(yīng)用程序(游戲應(yīng)用程序等Java應(yīng) 用程序)構(gòu)成的第l程序;和用于播放閃存等的閃存播放器等即第2程序。另外,還具備了 具有用于執(zhí)行這些第1程序、第2程序的內(nèi)存區(qū)域的系統(tǒng)內(nèi)存111。此外,在本實(shí)施方式中, 第1程序、第2程序分別作為含有母體軟件以及應(yīng)用程序的程序進(jìn)行了說(shuō)明,但不限于此結(jié) 構(gòu),還可以構(gòu)成為一個(gè)程序(應(yīng)用程序或母體軟件)確保用于另一個(gè)程序(應(yīng)用程序或母 體軟件)的內(nèi)存區(qū)域,至少在程序中包含母體軟件即可。 然后,當(dāng)從用戶(hù)接收到應(yīng)用程序101的啟動(dòng)指示時(shí),內(nèi)存管理部110從系統(tǒng)內(nèi)存 111中確保用于母體軟件102 (Java執(zhí)行環(huán)境)的內(nèi)存區(qū)域,母體軟件102使用所確保的內(nèi) 存區(qū)域來(lái)啟動(dòng)應(yīng)用程序101。 另一方面,在應(yīng)用程序101的執(zhí)行中,當(dāng)該應(yīng)用程序101進(jìn)行啟動(dòng)應(yīng)用程序106的 處理時(shí),母體軟件102使內(nèi)存管理部110確保根據(jù)應(yīng)用程序106而確定的內(nèi)存區(qū)域,內(nèi)存管 理部110確保所指定的內(nèi)存區(qū)域。然后,母體軟件107使用所確保的內(nèi)存區(qū)域來(lái)啟動(dòng)應(yīng)用 程序106。 通過(guò)這樣的結(jié)構(gòu),可以防止在應(yīng)用程序106以及母體軟件107要啟動(dòng)的情況下,由 于系統(tǒng)內(nèi)存111中的空閑區(qū)域不足而無(wú)法啟動(dòng),能夠?qū)崿F(xiàn)應(yīng)用程序106的可靠啟動(dòng)。
另外,在本實(shí)施方式的移動(dòng)機(jī)100中,當(dāng)應(yīng)用程序101的工作結(jié)束時(shí),該母體軟件 102使應(yīng)用程序106以及母體軟件107的工作結(jié)束。由此,應(yīng)用程序106、母體軟件107不 會(huì)占用系統(tǒng)內(nèi)存111中的內(nèi)存區(qū)域,能夠提高內(nèi)存的使用效率。 另外,在本實(shí)施方式的移動(dòng)機(jī)100中,當(dāng)應(yīng)用程序101以及母體軟件102運(yùn)行時(shí), 安全策略管理程序105判斷是否滿足應(yīng)用程序101以及母體軟件102的安全策略,當(dāng)應(yīng)用 程序106以及母體軟件107運(yùn)行時(shí),安全策略管理程序105判斷是否滿足應(yīng)用程序101和應(yīng) 用程序106雙方的安全策略。然后,根據(jù)該判斷結(jié)果,在判斷為不滿足安全策略的情況下, 母體軟件102中止這些應(yīng)用程序101以及106的啟動(dòng)。 由此,能夠防止不滿足安全策略的應(yīng)用程序的啟動(dòng)。尤其,如本實(shí)施方式那樣,在 應(yīng)用程序106根據(jù)應(yīng)用程序101的指示而啟動(dòng)時(shí),要求應(yīng)用程序106滿足應(yīng)用程序101的 安全策略而運(yùn)行。在本實(shí)施方式中,能夠事先防止違反安全策略的應(yīng)用程序的執(zhí)行。
權(quán)利要求
一種信息處理裝置,其特征在于,具有執(zhí)行第1功能的第1程序;執(zhí)行第2功能的第2程序;內(nèi)存,其具有用于執(zhí)行上述第1程序以及上述第2程序的運(yùn)行的內(nèi)存區(qū)域;以及內(nèi)存管理單元,其從上述內(nèi)存中確保用于上述第1程序或上述第2程序運(yùn)行的規(guī)定內(nèi)存區(qū)域,在上述第1程序的運(yùn)行處理中,當(dāng)啟動(dòng)上述第2程序時(shí),上述內(nèi)存管理單元從用于上述第1程序的內(nèi)存區(qū)域中確保用于上述第2程序的內(nèi)存區(qū)域。
2. 根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于,該信息處理裝置還具有應(yīng)用程序管理單元,該應(yīng)用程序管理單元在上述第1程序的運(yùn)行結(jié)束時(shí),結(jié)束上述第2程序的運(yùn)行。
3. 根據(jù)權(quán)利要求1或2中任意一項(xiàng)所述的信息處理裝置,其特征在于,該信息處理裝置具有安全策略判斷單元,該安全策略判斷單元在上述第2程序運(yùn)行時(shí),判斷是否滿足上述第1程序的安全策略,根據(jù)上述安全策略判斷單元的判斷結(jié)果,當(dāng)判斷為不滿足安全策略時(shí),上述第2程序停止其處理。
4. 一種信息處理裝置的內(nèi)存管理方法,該信息處理裝置具有內(nèi)存,該內(nèi)存具有用于執(zhí)行第1程序以及第2程序的運(yùn)行的內(nèi)存區(qū)域,該第1程序執(zhí)行第1功能,該第2程序執(zhí)行第2功能,其特征在于,該內(nèi)存管理方法具有以下步驟第1確保步驟,從上述內(nèi)存中確保用于上述第1程序運(yùn)行的規(guī)定內(nèi)存區(qū)域;以及第2確保步驟,在上述第1程序的運(yùn)行處理中,當(dāng)啟動(dòng)上述第2程序時(shí),從用于上述第1程序的內(nèi)存區(qū)域中確保用于上述第2程序的內(nèi)存區(qū)域。
全文摘要
信息處理裝置以及內(nèi)存管理方法。本發(fā)明的目的在于提供能夠執(zhí)行用于同時(shí)啟動(dòng)多種應(yīng)用程序的內(nèi)存管理處理的信息處理裝置以及內(nèi)存管理方法。在作為Java應(yīng)用程序的應(yīng)用程序(101)的執(zhí)行中,當(dāng)應(yīng)用程序(101)進(jìn)行啟動(dòng)作為閃存數(shù)據(jù)的應(yīng)用程序(106)的處理時(shí),作為閃存播放器的母體軟件(102)使內(nèi)存管理部(110)從用于母體軟件(102)的內(nèi)存區(qū)域中確保規(guī)定的內(nèi)存區(qū)域。然后,母體軟件(107)利用所確保的內(nèi)存區(qū)域來(lái)啟動(dòng)應(yīng)用程序(106)。
文檔編號(hào)G06F9/445GK101727342SQ20091020539
公開(kāi)日2010年6月9日 申請(qǐng)日期2009年10月23日 優(yōu)先權(quán)日2008年10月23日
發(fā)明者戶(hù)部章子, 津田雅之 申請(qǐng)人:株式會(huì)社Ntt都科摩