專利名稱:虛擬計(jì)算機(jī)系統(tǒng)、虛擬計(jì)算機(jī)控制方法、虛擬計(jì)算機(jī)控制程序及半導(dǎo)體集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬計(jì)算機(jī) 系統(tǒng),特別涉及用于保護(hù)指定的應(yīng)用程序免受惡意軟件的攻擊的技術(shù)。
背景技術(shù):
以往,已知有如下虛擬計(jì)算機(jī)系統(tǒng)通過(guò)復(fù)制作為母機(jī)的虛擬計(jì)算機(jī),生成作為子機(jī)的虛擬計(jì)算機(jī),將所生成的虛擬計(jì)算機(jī)動(dòng)態(tài)地執(zhí)行控制。例如,在專利文獻(xiàn)I中,記載有考慮在各個(gè)虛擬計(jì)算機(jī)上執(zhí)行的任務(wù)的重要性而將動(dòng)作的虛擬計(jì)算機(jī)切換來(lái)執(zhí)行的虛擬計(jì)算機(jī)系統(tǒng),例如,在專利文獻(xiàn)2中,記載有將執(zhí)行的虛擬計(jì)算機(jī)切換來(lái)執(zhí)行、以執(zhí)行以優(yōu)先級(jí)最高的任務(wù)為執(zhí)行對(duì)象的虛擬計(jì)算機(jī)的虛擬計(jì)算機(jī)系統(tǒng)。現(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)I :特開(kāi)2000 - 242512號(hào)公報(bào)專利文獻(xiàn)2 W02009/133669號(hào)公報(bào)
發(fā)明概要發(fā)明要解決的問(wèn)題在虛擬計(jì)算機(jī)系統(tǒng)中,在作為執(zhí)行對(duì)象的應(yīng)用程序群中有時(shí)混合存在被認(rèn)證為不包含惡意軟件的應(yīng)用程序(以下,稱作“已認(rèn)證應(yīng)用程序”)、以及有可能包含惡意軟件的應(yīng)用程序(以下,稱作“未認(rèn)證應(yīng)用程序”)。在這樣的情況下,當(dāng)在未認(rèn)證應(yīng)用程序中包含有惡意軟件時(shí),通過(guò)執(zhí)行該惡意軟件,已認(rèn)證應(yīng)用程序可能被攻擊。作為已認(rèn)證應(yīng)用程序被攻擊的情況的例子,例如有如下情況已認(rèn)證應(yīng)用程序被以不適當(dāng)?shù)姆椒▓?zhí)行,應(yīng)該對(duì)外部保密的信息、例如系統(tǒng)所保存的收費(fèi)內(nèi)容、個(gè)人信息、密鑰等被讀取。在以往的動(dòng)態(tài)地生成虛擬計(jì)算機(jī)的虛擬計(jì)算機(jī)系統(tǒng)中,即使為了執(zhí)行新的已認(rèn)證應(yīng)用程序而生成新的子虛擬計(jì)算機(jī),也由于該子虛擬計(jì)算機(jī)是母虛擬計(jì)算機(jī)的復(fù)制,所以在作為母虛擬計(jì)算機(jī)的執(zhí)行對(duì)象的應(yīng)用程序群中包含有未認(rèn)證應(yīng)用程序的情況下,在子虛擬計(jì)算機(jī)中在作為執(zhí)行對(duì)象的應(yīng)用程序群中也包含未認(rèn)證應(yīng)用程序。因而,在以往的虛擬計(jì)算機(jī)系統(tǒng)中,在作為母虛擬計(jì)算機(jī)的執(zhí)行對(duì)象的未認(rèn)證應(yīng)用程序中包含有惡意軟件的情況下,在為了執(zhí)行已認(rèn)證應(yīng)用程序而生成的子虛擬計(jì)算機(jī)中,已認(rèn)證應(yīng)用程序也會(huì)被該惡意軟件攻擊。
發(fā)明內(nèi)容
所以,本發(fā)明是鑒于這樣的問(wèn)題而做出的,目的是提供一種虛擬計(jì)算機(jī)系統(tǒng),在虛擬計(jì)算機(jī)當(dāng)作執(zhí)行對(duì)象的應(yīng)用程序群中混合存在已認(rèn)證應(yīng)用程序和未認(rèn)證應(yīng)用程序的情況下,也能夠?qū)⑼ㄟ^(guò)執(zhí)行包含在未認(rèn)證應(yīng)用程序中的惡意軟件而已認(rèn)證應(yīng)用程序被攻擊的危險(xiǎn)性抑制得比以往低。用于解決問(wèn)題的手段為了解決上述問(wèn)題,有關(guān)本發(fā)明的虛擬計(jì)算機(jī)系統(tǒng),是具備處理器和在該處理器上執(zhí)行、用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制的管理器的虛擬計(jì)算機(jī)系統(tǒng),其特征在于,上述管理器具有執(zhí)行檢測(cè)部,用于檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序;以及虛擬計(jì)算機(jī)生成部,用于在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)部檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī);由上述處理器執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行控制部,該執(zhí)行控制部用于在上述第2虛擬計(jì)算機(jī)中使上述處理器僅執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)·定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。發(fā)明效果根據(jù)具備上述結(jié)構(gòu)的有關(guān)本發(fā)明的虛擬計(jì)算機(jī)系統(tǒng),在將已認(rèn)證應(yīng)用程序作為規(guī)定的應(yīng)用程序、在指定程序群中不包含未認(rèn)證應(yīng)用程序的情況下,在執(zhí)行已認(rèn)證應(yīng)用程序的子虛擬計(jì)算機(jī)中,未認(rèn)證應(yīng)用程序不會(huì)被執(zhí)行,進(jìn)而,在未認(rèn)證應(yīng)用程序有可能被執(zhí)行的母虛擬計(jì)算機(jī)中,已認(rèn)證應(yīng)用程序不會(huì)被執(zhí)行。因而,即使在虛擬計(jì)算機(jī)當(dāng)作執(zhí)行對(duì)象的應(yīng)用程序中混合存在已認(rèn)證應(yīng)用程序和未認(rèn)證應(yīng)用程序的情況下,也能將通過(guò)執(zhí)行包含在未認(rèn)證應(yīng)用程序中的惡意軟件而導(dǎo)致已認(rèn)證應(yīng)用程序被攻擊的危險(xiǎn)性抑制得比以往低。
圖I是表示虛擬計(jì)算機(jī)系統(tǒng)100的主要的硬件結(jié)構(gòu)的框圖。圖2是表示處理器101具有的動(dòng)作模式的動(dòng)作模式圖。圖3是表示在處理器101上成為執(zhí)行對(duì)象的程序模塊的框圖。圖4是保護(hù)任務(wù)對(duì)應(yīng)表400的數(shù)據(jù)構(gòu)造圖。圖5是子虛擬計(jì)算機(jī)生成處理的流程圖。圖6是子虛擬計(jì)算機(jī)清除處理的流程圖。圖7是保護(hù)任務(wù)執(zhí)行處理的流程圖。圖8是表示在虛擬計(jì)算機(jī)系統(tǒng)100中執(zhí)行的任務(wù)的示意圖。圖9是表示在處理器101上成為執(zhí)行對(duì)象的程序模塊的框圖。圖10是表示在處理器101上成為執(zhí)行對(duì)象的程序模塊的框圖。圖11的(a)是偽程序1113的程序結(jié)構(gòu)圖,(b)是調(diào)度程序1117的程序結(jié)構(gòu)圖。圖12是變形子虛擬計(jì)算機(jī)生成處理的流程圖。圖13是變形保護(hù)任務(wù)執(zhí)行處理的流程圖。圖14是表示在虛擬計(jì)算機(jī)系統(tǒng)100中執(zhí)行的任務(wù)的示意圖。圖15是虛擬計(jì)算機(jī)系統(tǒng)1500的結(jié)構(gòu)圖。
具體實(shí)施例方式<實(shí)施方式1>
< 概要 >以下,作為有關(guān)本發(fā)明的虛擬計(jì)算機(jī)系統(tǒng)的一實(shí)施方式,對(duì)如下的虛擬計(jì)算機(jī)系統(tǒng)進(jìn)行說(shuō)明,該虛擬計(jì)算機(jī)系統(tǒng)具備處理器,該處理器具有執(zhí)行應(yīng)用程序的用戶模式和比用戶模式高級(jí)的管理員(supervisor)模式這2個(gè)程序執(zhí)行模式,由以處理器的管理員模式執(zhí)行的管理器對(duì)以處理器的管理員模式執(zhí)行的多個(gè)操作系統(tǒng)進(jìn)行分時(shí)執(zhí)行控制。該虛擬計(jì)算機(jī)系統(tǒng)在執(zhí)行中的虛擬計(jì)算機(jī)中要執(zhí)行預(yù)先設(shè)定的、成為從惡意軟件的攻擊的保護(hù)對(duì)象的指定的應(yīng)用程序的情況下,將該執(zhí)行中的虛擬計(jì)算機(jī)作為母虛擬計(jì)算機(jī),以分叉(fork)方式(后述)生成用于執(zhí)行該指定的應(yīng)用程序的子虛擬計(jì)算機(jī)。并且,將所生成的子虛擬計(jì)算機(jī)設(shè)定為該指定的應(yīng)用程序以外的應(yīng)用程序不被執(zhí)行。另一方面,母虛擬計(jì)算機(jī)代替該指定的應(yīng)用程序而執(zhí)行偽應(yīng)用程序。由此,即使在作為該虛擬計(jì)算機(jī)系統(tǒng)的執(zhí)行對(duì)象的應(yīng)用程序中包含有攻擊上述指定的應(yīng)用程序的惡意軟件,該指定的應(yīng)用程序也不會(huì)被惡意軟件攻擊。以下,參照附圖對(duì)有關(guān)本實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)進(jìn)行說(shuō)明?!从布Y(jié)構(gòu)〉圖I是表示虛擬計(jì)算機(jī)系統(tǒng)100的主要的硬件結(jié)構(gòu)的框圖。如該圖所示,虛擬計(jì)算機(jī)系統(tǒng)100作為硬件是計(jì)算機(jī)裝置,由集成電路110、輸入裝置131、輸出裝置132和硬盤(pán)裝置133構(gòu)成。集成電路110 是將處理器 101、ROM (Read Only Memory) 102、RAM (Random AccessMemory) 103、定時(shí)器104、內(nèi)部總線120、第I接口 121、第2接口 122和第3接口 123集成而得到的半導(dǎo)體集成電路,與輸入裝置131、輸出裝置132和硬盤(pán)裝置133連接。處理器101與內(nèi)部總線120連接,具有通過(guò)執(zhí)行存儲(chǔ)在R0M102或RAM103中的程序來(lái)控制R0M102、RAM103、定時(shí)器104、輸入裝置131、輸出裝置132、硬盤(pán)裝置133的功能。圖2是表示處理器101具備的動(dòng)作模式的動(dòng)作模式圖。如該圖所示,處理器101具有執(zhí)行應(yīng)用程序(圖中的任務(wù)A231、任務(wù)K232、任務(wù)L233等)的用戶模式230和作為執(zhí)行操作系統(tǒng)(圖中的第I OS (Operating System) 221、第2 0S222、第N 0S223等)和管理器(hypervisor)(圖中的管理器211)的特權(quán)模式的管理員模式220。在用戶模式230下執(zhí)行的應(yīng)用程序分別被在管理員模式220下執(zhí)行的操作系統(tǒng)進(jìn)行分時(shí)執(zhí)行控制,在管理員模式220下執(zhí)行的操作系統(tǒng)同樣分別被在管理員模式220下執(zhí)行的管理器進(jìn)行分時(shí)執(zhí)行控制。再次回到圖1,繼續(xù)說(shuō)明虛擬計(jì)算機(jī)系統(tǒng)100的結(jié)構(gòu)。R0M102和RAM103分別與內(nèi)部總線120連接,存儲(chǔ)規(guī)定處理器101的動(dòng)作的程序和處理器101所利用的數(shù)據(jù)。定時(shí)器104與內(nèi)部總線120連接,由處理器101控制。內(nèi)部總線120與處理器101、R0M102、RAM103、定時(shí)器104、第I接口 121、第2接口122、和第3接口 123連接,具有傳遞將它們連接的電路間的信號(hào)的功能。第I接口 121、第2接口 122和第3接口 123分別與內(nèi)部總線120來(lái)連接,分別具有對(duì)內(nèi)部總線120與輸入裝置131之間的信號(hào)的交換進(jìn)行中介的功能、對(duì)內(nèi)部總線120與輸出裝置132之間的信號(hào)的交換進(jìn)行中介的功能、以及對(duì)內(nèi)部總線120與硬盤(pán)裝置133之間的信號(hào)的交換進(jìn)行中介的功能。輸入裝置131包括鍵盤(pán)、鼠標(biāo)、照相機(jī)、傳感器等,與第I接口 121連接,由處理器101控制,具有生成與通過(guò)鍵盤(pán)、鼠標(biāo)、照相機(jī)、傳感器等進(jìn)行的用戶操作等對(duì)應(yīng)的數(shù)據(jù)、將表示發(fā)生了用戶操作等的通知及所生成的數(shù)據(jù)向處理器101發(fā)送的功能。輸出裝置132包括顯示器、揚(yáng)聲器等,與第2接口 122連接,由處理器101控制,具有使用顯示器、揚(yáng)聲器等將字符串、圖像、聲音等顯示、輸出的功能。
硬盤(pán)裝置133內(nèi)置有對(duì)處理器101所利用的數(shù)據(jù)進(jìn)行存儲(chǔ)的硬盤(pán),與第3接口 123連接,由處理器101控制,具有向內(nèi)置的硬盤(pán)寫(xiě)入數(shù)據(jù)的功能和將數(shù)據(jù)從內(nèi)置的硬盤(pán)讀出的功能。<程序模塊結(jié)構(gòu)>圖3是表示在某時(shí)刻t0在處理器101上成為執(zhí)行對(duì)象的程序模塊(以下,簡(jiǎn)稱為“模塊”)的框圖。在該圖中,模塊群300是在處理器101中成為執(zhí)行對(duì)象的模塊的集合,模塊群300所包含的模塊分別保存在R0M102或RAM103的存儲(chǔ)區(qū)域中。任務(wù)A311 任務(wù)K312、偽任務(wù)313、任務(wù)L314 任務(wù)P315、保護(hù)任務(wù)316等分別是在處理器101的用戶模式下執(zhí)行的任務(wù)。第10S321和第20S322分別是在處理器101的管理員模式下執(zhí)行的多任務(wù)對(duì)應(yīng)操作系統(tǒng)。管理器351是在處理器101的管理員模式下執(zhí)行的管理器。任務(wù)通過(guò)調(diào)用預(yù)先準(zhǔn)備的操作系統(tǒng)調(diào)用例程(routine),能夠?qū)Σ僮飨到y(tǒng)委托預(yù)先設(shè)定的處理。此外,操作系統(tǒng)通過(guò)調(diào)用預(yù)先準(zhǔn)備的管理器調(diào)用例程,能夠?qū)芾砥魑蓄A(yù)先設(shè)定的處理。此外,在虛擬計(jì)算機(jī)系統(tǒng)的執(zhí)行時(shí)發(fā)生的例外、從輸入裝置等發(fā)生的中斷由管理器處理,根據(jù)需要對(duì)虛擬計(jì)算機(jī)上的操作系統(tǒng)通知。保護(hù)任務(wù)316是通過(guò)由操作系統(tǒng)(這里是第20S322)啟動(dòng)預(yù)先設(shè)定的保護(hù)對(duì)象應(yīng)用程序而生成的任務(wù)。該保護(hù)對(duì)象應(yīng)用程序是成為從惡意軟件的攻擊的保護(hù)對(duì)象的應(yīng)用程序,由后述的保護(hù)任務(wù)對(duì)應(yīng)表346預(yù)先設(shè)定為保護(hù)對(duì)象。作為保護(hù)對(duì)象應(yīng)用程序的一例,例如有處理個(gè)人信息的應(yīng)用程序、處理金錢(qián)信息的應(yīng)用程序、處理成為著作權(quán)保護(hù)的對(duì)象的影像數(shù)據(jù)的應(yīng)用程序等。偽任務(wù)313是通過(guò)由操作系統(tǒng)(這里是第10S321)啟動(dòng)預(yù)先設(shè)定的偽程序而生成的任務(wù)。該偽程序例如是由重復(fù)NOP (No OPeration)的無(wú)限循環(huán)構(gòu)成的程序,是不會(huì)產(chǎn)生新的任務(wù)的程序。第10S321將多個(gè)任務(wù)(這里是任務(wù)A311 任務(wù)K312和偽任務(wù)313)使用時(shí)間分段值分時(shí)執(zhí)行控制。并且,管理器351將由第10S321、任務(wù)A311 任務(wù)K312和偽任務(wù)313構(gòu)成的系統(tǒng)作為虛擬計(jì)算機(jī)301控制。第20S322使用時(shí)間分段(time slice)值對(duì)多個(gè)任務(wù)(這里是任務(wù)L314 任務(wù)P315和保護(hù)任務(wù)316)進(jìn)行分時(shí)執(zhí)行控制。并且,管理器351將由第20S322、任務(wù)L314 任務(wù)P315和保護(hù)任務(wù)316構(gòu)成的系統(tǒng)作為子虛擬計(jì)算機(jī)302控制。這里,子虛擬計(jì)算機(jī)302是以虛擬計(jì)算機(jī)301為母虛擬計(jì)算機(jī)、以分叉(fork)方式生成的虛擬計(jì)算機(jī)。關(guān)于分叉方式下的虛擬計(jì)算機(jī)的生成在后面敘述。第10S321除了實(shí)現(xiàn)作為一般的多任務(wù)操作系統(tǒng)的功能的模塊群(未圖示)以外,還在內(nèi)部中包括啟動(dòng)請(qǐng)求檢測(cè)模塊331、保護(hù)任務(wù)生成模塊332、任務(wù)調(diào)度變更模塊333、保護(hù)任務(wù)結(jié)束通知模塊334和偽任務(wù)執(zhí)行通知模塊335這5個(gè)模塊,啟動(dòng)請(qǐng)求檢測(cè)模 塊331在內(nèi)部中存儲(chǔ)有預(yù)先設(shè)定的保護(hù)任務(wù)對(duì)應(yīng)表336。圖4是由啟動(dòng)請(qǐng)求檢測(cè)模塊331及啟動(dòng)請(qǐng)求檢測(cè)模塊341存儲(chǔ)的保護(hù)任務(wù)對(duì)應(yīng)表400 (在圖3中,是保護(hù)任務(wù)對(duì)應(yīng)表336及保護(hù)任務(wù)對(duì)應(yīng)表346)的數(shù)據(jù)構(gòu)造圖。如該圖所示,保護(hù)任務(wù)對(duì)應(yīng)表400將應(yīng)用程序ID410與保護(hù)對(duì)象標(biāo)志420建立對(duì)應(yīng)而構(gòu)成。并且,該保護(hù)任務(wù)對(duì)應(yīng)表400是在系統(tǒng)設(shè)計(jì)時(shí)預(yù)先設(shè)定的。應(yīng)用程序ID是用于識(shí)別應(yīng)用程序的ID。保護(hù)對(duì)象標(biāo)志420是表示由對(duì)應(yīng)的應(yīng)用程序ID識(shí)別的應(yīng)用程序是否是針對(duì)來(lái)自惡意軟件的攻擊成為保護(hù)對(duì)象的保護(hù)對(duì)象應(yīng)用程序的I位的標(biāo)志。這里,保護(hù)對(duì)象標(biāo)志420在邏輯值“ I ”的情況下,表示由對(duì)應(yīng)的應(yīng)用程序ID識(shí)別的應(yīng)用程序是成為針對(duì)來(lái)自惡意軟件的攻擊的保護(hù)對(duì)象的保護(hù)對(duì)象應(yīng)用程序,在邏輯值“O”的情況下,表示由對(duì)應(yīng)的應(yīng)用程序ID識(shí)別的應(yīng)用程序不是成為針對(duì)來(lái)自惡意軟件的攻擊的保護(hù)對(duì)象的保護(hù)對(duì)象應(yīng)用程序。根據(jù)該保護(hù)對(duì)象標(biāo)志420可知,例如由應(yīng)用程序ID410 “0002”識(shí)別的應(yīng)用程序是
保護(hù)對(duì)象應(yīng)用程序。再次回到圖3,繼續(xù)說(shuō)明在處理器101上成為執(zhí)行對(duì)象的模塊群。啟動(dòng)請(qǐng)求檢測(cè)模塊331在內(nèi)部中存儲(chǔ)預(yù)先設(shè)定的保護(hù)任務(wù)對(duì)應(yīng)表336,具有以下的兩個(gè)功能。功能I :在從由本操作系統(tǒng)(這里第10S321)執(zhí)行控制的任務(wù)請(qǐng)求了新的應(yīng)用程序的啟動(dòng)的情況下,參照存儲(chǔ)的保護(hù)任務(wù)對(duì)應(yīng)表336判斷被請(qǐng)求啟動(dòng)的應(yīng)用程序是否是保護(hù)對(duì)象應(yīng)用程序。功能2 :在被請(qǐng)求啟動(dòng)的應(yīng)用程序是保護(hù)對(duì)象應(yīng)用程序的情況下,向本操作系統(tǒng)所包含的保護(hù)任務(wù)生成模塊(這里是保護(hù)任務(wù)生成模塊332)和管理器351所包含的虛擬計(jì)算機(jī)生成模塊361 (后述)進(jìn)行被請(qǐng)求了保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知。保護(hù)任務(wù)生成模塊332具有以下的3個(gè)功能。功能I :在從管理器351所包含的子虛擬計(jì)算機(jī)通知模塊362 (后述)接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)是子虛擬計(jì)算機(jī)的通知的情況下,將保護(hù)對(duì)象應(yīng)用程序啟動(dòng),在本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)內(nèi)生成保護(hù)任務(wù)。功能2 :在從管理器351所包含的子虛擬計(jì)算機(jī)通知模塊362 (后述)沒(méi)有接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)是子虛擬計(jì)算機(jī)的通知的情況下,在從本操作系統(tǒng)所包含的啟動(dòng)請(qǐng)求檢測(cè)模塊(這里是啟動(dòng)請(qǐng)求檢測(cè)模塊331)進(jìn)行了已請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知時(shí),代替保護(hù)對(duì)象應(yīng)用程序而啟動(dòng)偽程序,在本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)內(nèi)生成偽任務(wù)。
功能3 :在生成偽任務(wù)的情況下,作為操作系統(tǒng)在任務(wù)切換控制中使用的時(shí)間分段值,將向?qū)?yīng)的保護(hù)任務(wù)分配的時(shí)間分段值分配給偽任務(wù)。任務(wù)調(diào)度變更模塊333具有如下功能在從管理器351所包含的子虛擬計(jì)算機(jī)通知模塊362 (后述)接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)是子虛擬計(jì)算機(jī)的通知的情況下,在由本操作系統(tǒng)所包含的保護(hù)任務(wù)生成模塊(這里是保護(hù)任務(wù)生成模塊332)生成了保護(hù)任務(wù)時(shí)、將由本操作系統(tǒng)(這里是第10S321)執(zhí)行的任務(wù)限定于保護(hù)任務(wù)。為了將由本操作系統(tǒng)執(zhí)行的任務(wù)限定于保護(hù)任務(wù),可以通過(guò)例如使保護(hù)任務(wù)的優(yōu)先級(jí)比其他任務(wù)的優(yōu)先級(jí)高、例如使其他任務(wù)的優(yōu)先級(jí)比保護(hù)任務(wù)的優(yōu)先級(jí)低、此外例如在本操作系統(tǒng)具有將執(zhí)行的任務(wù)限定于規(guī)定的任務(wù)的功能的情況下將保護(hù)任務(wù)設(shè)定為該規(guī)定的任務(wù)等來(lái)實(shí)現(xiàn)。保護(hù)任務(wù)結(jié)束通知模塊334具有如下功能檢測(cè)由本操作系統(tǒng)(這里是第10S321)執(zhí)行控制的保護(hù)任務(wù)的執(zhí)行結(jié)束,對(duì)管理器351所包含的虛擬計(jì)算機(jī)調(diào)度模塊363 (后述)·進(jìn)行保護(hù)任務(wù)的執(zhí)行已結(jié)束的通知。偽任務(wù)執(zhí)行通知模塊335具有以下的兩個(gè)功能。功能I :檢測(cè)在本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)中開(kāi)始了偽任務(wù)的執(zhí)行,對(duì)管理器351所包含的虛擬計(jì)算機(jī)調(diào)度模塊363 (后述)進(jìn)行偽任務(wù)的執(zhí)行的通知。功能2 :檢測(cè)在本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)中偽任務(wù)的執(zhí)行被中斷,對(duì)管理器351所包含的虛擬計(jì)算機(jī)調(diào)度模塊363 (后述)進(jìn)行偽任務(wù)的執(zhí)行被中斷的通知。第20S322除了實(shí)現(xiàn)作為一般的多任務(wù)操作系統(tǒng)的功能的模塊群(未圖示)以外,還在內(nèi)部中包括啟動(dòng)請(qǐng)求檢測(cè)模塊341、保護(hù)任務(wù)生成模塊342、任務(wù)調(diào)度變更模塊343、保護(hù)任務(wù)結(jié)束通知模塊344和偽任務(wù)執(zhí)行通知模塊345這5個(gè)模塊,啟動(dòng)請(qǐng)求檢測(cè)模塊331在內(nèi)部中存儲(chǔ)有預(yù)先設(shè)定的保護(hù)任務(wù)對(duì)應(yīng)表346。這些啟動(dòng)請(qǐng)求檢測(cè)模塊341、保護(hù)任務(wù)生成模塊342、任務(wù)調(diào)度變更模塊343、保護(hù)任務(wù)結(jié)束通知模塊344、偽任務(wù)執(zhí)行通知模塊345和保護(hù)任務(wù)對(duì)應(yīng)表346分別具有與包含在第10S321中的啟動(dòng)請(qǐng)求檢測(cè)模塊331、保護(hù)任務(wù)生成模塊332、任務(wù)調(diào)度變更模塊333、保護(hù)任務(wù)結(jié)束通知模塊334、偽任務(wù)執(zhí)行通知模塊335和保護(hù)任務(wù)對(duì)應(yīng)表336同樣的功能。由此,這里,省略這些說(shuō)明。但是,它們中的保護(hù)任務(wù)生成模塊342和任務(wù)調(diào)度變更模塊343根據(jù)是否從子虛擬計(jì)算機(jī)通知模塊362接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知,分別進(jìn)行與保護(hù)任務(wù)生成模塊332和任務(wù)調(diào)度變更模塊333相互不同的動(dòng)作。管理器351在內(nèi)部中包括虛擬計(jì)算機(jī)生成模塊361、子虛擬計(jì)算機(jī)通知模塊362、虛擬計(jì)算機(jī)調(diào)度模塊363和虛擬計(jì)算機(jī)清除模塊364。虛擬計(jì)算機(jī)生成模塊361具有如下功能在從虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)的啟動(dòng)請(qǐng)求檢測(cè)模塊331進(jìn)行了被請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知的情況下,基于虛擬計(jì)算機(jī)301以分叉方式生成新的子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)的功能。這里,分叉方式下的虛擬計(jì)算機(jī)的生成,是指以分配給作為母機(jī)的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域與分配給新生成的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域I對(duì)I地對(duì)應(yīng)的方式將分配給作為母機(jī)的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域映射到新生成的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域映射,從而生成新的虛擬計(jì)算機(jī)。另外,在新生成虛擬計(jì)算機(jī)后,以寫(xiě)時(shí)復(fù)制方式管理作為母機(jī)的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域和新生成的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域。子虛擬計(jì)算機(jī)通知模塊362具有如下功能在虛擬計(jì)算機(jī)生成模塊361生成了新的子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)的情況下,向在子虛擬計(jì)算機(jī)302上動(dòng)作的保護(hù)任務(wù)生成模塊342和任務(wù)調(diào)度變更模塊343進(jìn)行虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知。作為向這些模塊進(jìn)行虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知的方法的一例,例如有子虛擬計(jì)算機(jī)通知模塊362將是子虛擬計(jì)算機(jī)之意的信息記錄到指定的存儲(chǔ)區(qū)域中、產(chǎn)生對(duì)虛擬計(jì)算機(jī)的中斷、使這些模塊參照記錄在上述指定的區(qū)域中的信息的方法;例如在這些模塊被調(diào)用而動(dòng)作時(shí),通過(guò)調(diào)用預(yù)先設(shè)定的函數(shù)來(lái)通知自模塊所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的方法等。
虛擬計(jì)算機(jī)調(diào)度模塊363具有以下的3個(gè)功能。功能I :在母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)為執(zhí)行對(duì)象虛擬計(jì)算機(jī)的情況下,在從偽任務(wù)執(zhí)行通知模塊335進(jìn)行開(kāi)始了偽任務(wù)313的執(zhí)行的通知時(shí),將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從虛擬計(jì)算機(jī)301切換為該子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)。功能2 :在子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)為執(zhí)行對(duì)象虛擬計(jì)算機(jī)的情況下,在從該母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)的偽任務(wù)執(zhí)行通知模塊335進(jìn)行偽任務(wù)313的執(zhí)行被中斷的通知時(shí),將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為該母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)。功能3 :在子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)為執(zhí)行對(duì)象虛擬計(jì)算機(jī)的情況下,在從執(zhí)行中的子虛擬計(jì)算機(jī)302的保護(hù)任務(wù)結(jié)束通知模塊344進(jìn)行保護(hù)任務(wù)316的執(zhí)行已結(jié)束的通知時(shí),將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為該母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301),對(duì)虛擬計(jì)算機(jī)301的操作系統(tǒng)(這里是第10S321)進(jìn)行保護(hù)任務(wù)316的執(zhí)行已結(jié)束的通知。虛擬計(jì)算機(jī)清除模塊364具有在子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)為執(zhí)行對(duì)象虛擬計(jì)算機(jī)的情況下,在從保護(hù)任務(wù)結(jié)束通知模塊344向虛擬計(jì)算機(jī)調(diào)度模塊363進(jìn)行保護(hù)任務(wù)316的執(zhí)行已結(jié)束的通知時(shí),如果虛擬計(jì)算機(jī)調(diào)度模塊363將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為該母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301),則使子虛擬計(jì)算機(jī)302清除。這里,所謂使虛擬計(jì)算機(jī)清除,是指將作為對(duì)象的虛擬計(jì)算機(jī)從分時(shí)執(zhí)行處理對(duì)象中排除,將分配給該虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域釋放。以下,參照附圖,說(shuō)明上述結(jié)構(gòu)的虛擬計(jì)算機(jī)系統(tǒng)100進(jìn)行的動(dòng)作。〈動(dòng)作〉這里,說(shuō)明虛擬計(jì)算機(jī)系統(tǒng)100進(jìn)行的動(dòng)作中的、作為特征性的動(dòng)作的子虛擬計(jì)算機(jī)生成處理、子虛擬計(jì)算機(jī)清除處理和保護(hù)任務(wù)執(zhí)行處理。以下,假設(shè)虛擬計(jì)算機(jī)301沒(méi)有從子虛擬計(jì)算機(jī)通知模塊362接受到是子虛擬計(jì)算機(jī)的通知而進(jìn)行說(shuō)明。<子虛擬計(jì)算機(jī)生成處理>
子虛擬計(jì)算機(jī)生成處理是虛擬計(jì)算機(jī)系統(tǒng)100生成用于執(zhí)行保護(hù)任務(wù)的新的子虛擬計(jì)算機(jī)的處理。圖5是子虛擬計(jì)算機(jī)生成處理的流程圖。子虛擬計(jì)算機(jī)生成處理通過(guò)從在虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)中被執(zhí)行控制的任務(wù)對(duì)包含在該虛擬計(jì)算機(jī)中的操作系統(tǒng)(這里是第10S321)請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)而開(kāi)始。來(lái)自被執(zhí)行控制的任務(wù)的保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)請(qǐng)求例如通過(guò)由利用虛擬計(jì)算機(jī)系統(tǒng)100的用戶操作輸入裝置131 (參照?qǐng)DI)等而發(fā)生。
如果子虛擬計(jì)算機(jī)生成處理開(kāi)始,則啟動(dòng)請(qǐng)求檢測(cè)模塊331 (參照?qǐng)D3)參照存儲(chǔ)的保護(hù)任務(wù)對(duì)應(yīng)表336,檢測(cè)被啟動(dòng)請(qǐng)求的應(yīng)用程序是保護(hù)對(duì)象應(yīng)用程序(步驟S500)。于是,啟動(dòng)請(qǐng)求檢測(cè)模塊331向保護(hù)任務(wù)生成模塊332和虛擬計(jì)算機(jī)生成模塊361進(jìn)行被請(qǐng)求了保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知(步驟S510)。虛擬計(jì)算機(jī)生成模塊361如果從啟動(dòng)請(qǐng)求檢測(cè)模塊331進(jìn)行被請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知,則基于虛擬計(jì)算機(jī)301,以分叉方式生成新的子虛擬計(jì)算機(jī)302。并且,管理器351將所生成的子虛擬計(jì)算機(jī)302追加到執(zhí)行控制對(duì)象虛擬計(jì)算機(jī)(步驟S520)。然后,子虛擬計(jì)算機(jī)通知模塊362向子虛擬計(jì)算機(jī)302的保護(hù)任務(wù)生成模塊342和任務(wù)調(diào)度變更模塊343進(jìn)行本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知(步驟S530)。另一方面,由于虛擬計(jì)算機(jī)301的保護(hù)任務(wù)生成模塊332沒(méi)有從子虛擬計(jì)算機(jī)通知模塊362接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知,所以如果從啟動(dòng)請(qǐng)求檢測(cè)模塊331進(jìn)行被請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知,則將偽程序啟動(dòng),在虛擬計(jì)算機(jī)301內(nèi)生成偽任務(wù)313 (步驟S540)。相對(duì)于此,子虛擬計(jì)算機(jī)302的保護(hù)任務(wù)生成模塊342如果從子虛擬計(jì)算機(jī)通知模塊362進(jìn)行本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知,則將保護(hù)對(duì)象應(yīng)用程序啟動(dòng),在子虛擬計(jì)算機(jī)302內(nèi)生成保護(hù)任務(wù)316 (步驟S550)。并且,如果保護(hù)任務(wù)生成模塊342生成保護(hù)任務(wù)316,則任務(wù)調(diào)度變更模塊343將由第20S322執(zhí)行的任務(wù)限定于保護(hù)任務(wù)316 (步驟S560)。如果步驟S560的處理結(jié)束,則虛擬計(jì)算機(jī)系統(tǒng)100結(jié)束該子虛擬計(jì)算機(jī)生成處理。<子虛擬計(jì)算機(jī)清除處理>子虛擬計(jì)算機(jī)清除處理是虛擬計(jì)算機(jī)系統(tǒng)100將為了執(zhí)行保護(hù)任務(wù)而生成的子虛擬計(jì)算機(jī)清除的處理。圖6是子虛擬計(jì)算機(jī)清除處理的流程圖。子虛擬計(jì)算機(jī)清除處理通過(guò)由保護(hù)任務(wù)結(jié)束通知模塊344檢測(cè)出在子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)302)中執(zhí)行的保護(hù)任務(wù)(這里是保護(hù)任務(wù)316)結(jié)束該處理而開(kāi)始。如果子虛擬計(jì)算機(jī)清除處理開(kāi)始,則保護(hù)任務(wù)結(jié)束通知模塊344檢測(cè)到保護(hù)任務(wù)316的執(zhí)行結(jié)束(步驟S600),向虛擬計(jì)算機(jī)調(diào)度模塊363進(jìn)行保護(hù)任務(wù)的執(zhí)行已結(jié)束的通知(步驟S610)。
如果從保護(hù)任務(wù)結(jié)束通知模塊344通知保護(hù)任務(wù)的執(zhí)行已結(jié)束,則虛擬計(jì)算機(jī)調(diào)度模塊363將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為虛擬計(jì)算機(jī)301,向第10S321進(jìn)行保護(hù)任務(wù)316的執(zhí)行已結(jié)束的通知。并且,管理器351將子虛擬計(jì)算機(jī)302從作為執(zhí)行控制對(duì)象虛擬計(jì)算機(jī)管理的虛擬計(jì)算機(jī)群中刪除(步驟S620)。如果虛擬計(jì)算機(jī)調(diào)度模塊363將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為虛擬計(jì)算機(jī)301,則虛擬計(jì)算機(jī)清除模塊364通過(guò)將分配給子虛擬計(jì)算機(jī)302的存儲(chǔ)區(qū)域釋放,將子虛擬計(jì)算機(jī)302清除(步驟S630)。另一方面,如果從虛擬計(jì)算機(jī)調(diào)度模塊363通知保護(hù)任務(wù)316的執(zhí)行已結(jié)束,則第10S321將執(zhí)行的任務(wù)從偽任務(wù)313切換為其他任務(wù),將偽任務(wù)313從執(zhí)行控制對(duì)象任務(wù)中刪除(步驟S640)。如果步驟S640的處理結(jié)束,則虛擬計(jì)算機(jī)系統(tǒng)100結(jié)束該子虛擬計(jì)算機(jī)清除處
理。·〈保護(hù)任務(wù)執(zhí)行處理〉保護(hù)任務(wù)執(zhí)行處理是虛擬計(jì)算機(jī)系統(tǒng)100執(zhí)行保護(hù)任務(wù)的處理。圖7是保護(hù)任務(wù)執(zhí)行處理的流程圖。保護(hù)任務(wù)執(zhí)行處理通過(guò)在母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)301)中開(kāi)始執(zhí)行偽任務(wù)313而開(kāi)始。在虛擬計(jì)算機(jī)301中,如果作為分時(shí)執(zhí)行控制對(duì)象的偽任務(wù)313被開(kāi)始執(zhí)行(步驟S700),則偽任務(wù)執(zhí)行通知模塊335檢測(cè)到偽任務(wù)被開(kāi)始執(zhí)行,向虛擬計(jì)算機(jī)調(diào)度模塊363進(jìn)行偽任務(wù)已開(kāi)始執(zhí)行的通知(步驟S710)。如果從偽任務(wù)執(zhí)行通知模塊335進(jìn)行偽任務(wù)已開(kāi)始的執(zhí)行的通知,則虛擬計(jì)算機(jī)調(diào)度模塊363將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從虛擬計(jì)算機(jī)301切換為子虛擬計(jì)算機(jī)302 (步驟S720)。如果執(zhí)行對(duì)象虛擬計(jì)算機(jī)切換為子虛擬計(jì)算機(jī)302,則子虛擬計(jì)算機(jī)302僅執(zhí)行保護(hù)任務(wù)316 (步驟S730)。然后,在虛擬計(jì)算機(jī)301中,如果偽任務(wù)313的執(zhí)行被中斷(步驟S740),則偽任務(wù)執(zhí)行通知模塊335檢測(cè)出偽任務(wù)的執(zhí)行被中斷,向虛擬計(jì)算機(jī)調(diào)度模塊363進(jìn)行偽任務(wù)的執(zhí)行被中斷的通知(步驟S750)。這里,在虛擬計(jì)算機(jī)301中,作為偽任務(wù)313的執(zhí)行被中斷的情況的例子,例如有在虛擬計(jì)算機(jī)301中發(fā)生了對(duì)偽任務(wù)313以外的任務(wù)(這里是任務(wù)A311 任務(wù)K312)的中斷的情況,例如在虛擬計(jì)算機(jī)301中偽任務(wù)313的時(shí)間分段結(jié)束的情況等。時(shí)間分段的結(jié)束例如通過(guò)由定時(shí)器104在從偽任務(wù)313的執(zhí)行開(kāi)始時(shí)刻起的經(jīng)過(guò)時(shí)間超過(guò)了時(shí)間分段值的時(shí)點(diǎn)對(duì)處理器101產(chǎn)生中斷來(lái)檢測(cè)。如果由偽任務(wù)執(zhí)行通知模塊335進(jìn)行偽任務(wù)的執(zhí)行被中斷的通知,則虛擬計(jì)算機(jī)調(diào)度模塊363將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為虛擬計(jì)算機(jī)301 (步驟S760)。另一方面,在虛擬計(jì)算機(jī)301中,將執(zhí)行的任務(wù)從偽任務(wù)313切換為偽任務(wù)313以外的任務(wù)并執(zhí)行(步驟S770 )。然后,如果再次在虛擬計(jì)算機(jī)301中將執(zhí)行的任務(wù)從偽任務(wù)313以外的任務(wù)切換為偽任務(wù)313 (步驟S780),則再次回到步驟S700的處理,重復(fù)步驟S700以下的處理。圖8是示意地表示在保護(hù)任務(wù)執(zhí)行處理中由虛擬計(jì)算機(jī)系統(tǒng)100執(zhí)行的任務(wù)的示意圖。在虛擬計(jì)算機(jī)301中,如果在時(shí)刻tl所執(zhí)行的任務(wù)從偽任務(wù)313以外的任務(wù)切換為偽任務(wù)313,并偽任務(wù)313被開(kāi)始執(zhí)行(步驟S700),則偽任務(wù)的執(zhí)行開(kāi)始被通知到虛擬計(jì)算機(jī)調(diào)度模塊363 (步驟S710),所執(zhí)行的虛擬計(jì)算機(jī)從虛擬計(jì)算機(jī)301切換為子虛擬計(jì)算機(jī)302 (步驟S720),在子虛擬計(jì)算機(jī)302中僅執(zhí)行保護(hù)任務(wù)316 (步驟S730)。然后,在虛擬計(jì)算機(jī)301中,如果在時(shí)刻t2偽任務(wù)313成為執(zhí)行中斷(步驟S740),則偽任務(wù)的執(zhí)行中斷被通知到虛擬計(jì)算機(jī)調(diào)度模塊(步驟S750),所執(zhí)行的虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)302切換為虛擬計(jì)算機(jī)301 (步驟S760),在虛擬計(jì)算機(jī)301中,所執(zhí)行的任務(wù)從偽任務(wù)313切換為偽任務(wù)313以外的任務(wù)(步驟S770)。
<多個(gè)保護(hù)對(duì)象應(yīng)用程序被請(qǐng)求啟動(dòng)的情況>到此為止,以被請(qǐng)求啟動(dòng)的保護(hù)對(duì)象應(yīng)用程序是I個(gè)的情況為中心進(jìn)行了說(shuō)明。但是,在有多個(gè)保護(hù)對(duì)象應(yīng)用程序的情況下,有時(shí)可能有多個(gè)保護(hù)對(duì)象應(yīng)用程序被請(qǐng)求啟動(dòng)。此時(shí),按被請(qǐng)求啟動(dòng)的每個(gè)保護(hù)對(duì)象應(yīng)用程序,生成用于執(zhí)行該保護(hù)對(duì)象應(yīng)用程序的子虛擬計(jì)算機(jī)。圖9是表示在相互不同的多個(gè)保護(hù)對(duì)象應(yīng)用程序被請(qǐng)求啟動(dòng)的情況下、在某時(shí)刻t5在處理器101上成為執(zhí)行對(duì)象的模塊的框圖。該圖表示與在虛擬計(jì)算機(jī)901中被請(qǐng)求啟動(dòng)的相互不同的多個(gè)保護(hù)對(duì)象應(yīng)用程序各自對(duì)應(yīng)地生成用于執(zhí)行保護(hù)對(duì)象應(yīng)用程序的多個(gè)子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)A902、子虛擬計(jì)算機(jī)B903等)的狀態(tài)。如該圖所示,在虛擬計(jì)算機(jī)901中,與被請(qǐng)求啟動(dòng)的多個(gè)保護(hù)對(duì)象應(yīng)用程序各自對(duì)應(yīng)的保護(hù)任務(wù)(這里是保護(hù)任務(wù)A917、保護(hù)任務(wù)B920等)被相互獨(dú)立的子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)A902、子虛擬計(jì)算機(jī)B903等)執(zhí)行?!纯疾臁狄韵拢褂镁唧w例對(duì)虛擬計(jì)算機(jī)系統(tǒng)100的動(dòng)作進(jìn)行考察。作為具體例,考慮在與任務(wù)A311(參照?qǐng)D3)對(duì)應(yīng)的應(yīng)用程序和與任務(wù)L314對(duì)應(yīng)的應(yīng)用程序各自中包含有攻擊與保護(hù)任務(wù)316對(duì)應(yīng)的保護(hù)對(duì)象應(yīng)用程序的惡意軟件的情況。在虛擬計(jì)算機(jī)301中,任務(wù)A311能夠成為執(zhí)行對(duì)象,但即使從執(zhí)行中的任務(wù)A311請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng),也由保護(hù)任務(wù)生成模塊332代替保護(hù)對(duì)象應(yīng)用程序而啟動(dòng)偽程序。由此,保護(hù)對(duì)象應(yīng)用程序不會(huì)被啟動(dòng)。因而,在虛擬計(jì)算機(jī)301中,保護(hù)對(duì)象應(yīng)用程序不會(huì)從任務(wù)A311受到攻擊。此外,在子虛擬計(jì)算機(jī)302中,通過(guò)保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)而生成保護(hù)任務(wù)316,但保護(hù)任務(wù)316以外的任務(wù)通過(guò)任務(wù)調(diào)度變更模塊343不會(huì)成為執(zhí)行對(duì)象。S卩,在子虛擬計(jì)算機(jī)302中,任務(wù)L314不會(huì)被執(zhí)行。因而,在子虛擬計(jì)算機(jī)302中,保護(hù)對(duì)象應(yīng)用程序不會(huì)從任務(wù)L314受到攻擊。這樣,有關(guān)本實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100即使在虛擬計(jì)算機(jī)當(dāng)作執(zhí)行對(duì)象的應(yīng)用程序中包含有攻擊保護(hù)對(duì)象應(yīng)用程序的惡意軟件的情況下,也能夠?qū)⒂稍搻阂廛浖舯Wo(hù)對(duì)象應(yīng)用程序的危險(xiǎn)性抑制得比以往低。
此外,有關(guān)本實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100由于在作為母機(jī)的虛擬計(jì)算機(jī)中執(zhí)行保護(hù)任務(wù)以外的任務(wù)、在作為子機(jī)的虛擬計(jì)算機(jī)中僅執(zhí)行保護(hù)任務(wù),所以在作為母機(jī)的虛擬計(jì)算機(jī)中執(zhí)行的任務(wù)與作為子機(jī)的虛擬計(jì)算機(jī)中執(zhí)行的任務(wù)不會(huì)重復(fù)?!磳?shí)施方式2>〈概要〉以下,作為有關(guān)本發(fā)明的虛擬計(jì)算機(jī)系統(tǒng)的一例,對(duì)將實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100的一部分變形的變形虛擬計(jì)算機(jī)系統(tǒng)進(jìn)行說(shuō)明。有關(guān)實(shí)施方式2的變形虛擬計(jì)算機(jī)系統(tǒng)其硬件結(jié)構(gòu)為與有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100同樣的結(jié)構(gòu),但執(zhí)行的軟件的一部分被從有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng) 100變形。有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100是操作系統(tǒng)(例如第10S321)所包含的偽任務(wù)執(zhí)行通知模塊(例如偽任務(wù)執(zhí)行通知模塊335)檢測(cè)偽任務(wù)的執(zhí)行開(kāi)始、向虛擬計(jì)算機(jī)調(diào)度模塊363通知的結(jié)構(gòu)的例子,而有關(guān)實(shí)施方式2的變形虛擬計(jì)算機(jī)系統(tǒng)是偽任務(wù)自身將自偽任務(wù)開(kāi)始執(zhí)行的情況經(jīng)由操作系統(tǒng)向虛擬計(jì)算機(jī)調(diào)度模塊通知的結(jié)構(gòu)的例子。以下,對(duì)于有關(guān)本實(shí)施方式2的變形虛擬計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu),以與有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)的不同點(diǎn)為中心,參照附圖進(jìn)行說(shuō)明。〈硬件結(jié)構(gòu)〉變形虛擬計(jì)算機(jī)系統(tǒng)為與有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100同樣的硬件結(jié)構(gòu)。由此,這里省略說(shuō)明。此外,以下,有關(guān)構(gòu)成變形虛擬計(jì)算機(jī)系統(tǒng)的硬件的各構(gòu)成要素的說(shuō)明,使用與構(gòu)成有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100的硬件的各構(gòu)成要素相同的符號(hào)來(lái)進(jìn)行?!闯绦蚰K結(jié)構(gòu)〉圖10是表示在某時(shí)刻t0在處理器101上成為執(zhí)行對(duì)象的模塊的框圖。在該圖中,模塊群1000是在處理器101中成為執(zhí)行對(duì)象的模塊的集合,包含在模塊群1000中的模塊分別保存在R0M102或RAM103的存儲(chǔ)區(qū)域中。模塊群1000是從有關(guān)實(shí)施方式I的模塊群300中將偽任務(wù)313變更為偽任務(wù)1013、追加調(diào)度任務(wù)1014、將偽任務(wù)執(zhí)行通知模塊335和偽任務(wù)執(zhí)行通知模塊345刪除、將任務(wù)調(diào)度變更模塊333、任務(wù)調(diào)度變更模塊343、保護(hù)任務(wù)生成模塊332、保護(hù)任務(wù)生成模塊342和虛擬計(jì)算機(jī)調(diào)度模塊363分別變更為任務(wù)調(diào)度變更模塊1033、任務(wù)調(diào)度變更模塊1043、保護(hù)任務(wù)生成模塊1032、保護(hù)任務(wù)生成模塊1042和虛擬計(jì)算機(jī)調(diào)度模塊1063的結(jié)構(gòu)。此外,隨著任務(wù)調(diào)度變更模塊333和保護(hù)任務(wù)生成模塊332分別被變更為任務(wù)調(diào)度變更模塊1033和保護(hù)任務(wù)生成模塊1032,第10S321被變形為第10S1021,隨著任務(wù)調(diào)度變更模塊343和保護(hù)任務(wù)生成模塊342分別被變更為任務(wù)調(diào)度變更模塊1043和保護(hù)任務(wù)生成模塊1042,第20S322被變形為第10S1022。進(jìn)而,隨著偽任務(wù)313被變更為偽任務(wù)1013、第10S321被變更為第10S1021,虛擬計(jì)算機(jī)301被變形為虛擬計(jì)算機(jī)1001,隨著追加調(diào)度任務(wù)1014、第20S322被變更為第20S1022,子虛擬計(jì)算機(jī)302被變形為子虛擬計(jì)算機(jī)1002。并且,隨著虛擬計(jì)算機(jī)調(diào)度模塊363被變更為虛擬計(jì)算機(jī)調(diào)度模塊1063,管理器351被變更為管理器1051。圖11 (a)是表示與偽任務(wù)1013對(duì)應(yīng)的偽程序1113的結(jié)構(gòu)的程序結(jié)構(gòu)圖。有關(guān)實(shí)施方式I的偽任務(wù)313是對(duì)應(yīng)的偽程序例如為由重復(fù)NOP的無(wú)限循環(huán)構(gòu)成的程序這樣的、不會(huì)產(chǎn)生新的任務(wù)的例如由重復(fù)NOP的無(wú)限循環(huán)構(gòu)成的程序。相對(duì)于此,有關(guān)實(shí)施方式2的偽任務(wù)1013的對(duì)應(yīng)的偽程序1113如圖11 (a)所示由第I部分1121和第2部分1122構(gòu)成。第I部分1121是經(jīng)由執(zhí)行控制與自偽程序?qū)?yīng)的偽任務(wù)(這里是偽任務(wù)1013)的操作系統(tǒng)(這里是第10S1021)向管理器1051所包含的虛擬計(jì)算機(jī)調(diào)度模塊1063進(jìn)行偽任務(wù)的執(zhí)行開(kāi)始的通知的記述。第2部分1122是對(duì)執(zhí)行控制自偽任務(wù)的操作系統(tǒng)(這里是第10S1021)請(qǐng)求將分配給自偽任務(wù)的時(shí)間分段放棄、將執(zhí)行的任務(wù)從自偽任務(wù)切換為其他任務(wù)的記述?!?br>
圖11 (b)表示與調(diào)度任務(wù)1014對(duì)應(yīng)的調(diào)度程序1117的結(jié)構(gòu)。調(diào)度任務(wù)1014的對(duì)應(yīng)的調(diào)度程序1117如圖11 (b)所示由第I部分1131和第2部分1132構(gòu)成。第I部分1131對(duì)執(zhí)行控制自調(diào)度任務(wù)的操作系統(tǒng)(這里是第20S1022)請(qǐng)求將分配給自調(diào)度任務(wù)的時(shí)間分段放棄、將執(zhí)行的任務(wù)從自調(diào)度任務(wù)切換為其他任務(wù)的記述。第2部分1132是經(jīng)由執(zhí)行控制與自調(diào)度程序?qū)?yīng)的調(diào)度任務(wù)(這里是調(diào)度任務(wù)1014)的操作系統(tǒng)(這里是第20S1022)對(duì)管理器1051所包含的虛擬計(jì)算機(jī)調(diào)度模塊1063請(qǐng)求將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從自任務(wù)所屬的子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)1002)切換為作為母機(jī)的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)的記述。再次回到圖10,繼續(xù)說(shuō)明在處理器101上成為執(zhí)行對(duì)象的模塊群。保護(hù)任務(wù)生成模塊1032是從有關(guān)實(shí)施方式I的保護(hù)任務(wù)生成模塊332將功能I變形為以下的變形功能I的模塊。變形功能I :在從管理器1051所包含的子虛擬計(jì)算機(jī)通知模塊362接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)是子虛擬計(jì)算機(jī)的通知的情況下,將保護(hù)對(duì)象應(yīng)用程序和調(diào)度程序啟動(dòng),在本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)內(nèi)分別生成保護(hù)任務(wù)(這里是保護(hù)任務(wù)316)和調(diào)度任務(wù)(這里是調(diào)度任務(wù)1014)。任務(wù)調(diào)度變更模塊1033是從有關(guān)實(shí)施方式I的任務(wù)調(diào)度變更模塊333將具有的功能變形為以下的兩個(gè)變形功能的模塊。變形功能I :在從管理器1051所包含的子虛擬計(jì)算機(jī)通知模塊362接受到本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)是子虛擬計(jì)算機(jī)的通知的情況下,在由本操作系統(tǒng)所包含的保護(hù)任務(wù)生成模塊(這里是保護(hù)任務(wù)生成模塊1032)生成保護(hù)任務(wù)和調(diào)度任務(wù)時(shí),將由本操作系統(tǒng)(這里是第10S1021)執(zhí)行的任務(wù)限定為保護(hù)任務(wù)和調(diào)度任務(wù)的功能。變形功能2 :在保護(hù)任務(wù)和調(diào)度任務(wù)為執(zhí)行控制對(duì)象的情況下,將之前執(zhí)行的任務(wù)作為調(diào)度任務(wù)。虛擬計(jì)算機(jī)調(diào)度模塊1063是從有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)調(diào)度模塊363將功能2變形為以下的變形功能2的模塊。變形功能2 :在子虛擬計(jì)算機(jī)(這里是子虛擬計(jì)算機(jī)1002)為執(zhí)行對(duì)象虛擬計(jì)算機(jī)的情況下,在經(jīng)由該子虛擬計(jì)算機(jī)1002的操作系統(tǒng)(這里是第20S1022)從調(diào)度任務(wù)(這里是調(diào)度任務(wù)1014)請(qǐng)求了將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為作為母機(jī)的虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)時(shí),將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為虛擬計(jì)算機(jī)1001。〈動(dòng)作〉在上述結(jié)構(gòu)的變形虛擬計(jì)算機(jī)系統(tǒng)中,將有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100進(jìn)行的特征性的動(dòng)作中的子虛擬計(jì)算機(jī)生成處理和保護(hù)任務(wù)執(zhí)行處理變形而進(jìn)行。以下,對(duì)這些動(dòng)作,以與有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)進(jìn)行的動(dòng)作的不同點(diǎn)為中心,參照附圖進(jìn)行說(shuō)明。這里,以下假設(shè)虛擬計(jì)算機(jī)1001沒(méi)有從子虛擬計(jì)算機(jī)通知模塊362接受到是子虛擬計(jì)算機(jī)的通知而進(jìn)行說(shuō)明。 <變形子虛擬計(jì)算機(jī)生成處理>變形子虛擬計(jì)算機(jī)生成處理是變形虛擬計(jì)算機(jī)系統(tǒng)生成用于執(zhí)行保護(hù)任務(wù)的新的子虛擬計(jì)算機(jī)的處理,是將有關(guān)實(shí)施方式I的子虛擬計(jì)算機(jī)生成處理的一部分變形的處理。圖12是變形子虛擬計(jì)算機(jī)生成處理的流程圖。變形子虛擬計(jì)算機(jī)生成處理與有關(guān)實(shí)施方式I的子虛擬計(jì)算機(jī)生成處理同樣,通過(guò)從在虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)中執(zhí)行控制的任務(wù)對(duì)包含在該虛擬計(jì)算機(jī)中的操作系統(tǒng)(這里是第10S1021)請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)而開(kāi)始。步驟S1200 步驟S1240的處理是與有關(guān)實(shí)施方式I的子虛擬計(jì)算機(jī)生成處理中的步驟S500 步驟S540的處理同樣的處理。由此,這里省略這些步驟的說(shuō)明。如果從子虛擬計(jì)算機(jī)通知模塊362進(jìn)行本操作系統(tǒng)所屬的虛擬計(jì)算機(jī)是子虛擬計(jì)算機(jī)的通知,則子虛擬計(jì)算機(jī)1002的保護(hù)任務(wù)生成模塊342將保護(hù)對(duì)象應(yīng)用程序和調(diào)度程序啟動(dòng),在子虛擬計(jì)算機(jī)1002內(nèi)生成保護(hù)任務(wù)316和調(diào)度任務(wù)1014 (步驟S1250)。并且,如果保護(hù)任務(wù)生成模塊342生成保護(hù)任務(wù)316和調(diào)度任務(wù)1014,則任務(wù)調(diào)度變更模塊343將由第20S1022執(zhí)行的任務(wù)限定于保護(hù)任務(wù)316和調(diào)度任務(wù)1014 (步驟S1260)。如果步驟S1260的處理結(jié)束,則變形虛擬計(jì)算機(jī)系統(tǒng)結(jié)束該變形子虛擬計(jì)算機(jī)生成處理。<變形保護(hù)任務(wù)執(zhí)行處理>變形子虛擬計(jì)算機(jī)生成處理是變形虛擬計(jì)算機(jī)系統(tǒng)生成用于執(zhí)行保護(hù)任務(wù)的新的子虛擬計(jì)算機(jī)的處理,是將有關(guān)實(shí)施方式I的子虛擬計(jì)算機(jī)生成處理的一部分變形的處理。圖13是變形保護(hù)任務(wù)執(zhí)行處理的流程圖。變形保護(hù)任務(wù)執(zhí)行處理與有關(guān)實(shí)施方式I的保護(hù)任務(wù)執(zhí)行處理同樣,通過(guò)在母虛擬計(jì)算機(jī)(這里是虛擬計(jì)算機(jī)1001)中偽任務(wù)1013被開(kāi)始執(zhí)行而開(kāi)始。在虛擬計(jì)算機(jī)1001中,如果作為分時(shí)執(zhí)行控制對(duì)象的偽任務(wù)1013被開(kāi)始執(zhí)行(步驟S1300),則偽任務(wù)1013進(jìn)行與對(duì)應(yīng)的偽程序1113的第I部分1121對(duì)應(yīng)的處理,經(jīng)由第10S1021向管理器1051所包含的虛擬計(jì)算機(jī)調(diào)度模塊1063進(jìn)行偽任務(wù)的執(zhí)行已開(kāi)始的通知(步驟S1305)。
如果經(jīng)由第10S1021進(jìn)行偽任務(wù)的執(zhí)行已開(kāi)始的通知,則虛擬計(jì)算機(jī)調(diào)度模塊1063將虛擬計(jì)算機(jī)1001的執(zhí)行暫時(shí)中斷,將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從虛擬計(jì)算機(jī)1001切換為子虛擬計(jì)算機(jī)1002 (步驟S1310)。如果將執(zhí)行對(duì)象虛擬計(jì)算機(jī)切換為子虛擬計(jì)算機(jī)1002,則子虛擬計(jì)算機(jī)1002首先開(kāi)始調(diào)度任務(wù)1014的執(zhí)行(步驟S1315)。如果調(diào)度任務(wù)1 014的執(zhí)行開(kāi)始,則調(diào)度任務(wù)1014進(jìn)行與對(duì)應(yīng)的調(diào)度程序1117的第I部分1131對(duì)應(yīng)的處理,對(duì)第20S1022請(qǐng)求將分配給自調(diào)度任務(wù)的時(shí)間分段放棄、將執(zhí)行的任務(wù)從自調(diào)度任務(wù)切換為其他任務(wù)(即,這里是保護(hù)任務(wù)316)(步驟S1320)。第20S1022如果被請(qǐng)求所執(zhí)行的任務(wù)的切換,則將調(diào)度任務(wù)1014的執(zhí)行暫時(shí)中斷,將執(zhí)行的任務(wù)從調(diào)度任務(wù)1014切換為保護(hù)任務(wù)316,執(zhí)行保護(hù)任務(wù)316 (步驟S1325)。然后,第20S1022如果經(jīng)過(guò)與分配給調(diào)度任務(wù)1014的時(shí)間分段值對(duì)應(yīng)的時(shí)間(步驟S1330),則將執(zhí)行的任務(wù)從保護(hù)任務(wù)316再次切換為調(diào)度任務(wù)1014,開(kāi)始執(zhí)行被中斷的調(diào)度任務(wù)1014 (步驟S1335)。如果調(diào)度任務(wù)1014再次被執(zhí)行,則調(diào)度任務(wù)1014進(jìn)行與對(duì)應(yīng)的調(diào)度程序1117的第2部分1132對(duì)應(yīng)的處理,經(jīng)由第20S1022對(duì)管理器1051所包含的虛擬計(jì)算機(jī)調(diào)度模塊1063請(qǐng)求將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為虛擬計(jì)算機(jī)1001 (步驟S1340)。虛擬計(jì)算機(jī)調(diào)度模塊1063如果經(jīng)由第20S1022有將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為虛擬計(jì)算機(jī)1001的請(qǐng)求,則將執(zhí)行對(duì)象虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為虛擬計(jì)算機(jī)1001 (步驟S1345)。如果執(zhí)行對(duì)象虛擬計(jì)算機(jī)被切換為虛擬計(jì)算機(jī)1001,則虛擬計(jì)算機(jī)1001開(kāi)始執(zhí)行被中斷的偽任務(wù)1013 (步驟S1350)。如果偽任務(wù)1013再次被執(zhí)行,則偽任務(wù)1013進(jìn)行與對(duì)應(yīng)的偽程序1113的第2部分1122對(duì)應(yīng)的處理,對(duì)第10S1021請(qǐng)求將分配給自偽任務(wù)的時(shí)間分段放棄、將執(zhí)行的任務(wù)從自偽任務(wù)切換為其他任務(wù)(步驟S1355)。第20S1022如果被請(qǐng)求執(zhí)行的任務(wù)的切換,則將執(zhí)行的任務(wù)從偽任務(wù)1013切換為偽任務(wù)1013以外的任務(wù)并執(zhí)行(步驟S1360)。然后,如果再次在虛擬計(jì)算機(jī)1001中所執(zhí)行的任務(wù)從偽任務(wù)1013以外的任務(wù)切換為偽任務(wù)1013 (步驟S1365),則再次回到步驟S1300的處理,重復(fù)步驟S1300以下的處理。圖14是示意地表示在變形保護(hù)任務(wù)執(zhí)行處理中由變形虛擬計(jì)算機(jī)系統(tǒng)執(zhí)行的任務(wù)的不意圖。在虛擬計(jì)算機(jī)301中,如果在時(shí)刻tl所執(zhí)行的任務(wù)從偽任務(wù)1013以外的任務(wù)切換為偽任務(wù)1013、偽任務(wù)1013被開(kāi)始執(zhí)行(步驟S1300),則對(duì)虛擬計(jì)算機(jī)調(diào)度模塊1063進(jìn)行偽任務(wù)的執(zhí)行已開(kāi)始的通知(步驟S1305),執(zhí)行的虛擬計(jì)算機(jī)從虛擬計(jì)算機(jī)1001切換為子虛擬計(jì)算機(jī)1002(步驟S1310),在子虛擬計(jì)算機(jī)1002中執(zhí)行調(diào)度任務(wù)1014(步驟S1315)。如果調(diào)度任務(wù)1014被執(zhí)行,則第20S1022被請(qǐng)求將執(zhí)行的任務(wù)切換為保護(hù)任務(wù)316 (步驟S1320),開(kāi)始執(zhí)行保護(hù)任務(wù)316 (步驟S1325)。然后,如果在時(shí)刻t2經(jīng)過(guò)與分配給保護(hù)任務(wù)的時(shí)間分段值對(duì)應(yīng)的時(shí)間(步驟S1330),則第20S1022將執(zhí)行的任務(wù)切換為調(diào)度任務(wù)1014并執(zhí)行(步驟S1335),對(duì)虛擬計(jì)算機(jī)調(diào)度模塊1063進(jìn)行請(qǐng)求以將執(zhí)行對(duì)象虛擬計(jì)算機(jī)切換為虛擬計(jì)算機(jī)1001(步驟S1340),執(zhí)行的虛擬計(jì)算機(jī)從子虛擬計(jì)算機(jī)1002切換為虛擬計(jì)算機(jī)1001 (步驟S1345),在虛擬計(jì)算機(jī)1001中執(zhí)行偽任務(wù)1013 (步驟S1350)。如果偽任務(wù)1013被執(zhí)行,則第10S1021被請(qǐng)求將執(zhí)行的任務(wù)切換為其他任務(wù)(步驟S1355),所執(zhí)行的任務(wù)切換為其他任務(wù)(步驟S1360)?!纯偨Y(jié)〉上述有關(guān)實(shí)施方式2的變形虛擬計(jì)算機(jī)系統(tǒng)與有關(guān)實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100同樣,即使在虛擬計(jì)算機(jī)當(dāng)作執(zhí)行對(duì)象的應(yīng)用程序中包含有攻擊保護(hù)對(duì)象應(yīng)用程序的惡意軟件的情況下,也能夠?qū)⒂稍搻阂廛浖舯Wo(hù)對(duì)象應(yīng)用程序的危險(xiǎn)性抑制得比以往低。 此外,有關(guān)實(shí)施方式2的變形虛擬計(jì)算機(jī)系統(tǒng)與有關(guān)本實(shí)施方式I的虛擬計(jì)算機(jī)系統(tǒng)100同樣,由作為母機(jī)的虛擬計(jì)算機(jī)執(zhí)行的任務(wù)與由作為子機(jī)的虛擬計(jì)算機(jī)執(zhí)行的任務(wù)不會(huì)重復(fù)。< 補(bǔ)充 >以上,作為有關(guān)本發(fā)明的虛擬計(jì)算機(jī)系統(tǒng)的一實(shí)施方式,在實(shí)施方式I、實(shí)施方式2中,對(duì)兩個(gè)虛擬計(jì)算機(jī)系統(tǒng)的例子進(jìn)行了說(shuō)明,但也可以如以下這樣變形,本發(fā)明當(dāng)然不限定于在上述實(shí)施方式中示出的虛擬計(jì)算機(jī)系統(tǒng)。(I)在實(shí)施方式I中,對(duì)虛擬計(jì)算機(jī)系統(tǒng)100具備I個(gè)處理器的情況下的例子進(jìn)行了說(shuō)明,但只要管理器能夠進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制,處理器的數(shù)量并不一定需要限定于I個(gè),例如也可以是2個(gè)、3個(gè)等的多個(gè)。在處理器的數(shù)量是多個(gè)的情況下,管理器不需要是一定將虛擬計(jì)算機(jī)的執(zhí)行以分時(shí)進(jìn)行的結(jié)構(gòu),也可以是使多個(gè)虛擬計(jì)算機(jī)并行地執(zhí)行的結(jié)構(gòu)。(2)在實(shí)施方式I中,對(duì)處理器101、R0M102、RAM103、定時(shí)器104、內(nèi)部總線120、第I接口 121、第2接口 122、和第3接口 123集成在I個(gè)集成電路110中的情況下的例子進(jìn)行了說(shuō)明,但并不一定需要將這些電路集成在I個(gè)集成電路中。例如,也可以是將處理器101集成在第I集成電路中、將其他電路集成在第2集成電路中的結(jié)構(gòu),例如也可以是將各電路分別集成在相互不同的集成電路中的結(jié)構(gòu)。進(jìn)而,集成電路110也可以通過(guò)在制造后能夠進(jìn)行功能性的編程的FPGA (FieldProgrammable Gate Array)實(shí)現(xiàn),也可以通過(guò)能夠進(jìn)行功能的再構(gòu)成的可重構(gòu)處理器實(shí)現(xiàn)。(3)在實(shí)施方式I中,以處理器101具備兩個(gè)動(dòng)作模式的結(jié)構(gòu)的情況為例進(jìn)行了說(shuō)明,但只要是能夠以與執(zhí)行操作系統(tǒng)的模式同等或其以上的較高的特權(quán)模式執(zhí)行管理器的結(jié)構(gòu),動(dòng)作模式的數(shù)量并不需要限定于兩個(gè),例如也可以是3個(gè)以上。在此情況下,能夠?qū)?zhí)行管理器的動(dòng)作模式設(shè)為比執(zhí)行操作系統(tǒng)高的特權(quán)模式。(4)在實(shí)施方式I中,以通過(guò)分叉形式進(jìn)行虛擬計(jì)算機(jī)的生成的結(jié)構(gòu)的情況為例進(jìn)行了說(shuō)明。這是為了通過(guò)將虛擬計(jì)算機(jī)的生成以分叉形式進(jìn)行來(lái)有效地利用RAM103的存儲(chǔ)區(qū)域。但是,只要能夠容許RAM103的存儲(chǔ)區(qū)域的利用效率的非效率性,則在基于作為母機(jī)的虛擬計(jì)算機(jī)來(lái)生成子虛擬計(jì)算機(jī)的情況下,并不一定需要以分叉形式進(jìn)行。作為一例,可以考慮通過(guò)以分配給作為母機(jī)的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域與分配給新生成的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域I對(duì)I地對(duì)應(yīng)的方式將分配給作為母機(jī)的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域復(fù)制到新生成的虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域,來(lái)生成新的虛擬計(jì)算機(jī)的形式等。此外,像這樣在子虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域是從母虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域復(fù)制的區(qū)域等情況下,這些存儲(chǔ)區(qū)域并不一定需要以寫(xiě)時(shí)復(fù)制方式管理。(5)在實(shí)施方式I中,說(shuō)明了啟動(dòng)請(qǐng)求檢測(cè)模塊(例如啟動(dòng)請(qǐng)求檢測(cè)模塊331)、保護(hù)任務(wù)生成模塊(例如保護(hù)任務(wù)生成模塊332)、任務(wù)調(diào)度變更模塊(例如任務(wù)調(diào)度變更模塊333)、保護(hù)任務(wù)結(jié)束通知模塊(例如保護(hù)任務(wù)結(jié)束通知模塊334)、偽任務(wù)執(zhí)行通知模塊(例如偽任務(wù)執(zhí)行通知模塊335)包含在虛擬計(jì)算機(jī)內(nèi)的操作系統(tǒng)(例如第10S321)中的結(jié)構(gòu)的例子,但只要在虛擬計(jì)算機(jī)系統(tǒng)100中實(shí)現(xiàn)與由這些模塊實(shí)現(xiàn)的功能同等的功能,則這些 模塊并不一定需要包含在虛擬計(jì)算機(jī)內(nèi)的操作系統(tǒng)中,例如也可以是包含在管理器351中的結(jié)構(gòu)。例如,與偽任務(wù)執(zhí)行通知模塊335同等的功能通過(guò)如下結(jié)構(gòu)來(lái)實(shí)現(xiàn),即設(shè)定為如果偽任務(wù)313被執(zhí)行,則對(duì)作為寫(xiě)入禁止區(qū)域的規(guī)定的存儲(chǔ)區(qū)域進(jìn)行寫(xiě)入,管理器351具備對(duì)因向上述規(guī)定的存儲(chǔ)區(qū)域的寫(xiě)入違反而發(fā)生的例外進(jìn)行補(bǔ)充的模塊。(6)以下,再對(duì)有關(guān)本發(fā)明的一實(shí)施方式的虛擬計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)及其變形例和各效果進(jìn)行說(shuō)明。(a)有關(guān)本發(fā)明的一實(shí)施方式的虛擬計(jì)算機(jī)系統(tǒng),是具備處理器和在該處理器上執(zhí)行、用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制的管理器的虛擬計(jì)算機(jī)系統(tǒng),其特征在于,上述管理器具有執(zhí)行檢測(cè)部,用于檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序;以及虛擬計(jì)算機(jī)生成部,用于在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)部檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī);由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行控制部,該執(zhí)行控制部用于在上述第2虛擬計(jì)算機(jī)中使上述處理器僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。根據(jù)具備上述結(jié)構(gòu)的有關(guān)本實(shí)施方式的虛擬計(jì)算機(jī)系統(tǒng),將已認(rèn)證應(yīng)用程序作為規(guī)定的應(yīng)用程序,將未認(rèn)證應(yīng)用程序不包含于指定程序群中,由此在執(zhí)行已認(rèn)證應(yīng)用程序的第2虛擬計(jì)算機(jī)中,未認(rèn)證應(yīng)用程序不會(huì)被執(zhí)行,進(jìn)而,在未認(rèn)證應(yīng)用程序有可能被執(zhí)行的第I虛擬計(jì)算機(jī)中,已認(rèn)證應(yīng)用程序不會(huì)被執(zhí)行。因而,即使在虛擬計(jì)算機(jī)當(dāng)作執(zhí)行對(duì)象的應(yīng)用程序中混合存在已認(rèn)證應(yīng)用程序和未認(rèn)證應(yīng)用程序的情況下,也能夠?qū)⒁虬谖凑J(rèn)證應(yīng)用程序中的惡意軟件被執(zhí)行而導(dǎo)致已認(rèn)證應(yīng)用程序被攻擊的危險(xiǎn)性抑制得比以往低。圖15是表示上述變形例的虛擬計(jì)算機(jī)系統(tǒng)1500的結(jié)構(gòu)的結(jié)構(gòu)圖。如該圖所示,虛擬計(jì)算機(jī)系統(tǒng)1500具備處理器1510和管理器1520。處理器1510具備執(zhí)行管理器1520的功能。作為一例,作為實(shí)施方式I的處理器101實(shí)現(xiàn)。管理器1520具有通過(guò)在處理器1510上被執(zhí)行而使處理器1510進(jìn)行多個(gè)虛擬計(jì)算機(jī)(這里,第I虛擬計(jì)算機(jī)1530和第2虛擬計(jì)算機(jī)1540)的執(zhí)行控制的功能。作為一例,作為實(shí)施方式I的管理器351實(shí)現(xiàn)。此外,該管理器1520具有執(zhí)行檢測(cè)部1521和虛擬計(jì)算機(jī)生成部1522。執(zhí)行檢測(cè)部1521具有檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序的功能。作為一例,作為實(shí)施方式I的虛擬計(jì)算機(jī)生成模塊361中的、實(shí)現(xiàn)從虛擬計(jì)算機(jī)的啟動(dòng)請(qǐng)求檢測(cè)模塊331受理被請(qǐng)求保護(hù)對(duì)象應(yīng)用程序的啟動(dòng)的通知的功能的部分實(shí)現(xiàn)。虛擬計(jì)算機(jī)生成部1522具有在由處理器1510執(zhí)行的執(zhí)行檢測(cè)部1521檢測(cè)到在第I虛擬計(jì)算機(jī)1530中要新執(zhí)行規(guī)定的應(yīng)用程序的情況下、基于第I虛擬計(jì)算機(jī)1530生成用于執(zhí)行規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī)1540的功能。第I虛擬計(jì)算機(jī)1530是由處理器1510進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì) 算機(jī)中的I個(gè)。作為一例,作為實(shí)施方式I的虛擬計(jì)算機(jī)301實(shí)現(xiàn)。此外,該第I虛擬計(jì)算機(jī)1530具有執(zhí)行控制部1531。執(zhí)行控制部1531具有在第2虛擬計(jì)算機(jī)1540中使處理器1510僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群、在第I虛擬計(jì)算機(jī)1530中使處理器1510代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序的功能。作為一例,作為由實(shí)施方式I的保護(hù)任務(wù)生成模塊342和任務(wù)調(diào)度變更模塊343構(gòu)成的模塊實(shí)現(xiàn)。第2虛擬計(jì)算機(jī)1540是由處理器1510進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)中的I個(gè)。作為一例,作為實(shí)施方式I的子虛擬計(jì)算機(jī)302實(shí)現(xiàn)。此外,該第2虛擬計(jì)算機(jī)1540具備具有與執(zhí)行控制部1531同樣的功能的執(zhí)行控制部1532。(b)此外,也可以是,上述虛擬計(jì)算機(jī)生成部在基于上述第I虛擬計(jì)算機(jī)生成新的上述第2虛擬計(jì)算機(jī)的情況下,以基于分配給上述第I虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域的分叉方式進(jìn)行對(duì)上述第2虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域的分配。通過(guò)做成這樣的結(jié)構(gòu),第I虛擬計(jì)算機(jī)和第2虛擬計(jì)算機(jī)共用所利用的存儲(chǔ)區(qū)域的一部分。由此,能夠有效利用存儲(chǔ)區(qū)域。(C)此外,也可以是,上述管理器具有虛擬計(jì)算機(jī)調(diào)度部,該虛擬計(jì)算機(jī)調(diào)度部用于在成為上述處理器的執(zhí)行對(duì)象的上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序被開(kāi)始執(zhí)行的情況下,在上述第2虛擬計(jì)算機(jī)已被生成時(shí),將成為上述處理器的執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從上述第I虛擬計(jì)算機(jī)變更為上述第2虛擬計(jì)算機(jī)。通過(guò)做成這樣的結(jié)構(gòu),能夠以第I虛擬計(jì)算機(jī)中的偽程序的執(zhí)行的開(kāi)始為契機(jī),將作為執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從第I虛擬計(jì)算機(jī)切換為第2虛擬計(jì)算機(jī)。(d)此外,也可以是,上述虛擬計(jì)算機(jī)調(diào)度部在成為上述處理器的執(zhí)行對(duì)象的上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,將成為上述處理器的執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為上述第I虛擬計(jì)算機(jī)。通過(guò)做成這樣的結(jié)構(gòu),能夠以第2虛擬計(jì)算機(jī)中的規(guī)定的應(yīng)用程序的執(zhí)行的結(jié)束為契機(jī),將作為執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從第2虛擬計(jì)算機(jī)切換為第I虛擬計(jì)算機(jī)。(e)此外,也可以是,上述管理器具有虛擬計(jì)算機(jī)清除部,該虛擬計(jì)算機(jī)清除部用于在成為上述處理器的執(zhí)行對(duì)象的上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,在上述虛擬計(jì)算機(jī)調(diào)度部將上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為了上述第I虛擬計(jì)算機(jī)時(shí),將使上述第2虛擬計(jì)算機(jī)清除。
通過(guò)做成這樣的結(jié)構(gòu),能夠以第2虛擬計(jì)算機(jī)中的規(guī)定的應(yīng)用程序的執(zhí)行的結(jié)束為契機(jī),將第2虛擬計(jì)算機(jī)清除。(f)此外,也可以是,上述執(zhí)行控制部具有用于使上述處理器以使用時(shí)間分段值進(jìn)行的多任務(wù)執(zhí)行控制方法執(zhí)行程序的執(zhí)行控制的多任務(wù)執(zhí)行控制部;上述多任務(wù)執(zhí)行控制部在由上述處理器執(zhí)行的上述執(zhí)行控制部使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行上述規(guī)定的偽程序的情況下,將與分配給上述規(guī)定的應(yīng)用程序的時(shí)間分段值相同的值的時(shí)間分段值分配給上述規(guī)定的偽程序;上述虛擬計(jì)算機(jī)調(diào)度部在從上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序成為上述處理器的執(zhí)行對(duì)象的時(shí)刻起經(jīng)過(guò)了由分配給上述規(guī)定的偽程序的時(shí)間分段值表示的時(shí)間的情況下,當(dāng)上述第2虛擬計(jì)算機(jī)成為了上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)時(shí),將上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為上述第I虛擬計(jì)算機(jī)。通過(guò)做成這樣的結(jié)構(gòu),能夠以從在第I虛擬計(jì)算機(jī)中規(guī)定的偽程序被執(zhí)行后起經(jīng)過(guò)由分配給規(guī)定的應(yīng)用程序的時(shí)間分段值表示的期間為契機(jī),將執(zhí)行的虛擬計(jì)算機(jī)從第2虛擬計(jì)算機(jī)切換為第I虛擬計(jì)算機(jī)?!?g)此外,也可以是,具有子虛擬計(jì)算機(jī)通知部,該子虛擬計(jì)算機(jī)通知部用于在由上述處理器執(zhí)行的上述虛擬計(jì)算機(jī)生成部生成了上述第2虛擬計(jì)算機(jī)的情況下向上述第2虛擬計(jì)算機(jī)的上述執(zhí)行控制部進(jìn)行是子虛擬計(jì)算機(jī)的通知;上述執(zhí)行控制部具有執(zhí)行開(kāi)始部,該執(zhí)行開(kāi)始部用于在上述第2虛擬計(jì)算機(jī)中被上述子虛擬計(jì)算機(jī)通知部通知是子虛擬計(jì)算機(jī)時(shí),使上述處理器在上述第2虛擬計(jì)算機(jī)中啟動(dòng)上述規(guī)定的應(yīng)用程序。通過(guò)做成這樣的結(jié)構(gòu),如果生成第2虛擬計(jì)算機(jī),則在所生成的第2虛擬計(jì)算機(jī)中啟動(dòng)規(guī)定的應(yīng)用程序。(h)此外,也可以是,上述指定程序群僅由不包含攻擊上述規(guī)定的應(yīng)用程序的惡意軟件的程序構(gòu)成。通過(guò)做成這樣的結(jié)構(gòu),能夠在第2虛擬計(jì)算機(jī)中消除來(lái)自惡意軟件的對(duì)規(guī)定的應(yīng)用程序的攻擊。(i)此外,也可以是,由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有通知部,該通知部檢測(cè)在本虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序,將要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況通知給上述執(zhí)行檢測(cè)部;上述執(zhí)行檢測(cè)部通過(guò)被由上述處理器執(zhí)行的上述通知部通知要新執(zhí)行上述規(guī)定的應(yīng)用程序,來(lái)進(jìn)行要新執(zhí)行上述規(guī)定的應(yīng)用程序的檢測(cè)。通過(guò)做成這樣的結(jié)構(gòu),能夠在該虛擬計(jì)算機(jī)中檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序的情況。(j)此外,也可以是,由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有偽程序執(zhí)行開(kāi)始通知部,該偽程序執(zhí)行開(kāi)始通知部用于在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序的情況下,向上述虛擬計(jì)算機(jī)調(diào)度部通知在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序;上述虛擬計(jì)算機(jī)調(diào)度部通過(guò)被由上述處理器執(zhí)行的上述第I虛擬計(jì)算機(jī)的上述偽程序執(zhí)行開(kāi)始通知部通知在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序,來(lái)檢測(cè)在上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序被開(kāi)始執(zhí)行。通過(guò)做成這樣的結(jié)構(gòu),能夠在該虛擬計(jì)算機(jī)中檢測(cè)在虛擬計(jì)算機(jī)中開(kāi)始執(zhí)行規(guī)定的偽程序的情況。(k)此外,也可以是,由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行結(jié)束通知部,該執(zhí)行結(jié)束通知部用于在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,向上述虛擬計(jì)算機(jī)調(diào)度部通知在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行;上述虛擬計(jì)算機(jī)調(diào)度部通過(guò)被由上述處理器執(zhí)行的上述第2虛擬計(jì)算機(jī)的上述執(zhí)行結(jié)束通知部通知在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行,來(lái)檢測(cè)在上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行。通過(guò)做成這樣的結(jié)構(gòu),能夠在該虛擬計(jì)算機(jī)中檢測(cè)在虛擬計(jì)算機(jī)中規(guī)定的應(yīng)用程序的執(zhí)行結(jié)束的情況。工業(yè)實(shí)用性本發(fā)明能夠在虛擬計(jì)算機(jī)系統(tǒng)中廣泛使用。符號(hào)說(shuō)明100虛擬計(jì)算機(jī)系統(tǒng)110集成電路101處理器102R0M103RAM104定時(shí)器120內(nèi)部總線131輸入裝置132輸出裝置133硬盤(pán)裝置300模塊群301虛擬計(jì)算機(jī)302子虛擬計(jì)算機(jī)313偽任務(wù)316保護(hù)任務(wù)321 第 IOS322 第 20S331、341啟動(dòng)請(qǐng)求檢測(cè)模塊332、342保護(hù)任務(wù)生成模塊333、343任務(wù)調(diào)度變更模塊334、344保護(hù)任務(wù)結(jié)束通知模塊335、345偽任務(wù)執(zhí)行通知模塊336、346保護(hù)任務(wù)對(duì)應(yīng)表351管理器361虛擬計(jì)算機(jī)生成模塊362子虛擬計(jì)算機(jī)通知模塊363虛擬計(jì)算機(jī)調(diào)度模塊
364虛擬 計(jì)算機(jī)清除模塊
權(quán)利要求
1.一種虛擬計(jì)算機(jī)系統(tǒng),具備 處理器;以及 管理器,在該處理器上執(zhí)行,用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制; 上述虛擬計(jì)算機(jī)系統(tǒng)的特征在于, 上述管理器具有 執(zhí)行檢測(cè)部,用于檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序;以及虛擬計(jì)算機(jī)生成部,用于在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)部檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī); 由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行控制部,該執(zhí)行控制部用于在上述第2虛擬計(jì)算機(jī)中使上述處理器僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。
2.如權(quán)利要求I所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述虛擬計(jì)算機(jī)生成部在基于上述第I虛擬計(jì)算機(jī)生成新的上述第2虛擬計(jì)算機(jī)的情況下,以基于分配給上述第I虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域的分叉方式進(jìn)行對(duì)上述第2虛擬計(jì)算機(jī)的存儲(chǔ)區(qū)域的分配。
3.如權(quán)利要求2所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述管理器具有虛擬計(jì)算機(jī)調(diào)度部,該虛擬計(jì)算機(jī)調(diào)度部用于在成為上述處理器的執(zhí)行對(duì)象的上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序被開(kāi)始執(zhí)行的情況下,在上述第2虛擬計(jì)算機(jī)已被生成時(shí),將成為上述處理器的執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從上述第I虛擬計(jì)算機(jī)變更為上述第2虛擬計(jì)算機(jī)。
4.如權(quán)利要求3所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述虛擬計(jì)算機(jī)調(diào)度部在成為上述處理器的執(zhí)行對(duì)象的上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,將成為上述處理器的執(zhí)行對(duì)象的虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為上述第I虛擬計(jì)算機(jī)。
5.如權(quán)利要求4所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述管理器具有虛擬計(jì)算機(jī)清除部,該虛擬計(jì)算機(jī)清除部用于在成為上述處理器的執(zhí)行對(duì)象的上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,在上述虛擬計(jì)算機(jī)調(diào)度部將上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為了上述第I虛擬計(jì)算機(jī)時(shí),將上述第2虛擬計(jì)算機(jī)清除。
6.如權(quán)利要求5所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述執(zhí)行控制部具有多任務(wù)執(zhí)行控制部,該多任務(wù)執(zhí)行控制部用于使上述處理器以利用時(shí)間分段值進(jìn)行的多任務(wù)執(zhí)行控制方法執(zhí)行程序的執(zhí)行控制; 上述多任務(wù)執(zhí)行控制部在由上述處理器執(zhí)行的上述執(zhí)行控制部使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行上述規(guī)定的偽程序的情況下,將與分配給上述規(guī)定的應(yīng)用程序的時(shí)間分段值相同的值的時(shí)間分段值分配給上述規(guī)定的偽程序; 上述虛擬計(jì)算機(jī)調(diào)度部在從上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序成為上述處理器的執(zhí)行對(duì)象的時(shí)點(diǎn)起經(jīng)過(guò)了由分配給上述規(guī)定的偽程序的時(shí)間分段值表示的時(shí)間的情況下,在上述第2虛擬計(jì)算機(jī)成為了上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)時(shí),將上述處理器的執(zhí)行對(duì)象虛擬計(jì)算機(jī)從上述第2虛擬計(jì)算機(jī)變更為上述第I虛擬計(jì)算機(jī)。
7.如權(quán)利要求6所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 具有子虛擬計(jì)算機(jī)通知部,該子虛擬計(jì)算機(jī)通知部用于在由上述處理器執(zhí)行的上述虛擬計(jì)算機(jī)生成部生成了上述第2虛擬計(jì)算機(jī)的情況下,向上述第2虛擬計(jì)算機(jī)的上述執(zhí)行控制部通知是子虛擬計(jì)算機(jī); 上述執(zhí)行控制部具有執(zhí)行開(kāi)始部,該執(zhí)行開(kāi)始部用于在上述第2虛擬計(jì)算機(jī)中被上述子虛擬計(jì)算機(jī)通知部通知是子虛擬計(jì)算機(jī)時(shí),使上述處理器在上述第2虛擬計(jì)算機(jī)中啟動(dòng)上述規(guī)定的應(yīng)用程序。
8.如權(quán)利要求7所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 上述指定程序群僅由不包含攻擊上述規(guī)定的應(yīng)用程序的惡意軟件的程序構(gòu)成。
9.如權(quán)利要求7所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有通知部,該通知部檢測(cè)在本虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序,向上述執(zhí)行檢測(cè)部通知要新執(zhí)行上述規(guī)定的應(yīng)用程序; 上述執(zhí)行檢測(cè)部通過(guò)被由上述處理器執(zhí)行的上述通知部通知要新執(zhí)行上述規(guī)定的應(yīng)用程序,來(lái)進(jìn)行要新執(zhí)行上述規(guī)定的應(yīng)用程序的檢測(cè)。
10.如權(quán)利要求7所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有偽程序執(zhí)行開(kāi)始通知部,該偽程序執(zhí)行開(kāi)始通知部用于在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序的情況下,向上述虛擬計(jì)算機(jī)調(diào)度部通知在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序; 上述虛擬計(jì)算機(jī)調(diào)度部通過(guò)被由上述處理器執(zhí)行的上述第I虛擬計(jì)算機(jī)的上述偽程序執(zhí)行開(kāi)始通知部通知在本虛擬計(jì)算機(jī)中由上述處理器開(kāi)始執(zhí)行上述規(guī)定的偽程序,來(lái)檢測(cè)在上述第I虛擬計(jì)算機(jī)中上述規(guī)定的偽程序被開(kāi)始執(zhí)行。
11.如權(quán)利要求7所述的虛擬計(jì)算機(jī)系統(tǒng),其特征在于, 由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行結(jié)束通知部,該執(zhí)行結(jié)束通知部用于在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行的情況下,向上述虛擬計(jì)算機(jī)調(diào)度部通知在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行; 上述虛擬計(jì)算機(jī)調(diào)度部通過(guò)被由上述處理器執(zhí)行的上述第2虛擬計(jì)算機(jī)的上述執(zhí)行結(jié)束通知部通知在本虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行,來(lái)檢測(cè)在上述第2虛擬計(jì)算機(jī)中上述規(guī)定的應(yīng)用程序結(jié)束執(zhí)行。
12.—種虛擬計(jì)算機(jī)控制方法,是控制虛擬計(jì)算機(jī)系統(tǒng)的方法,該虛擬計(jì)算機(jī)系統(tǒng)具備 處理器;以及 管理器,在該處理器上執(zhí)行,用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制; 上述虛擬計(jì)算機(jī)控制方法的特征在于,包括 執(zhí)行檢測(cè)步驟,上述管理器檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序; 虛擬計(jì)算機(jī)生成步驟,上述管理器在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)步驟中檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī);以及 執(zhí)行控制步驟,由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別在上述第2虛擬計(jì)算機(jī)中使上述處理器僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。
13.—種虛擬計(jì)算機(jī)控制程序,控制虛擬計(jì)算機(jī)系統(tǒng),該虛擬計(jì)算機(jī)系統(tǒng)具備 處理器;以及 管理器,在該處理器上執(zhí)行,用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制; 上述虛擬計(jì)算機(jī)控制程序的特征在于,包括 執(zhí)行檢測(cè)步驟,上述管理器檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序; 虛擬計(jì)算機(jī)生成步驟,上述管理器在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)步驟中檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī);以及 執(zhí)行控制步驟,由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別在上述第2虛擬計(jì)算機(jī)中使上述處理器僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。
14.一種半導(dǎo)體集成電路,具備 處理器;以及 管理器,在該處理器上執(zhí)行,用于使該處理器進(jìn)行多個(gè)虛擬計(jì)算機(jī)的執(zhí)行控制; 上述半導(dǎo)體集成電路的特征在于, 上述管理器具有 執(zhí)行檢測(cè)部,用于檢測(cè)在虛擬計(jì)算機(jī)中要新執(zhí)行規(guī)定的應(yīng)用程序;以及虛擬計(jì)算機(jī)生成部,用于在由上述處理器執(zhí)行的上述執(zhí)行檢測(cè)部檢測(cè)到在第I虛擬計(jì)算機(jī)中要新執(zhí)行上述規(guī)定的應(yīng)用程序的情況下,基于該第I虛擬計(jì)算機(jī),生成用于執(zhí)行上述規(guī)定的應(yīng)用程序的新的第2虛擬計(jì)算機(jī); 由上述處理器進(jìn)行執(zhí)行控制的多個(gè)虛擬計(jì)算機(jī)分別具有執(zhí)行控制部,該執(zhí)行控制部用于在上述第2虛擬計(jì)算機(jī)中使上述處理器僅限于執(zhí)行包括上述規(guī)定的應(yīng)用程序的指定程序群,在上述第I虛擬計(jì)算機(jī)中使上述處理器代替上述規(guī)定的應(yīng)用程序而執(zhí)行規(guī)定的偽程序。
全文摘要
在執(zhí)行中的虛擬計(jì)算機(jī)中,在預(yù)先設(shè)定的指定的應(yīng)用程序成為執(zhí)行對(duì)象的情況下,以該執(zhí)行中的虛擬計(jì)算機(jī)為母虛擬計(jì)算機(jī),以分叉方式生成用于執(zhí)行該指定的應(yīng)用程序的子虛擬計(jì)算機(jī)。并且,生成的子虛擬計(jì)算機(jī)設(shè)定為不執(zhí)行該指定的應(yīng)用程序以外的應(yīng)用程序。另一方面,母虛擬計(jì)算機(jī)代替該指定的應(yīng)用程序而執(zhí)行偽應(yīng)用程序。
文檔編號(hào)G06F21/56GK102959555SQ20128000181
公開(kāi)日2013年3月6日 申請(qǐng)日期2012年2月21日 優(yōu)先權(quán)日2011年4月27日
發(fā)明者天野克重, 齋藤雅彥 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社