本發(fā)明的實(shí)施例大體上涉及數(shù)據(jù)處理的技術(shù)領(lǐng)域,并且更具體地涉及可操作用于執(zhí)行具有智能虛擬機(jī)功率管理的虛擬機(jī)的計(jì)算裝置。
背景技術(shù):
在此提供的背景描述用于大體上呈現(xiàn)本公開的上下文的目的。目前列出的發(fā)明人的工作,就其在該背景技術(shù)部分描述的程度,以及不可以以其他方式有資格作為提交時(shí)的現(xiàn)有技術(shù)的描述的方面,都既未明示也未暗示地承認(rèn)作為針對(duì)本公開的現(xiàn)有技術(shù)。除非在此另有所指,否則在該部分中描述的方法不是本公開中的權(quán)利要求的現(xiàn)有技術(shù)并且不因它們包括在該部分中而承認(rèn)是現(xiàn)有技術(shù)。
計(jì)算裝置可以適于執(zhí)行模擬真實(shí)計(jì)算裝置的虛擬機(jī)。虛擬機(jī)進(jìn)行的模擬將基于真實(shí)計(jì)算裝置的架構(gòu)、模型等來操作,并且將因此允許應(yīng)用在類似于真實(shí)計(jì)算裝置的虛擬機(jī)內(nèi)執(zhí)行。因此,虛擬機(jī)可以促進(jìn)為應(yīng)用提供平臺(tái)的賓客操作系統(tǒng)的執(zhí)行。
賓客操作系統(tǒng)仍然消耗計(jì)算資源來執(zhí)行功能,即使在應(yīng)用在虛擬機(jī)上不活躍時(shí)也是如此。例如,賓客操作系統(tǒng)可以要求處理器周期來執(zhí)行指令。指令的執(zhí)行可以遵循傳統(tǒng)策略,諸如先進(jìn)先出或循環(huán)法。在功率消耗受到關(guān)注的真實(shí)世界場(chǎng)景中,這樣的策略對(duì)于執(zhí)行虛擬機(jī)的計(jì)算裝置的用戶來說可能是不可接受的。
附圖說明
本發(fā)明的實(shí)施例通過示例的方式而非通過限制的方式圖示在附圖中的各個(gè)圖中,在附圖中類似標(biāo)記指示相似元件。應(yīng)注意,在本公開中提及本發(fā)明的“一”或“一個(gè)”實(shí)施例并不必然是提及相同實(shí)施例,并且它們可以意味著至少一個(gè)。
圖1是根據(jù)各種實(shí)施例的圖示計(jì)算裝置的方框圖,該計(jì)算裝置包括用于管理在計(jì)算裝置上操作的虛擬機(jī)的功率消耗的虛擬機(jī)功率管理特征。
圖2是根據(jù)各種實(shí)施例的圖示通信模塊的方框圖,該通信模塊用于無線地接收和傳輸可以防止虛擬機(jī)轉(zhuǎn)變到空閑狀態(tài)的數(shù)據(jù)。
圖3是根據(jù)各種實(shí)施例的圖示便攜式電子裝置的方框圖,該便攜式電子裝置包括用于管理由便攜式電子裝置上的虛擬機(jī)的功率消耗的虛擬機(jī)功率管理特征。
圖4是根據(jù)各種實(shí)施例的圖示包括智能虛擬機(jī)功率管理器的系統(tǒng)的方框圖。
圖5是根據(jù)各種實(shí)施例的圖示包括智能虛擬機(jī)功率管理器的系統(tǒng)的另一實(shí)施例的方框圖。
圖6是根據(jù)各種實(shí)施例的圖示用于管理計(jì)算裝置上的虛擬機(jī)的功率消耗的方法的流程圖。
圖7是根據(jù)各種實(shí)施例的圖示用于管理計(jì)算裝置上的虛擬機(jī)的功率消耗的方法的另一實(shí)施例的流程圖。
具體實(shí)施方式
在以下具體實(shí)施方式中,參照形成其一部分的附圖,貫穿附圖中類似標(biāo)記指明類似部分,并且其中通過說明方式示出可以實(shí)踐的實(shí)施例。應(yīng)理解,可以利用其他實(shí)施例,并且在不偏離本公開的范圍的情況下可以做出結(jié)構(gòu)或邏輯改變。因此,以下具體實(shí)施方式不應(yīng)以限制性意義來考慮,并且實(shí)施例的范圍由所附權(quán)利要求和它們的等同物來限定。
可以以最有助于理解要求保護(hù)的主題的方式把各種操作描述為依次的多個(gè)分立動(dòng)作或操作。然而,描述的順序不應(yīng)當(dāng)解釋為暗示這些操作一定是順序相關(guān)的。具體來說,可以不按照呈現(xiàn)順序來執(zhí)行這些操作。所描述的操作可以以與所描述的實(shí)施例不同的順序執(zhí)行。在附加實(shí)施例中可以執(zhí)行各種附加操作和/或所描述的操作可以省略。
出于本公開的目的,短語“A或B”以及“A和/或B”意指(A)、(B)或(A和B)。出于本公開的目的,短語“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
描述可以使用短語“在一實(shí)施例中”或“在實(shí)施例中”,它們均可以指代相同或不同實(shí)施例中的一個(gè)或多個(gè)。此外,如關(guān)于本公開的實(shí)施例所使用的,措辭“包括”、“包含”、“具有”等是同義的。
如在此使用的,術(shù)語“模塊”和/或“邏輯”可以指代以下、作為以下的部分或包括以下:專用集成電路(“ASIC”)、電子電路、執(zhí)行一個(gè)或多個(gè)軟件或固件程序的處理器(共享、專用或組)和/或存儲(chǔ)器(共享、專用或組)、組合邏輯電路,和/或提供所描述的功能性的其他合適硬件組件。
如在此描述的,計(jì)算裝置可以配置為執(zhí)行虛擬機(jī)。在各種實(shí)施例中,計(jì)算裝置可以具有包括相當(dāng)有限的資源(例如,屏幕實(shí)際使用面積、電池功率等)的種類,諸如便攜式電子裝置。計(jì)算裝置可以包括用于管理虛擬機(jī)的一個(gè)或多個(gè)組件,諸如虛擬機(jī)監(jiān)視器或管理程序。為了節(jié)約計(jì)算裝置的資源,計(jì)算裝置可以包括虛擬機(jī)功率管理特征。虛擬機(jī)功率管理特征可以允許計(jì)算裝置“凍結(jié)”虛擬機(jī)——即,使由虛擬機(jī)消耗的處理器周期減少。相應(yīng)地,虛擬機(jī)功率管理特征可以允許計(jì)算裝置“解凍”虛擬機(jī)——即,使由虛擬機(jī)消耗的處理器周期增加。
在各種實(shí)施例中,虛擬機(jī)功率管理特征可以是依據(jù)影響虛擬機(jī)的狀態(tài)的一個(gè)或多個(gè)事件而定的。在一個(gè)實(shí)施例中,在虛擬機(jī)不再處于前臺(tái)狀態(tài)時(shí),計(jì)算裝置可以凍結(jié)虛擬機(jī)。例如,計(jì)算裝置可以檢測(cè)事件,諸如來自用戶的輸入,或者來自計(jì)算裝置的主機(jī)操作系統(tǒng)的事件,其使虛擬機(jī)從前臺(tái)狀態(tài)轉(zhuǎn)變到計(jì)算裝置處的后臺(tái)狀態(tài)。在虛擬機(jī)不再處于前臺(tái)狀態(tài)時(shí),虛擬機(jī)功率管理特征可以允許計(jì)算裝置凍結(jié)虛擬機(jī)。如果另一事件使虛擬機(jī)從后臺(tái)狀態(tài)轉(zhuǎn)變到前臺(tái)狀態(tài),虛擬機(jī)功率管理特征可以允許計(jì)算裝置解凍虛擬機(jī)。
根據(jù)一些實(shí)施例,在虛擬機(jī)處于空閑狀態(tài)時(shí),計(jì)算裝置可以凍結(jié)虛擬機(jī)。例如,由于缺少一個(gè)或多個(gè)事件,諸如缺少檢測(cè)到的用戶與虛擬機(jī)的交互、缺少用于虛擬機(jī)的數(shù)據(jù)分組的接收、或者缺少對(duì)于虛擬機(jī)的語音呼叫的接收,計(jì)算裝置可以確定虛擬機(jī)處于空閑狀態(tài)。響應(yīng)于與虛擬機(jī)相關(guān)聯(lián)的至少一個(gè)事件,計(jì)算裝置可以解凍虛擬機(jī),使得虛擬機(jī)可以執(zhí)行處置事件的一個(gè)或多個(gè)處理。例如,涉及虛擬機(jī)的網(wǎng)絡(luò)數(shù)據(jù)分組或用戶交互可以通過計(jì)算裝置來檢測(cè)到,并且相應(yīng)地,計(jì)算裝置可以解凍虛擬機(jī),使得虛擬機(jī)可以處理網(wǎng)絡(luò)數(shù)據(jù)分組,對(duì)用戶交互做出響應(yīng)等。
首先從圖1開始,根據(jù)各種實(shí)施例,方框圖示出計(jì)算裝置100,其包括用于管理在計(jì)算裝置上操作的虛擬機(jī)的功率消耗的虛擬機(jī)功率管理特征。在各種實(shí)施例中,除了本公開的虛擬機(jī)功率管理特征以外,計(jì)算裝置100可以是適于操作和管理虛擬機(jī)的任意類型的便攜式計(jì)算裝置,諸如上網(wǎng)本、平板計(jì)算機(jī)、手持計(jì)算裝置、便攜式web使能器材、游戲裝置、移動(dòng)電話、智能電話、電子書閱讀器、個(gè)人數(shù)據(jù)助理等。
計(jì)算裝置100可以包括但不限于電源105、主存儲(chǔ)器110、存儲(chǔ)裝置120、處理器118、用戶接口122、顯示器124以及通信模塊130。具體地,存儲(chǔ)器110可以包括智能虛擬機(jī)功率管理器111,其配置為管理虛擬機(jī)115的功率消耗,從而繼而減少計(jì)算裝置100的功率消耗,這將在以下更全面地描述。這些組件可以通過總線119通信地耦合。總線119可以是適于在計(jì)算裝置100內(nèi)傳送數(shù)據(jù)的任意子系統(tǒng)。總線119可以包括多個(gè)計(jì)算機(jī)總線以及適于在計(jì)算裝置100內(nèi)傳送數(shù)據(jù)的附加電路。
為了與另一計(jì)算裝置(未示出)傳遞數(shù)據(jù),計(jì)算裝置100可以包括通信模塊130。通信模塊130可以跨網(wǎng)絡(luò)(未示出)接受來自外部計(jì)算裝置的要由計(jì)算裝置100處理的數(shù)據(jù)。通信模塊可以配置為通過多個(gè)網(wǎng)絡(luò)進(jìn)行通信,所述網(wǎng)絡(luò)諸如公共或私有網(wǎng)絡(luò)、不同類型網(wǎng)絡(luò)的組合、局域網(wǎng)(“LAN”)、諸如因特網(wǎng)的廣域網(wǎng)(“WAN”)、個(gè)域網(wǎng)(“PAN”)、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)、無線蜂窩網(wǎng)絡(luò)(例如,蜂窩數(shù)據(jù)網(wǎng)絡(luò))、公開交換電話網(wǎng)絡(luò)(“PSTN”)或其組合。因此,通信模塊130可以配置為傳遞數(shù)據(jù)(例如網(wǎng)絡(luò)分組)和/或語音呼叫(例如,模擬語音數(shù)據(jù))。通信模塊130可以以硬件、軟件或兩者組合來實(shí)施,并且可以例如包括諸如網(wǎng)卡、網(wǎng)絡(luò)訪問控制器和/或(多個(gè))其他網(wǎng)絡(luò)接口控制器的組件。通信模塊130與處理器118通信地耦合,處理器118執(zhí)行用于計(jì)算裝置100的指令。在一個(gè)實(shí)施例中,處理器118執(zhí)行用于通信模塊130的指令中的一些或全部。
作為接收數(shù)據(jù)的附加手段,計(jì)算裝置100可以包括用于接收來自用戶的輸入的用戶接口122。根據(jù)不同實(shí)施例,用戶接口122可以允許用戶通過各種手段與計(jì)算裝置100交互——例如,用戶接口122可以在顯示器124上作為圖形用戶界面呈現(xiàn)給用戶,或者通過命令行界面呈現(xiàn)給用戶。為了接收用戶輸入,用戶接口122可以以硬件、軟件或兩者的組合來實(shí)施,并且可以包括或者可以與適合于用戶輸入的一個(gè)或多個(gè)硬件裝置(例如,鍵盤、鼠標(biāo)、觸摸屏幕或姿勢(shì)識(shí)別)通信地耦合。此外,處理器118可以執(zhí)行用于用戶接口122的指令中的一些或全部。
處理器118可以是適合于執(zhí)行諸如來自主存儲(chǔ)器110的指令的指令的任意處理器。因此,處理器118可以是例如中央處理單元(CPU)、微處理器、或另一相似處理器。在一些實(shí)施例中,處理器118包括多個(gè)處理器,諸如專用處理器(例如,圖形處理單元)、網(wǎng)絡(luò)處理器,或者適合于執(zhí)行計(jì)算裝置100的操作的任意處理器。在各種實(shí)施例中,處理器118可以包括多個(gè)處理器。在一個(gè)實(shí)施例中,處理器118可以是具有多個(gè)CPU(例如,核心)的多核處理器。
與處理器118耦合的是主存儲(chǔ)器110。主存儲(chǔ)器110可以提供短期和長期的存儲(chǔ)并且可以事實(shí)上劃分為若干單元(包括位于處理器118處的單元)。主存儲(chǔ)器110可以是易失性的,諸如靜態(tài)隨機(jī)存取存儲(chǔ)器(“SRAM”)和/或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(“DRAM”),并且可以(至少暫時(shí)地)提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、軟件應(yīng)用和用于計(jì)算裝置100的其他數(shù)據(jù)的存儲(chǔ)。這樣的數(shù)據(jù)可以從存儲(chǔ)裝置120加載。主存儲(chǔ)器110還可以包括高速緩沖存儲(chǔ)器,諸如位于處理器118處的高速緩存。主存儲(chǔ)器110可以包括但不限于,要由處理器118執(zhí)行的與元件111-116有關(guān)的指令:用于提供虛擬機(jī)功率管理特征的較早描述的智能虛擬機(jī)功率管理器111、用于管理虛擬機(jī)115的虛擬機(jī)監(jiān)視器(“VMM”)112、主機(jī)操作系統(tǒng)114、虛擬機(jī)115以及賓客操作系統(tǒng)116。
在各種實(shí)施例中,主機(jī)操作系統(tǒng)114可以配置為發(fā)起諸如由智能虛擬機(jī)功率管理器111、虛擬機(jī)監(jiān)視器112、虛擬機(jī)115和/或賓客操作系統(tǒng)116提供的指令的指令的執(zhí)行。具體地,主機(jī)操作系統(tǒng)114可以適于用作用于運(yùn)行智能虛擬機(jī)功率管理器111、虛擬機(jī)監(jiān)視器112和/或虛擬機(jī)115的平臺(tái)。主機(jī)操作系統(tǒng)114可以適于執(zhí)行跨計(jì)算裝置100的組件的其他操作,包括線程處理、資源管理、數(shù)據(jù)存儲(chǔ)控制和其他相似功能性。在各種實(shí)施例中,主機(jī)操作系統(tǒng)114和/或VMM 112可以包括操作系統(tǒng)功率管理(“OSPM”)和/或與操作系統(tǒng)功率管理(“OSPM”)通信地耦合,操作系統(tǒng)功率管理(“OSPM”)可以包括用于管理與計(jì)算裝置100相關(guān)聯(lián)的各種功率狀態(tài)的電路。
也可以實(shí)施為管理程序的VMM 112可以可操作地創(chuàng)建、管理、運(yùn)行和/或終止虛擬機(jī)。在各種實(shí)施例中,VMM 112可以具有1型,還已知為原生的、無主機(jī)的和/或裸機(jī)的。在這樣的實(shí)施例中,VMM 112可以直接在計(jì)算裝置100的硬件(例如,主存儲(chǔ)器110和處理器118)上運(yùn)行。相應(yīng)地,VMM 112可以可操作地控制這樣的硬件,同時(shí)管理虛擬機(jī)115和/或賓客操作系統(tǒng)116。在一個(gè)實(shí)施例中,主機(jī)操作系統(tǒng)114可以是服務(wù)操作系統(tǒng)、驅(qū)動(dòng)器域或?qū)S刑摂M機(jī)——例如其中主機(jī)操作系統(tǒng)114在VMM 112上運(yùn)行。根據(jù)另一實(shí)施例,主機(jī)操作系統(tǒng)114的操作和功能性可以與VMM 112集成在一起,如可以在計(jì)算裝置100的硬件上直接運(yùn)行的1型管理程序中找到的。在其他實(shí)施例中,VMM 112可以具有2型,也稱為有主機(jī)的。在2型實(shí)施例中,VMM 112可以由主機(jī)操作系統(tǒng)114來執(zhí)行(例如,VMM 112可以包括在主機(jī)操作系統(tǒng)114中,或者與主機(jī)操作系統(tǒng)114通信地耦合)。如圖1中圖示的,VMM 112可以是要由處理器118執(zhí)行的主存儲(chǔ)器110內(nèi)的指令。然而,在其他實(shí)施例中,VMM 112可以為固件和/或硬件。
VMM 112可以諸如通過控制由賓客操作系統(tǒng)116消耗的資源(例如,處理器118的周期)的調(diào)度來管理虛擬機(jī)115。根據(jù)實(shí)施例,VMM 112可以包括適于分配用于虛擬機(jī)115的資源的一個(gè)或多個(gè)組件,或者可以與該一個(gè)或多個(gè)組件通信地耦合。例如,VMM 112可以包括調(diào)度器(未示出)和/或存儲(chǔ)器管理器(未示出),或者與調(diào)度器(未示出)和/或存儲(chǔ)器管理器(未示出)通信地耦合。調(diào)度器可以基于例如調(diào)度策略和/或資源可用性來分配用于一個(gè)或多個(gè)處理(例如線程)的時(shí)隙。類似地,存儲(chǔ)器管理器基于例如存儲(chǔ)器分配策略和/或資源可用性來處理對(duì)于存儲(chǔ)器(例如主存儲(chǔ)器110)的請(qǐng)求并且分配存儲(chǔ)器。
虛擬機(jī)115可以是物理計(jì)算裝置的模擬(例如類似于計(jì)算裝置100的計(jì)算裝置的模擬)。因此,虛擬機(jī)115可以具有與物理計(jì)算裝置類似的架構(gòu)和功能性。虛擬機(jī)115可以擴(kuò)展以使用虛擬化軟件組件,如可以在出于各種目的(諸如性能、安全性、功率和/或簡單性)的準(zhǔn)虛擬化中找到的。為此,賓客操作系統(tǒng)116可以在虛擬機(jī)115上運(yùn)行。賓客操作系統(tǒng)116可以類似于主機(jī)操作系統(tǒng)114,和/或執(zhí)行與主機(jī)操作系統(tǒng)114類似的功能。然而,賓客操作系統(tǒng)116可以具有與主機(jī)操作系統(tǒng)114不同的類型。例如,賓客操作系統(tǒng)116可以根據(jù)與主機(jī)操作系統(tǒng)114不同的方案來管理資源、存儲(chǔ)器分配等。在各種實(shí)施例中,賓客操作系統(tǒng)116可以適于請(qǐng)求一個(gè)或多個(gè)虛擬功率狀態(tài),諸如C狀態(tài)(即,處理器操作狀態(tài))、P狀態(tài)(即,處理器性能狀態(tài))、D狀態(tài)(即,裝置狀態(tài))和/或T狀態(tài)(即,處理器節(jié)流狀態(tài))。在一個(gè)實(shí)施例中,功率狀態(tài)可以與芯片上系統(tǒng)相關(guān)聯(lián),諸如S0i1和/或S0i3——S0i1狀態(tài)可以在顯示器開啟但用戶未與裝置主動(dòng)交互時(shí)使用,使得相對(duì)微量的功率被消耗(例如,毫瓦級(jí))并且可以在微秒內(nèi)進(jìn)入/離開,并且S0i3狀態(tài)可以在顯示器124關(guān)閉時(shí)使用,使得相對(duì)少量功率被消耗(例如微瓦級(jí))并且可以在毫米內(nèi)進(jìn)入/離開。賓客操作系統(tǒng)116的C、P、D和/或T狀態(tài)可以不同于物理計(jì)算裝置100的C、P、D和/或T狀態(tài)——例如,賓客操作系統(tǒng)116可以僅在C0或C1狀態(tài)下操作,但是物理計(jì)算裝置100可以在C0狀態(tài)下操作,或者在諸如C1-C9的更深C狀態(tài)下操作。在替代實(shí)施例中,賓客操作系統(tǒng)116可以實(shí)施偏離物理計(jì)算裝置100實(shí)施的功率狀態(tài)的不同概念。在又一實(shí)施例中,賓客操作系統(tǒng)116可以使用準(zhǔn)虛擬化來與VMM 112協(xié)作地工作,以尋求不同功率狀態(tài)操作。因?yàn)橘e客操作系統(tǒng)116在虛擬機(jī)115上操作,對(duì)于一個(gè)或多個(gè)虛擬功率狀態(tài)的一個(gè)或多個(gè)請(qǐng)求可以是針對(duì)處理器118的,但由VMM 112管理。
在各種實(shí)施例中,計(jì)算裝置100可以包括多個(gè)虛擬機(jī)。附加虛擬機(jī)可以具有與虛擬機(jī)115類似的架構(gòu)和功能性。此外,類似于賓客操作系統(tǒng)116的附加賓客操作系統(tǒng)可以在附加虛擬機(jī)上運(yùn)行。
作為操作系統(tǒng),賓客操作系統(tǒng)116可以導(dǎo)致與例如應(yīng)用、用戶輸入、網(wǎng)絡(luò)通信等相關(guān)聯(lián)的指令的執(zhí)行。根據(jù)各種實(shí)施例,賓客操作系統(tǒng)116可以響應(yīng)于在用戶接口112處接收的用戶輸入來執(zhí)行指令。附加地,賓客操作系統(tǒng)116可以響應(yīng)于通過網(wǎng)絡(luò)接收并且在通信模塊130處處理的一個(gè)或多個(gè)數(shù)據(jù)分組來執(zhí)行指令。具體地,在其中計(jì)算裝置100是便攜式通信裝置(例如智能電話)的實(shí)施例中,賓客操作系統(tǒng)116可以適于響應(yīng)于語音呼叫,諸如響應(yīng)于所接收的在通信模塊130處處理的模擬語音數(shù)據(jù),來執(zhí)行指令。在各種實(shí)施例中,由賓客操作系統(tǒng)116來進(jìn)行指令的執(zhí)行可以例如通過請(qǐng)求較低的C狀態(tài)(例如C1狀態(tài))和/或向虛擬機(jī)監(jiān)視器112表現(xiàn)得空閑,來防止賓客操作系統(tǒng)116進(jìn)入空閑狀態(tài)。
在各種實(shí)施例中,具有各自的賓客操作系統(tǒng)的多個(gè)虛擬機(jī),包括具有賓客操作系統(tǒng)116的虛擬機(jī)115,可以包括在主存儲(chǔ)器110中。在這樣的實(shí)施例中,VMM 112可以適于管理多個(gè)虛擬機(jī)中的每一個(gè)虛擬機(jī)的創(chuàng)建和執(zhí)行。例如,VMM 112可以根據(jù)調(diào)度策略將物理資源(例如,處理器118的周期)分配給多個(gè)虛擬機(jī)中的每一個(gè)。
在實(shí)施例中,計(jì)算裝置100可以包括智能虛擬機(jī)功率管理器111。雖然這里圖示在主存儲(chǔ)器110中,但智能虛擬機(jī)功率管理器111可以以硬件、軟件、固件或組合來實(shí)施。根據(jù)實(shí)施例,計(jì)算裝置100處的虛擬化操作對(duì)于計(jì)算裝置100的一個(gè)或多個(gè)資源,諸如電源105(例如,電池或其他便攜式電源)而言可能是昂貴的。智能虛擬機(jī)功率管理器111可以適于試圖節(jié)省計(jì)算裝置100的一個(gè)或多個(gè)資源,諸如電源105。為了實(shí)現(xiàn)該節(jié)省,智能虛擬機(jī)功率管理器111可以影響與虛擬機(jī)115相關(guān)聯(lián)的指令的執(zhí)行。
智能虛擬機(jī)功率管理器111可以與虛擬機(jī)115和/或賓客操作系統(tǒng)116通信地耦合。在各種實(shí)施例中,智能虛擬機(jī)功率管理器111可以適于通過凍結(jié)虛擬機(jī)115來節(jié)省計(jì)算裝置100的資源(例如電源105)。在實(shí)施例中,通過智能虛擬機(jī)功率管理器111凍結(jié)虛擬機(jī)115使由虛擬機(jī)115消耗的處理器118的周期減少。由虛擬機(jī)115消耗的處理器118周期的該減少可以是例如由賓客操作系統(tǒng)116通過虛擬機(jī)消耗的處理器118周期的減少,該減少諸如是通過要由虛擬機(jī)115的賓客操作系統(tǒng)116執(zhí)行的一個(gè)或多個(gè)進(jìn)程的掛起或終止,和/或通過與虛擬機(jī)115相關(guān)聯(lián)的中斷的頻率的降低。由虛擬機(jī)115消耗的處理器118周期的減少可以增加低功率C狀態(tài)(例如C7狀態(tài))的駐留和/或促進(jìn)處理器118進(jìn)入更深C狀態(tài)(例如C9),這可以減少處理器118的功率消耗。例如,由虛擬機(jī)115消耗的處理器118周期的減少可以包括與虛擬機(jī)115相關(guān)聯(lián)的中斷的頻率的減少,這可以促進(jìn)處理器118進(jìn)入低功率狀態(tài)(例如,從C1到C7)。
相應(yīng)地,智能虛擬機(jī)功率管理器111可以適于解凍虛擬機(jī)115。在實(shí)施例中,通過智能虛擬機(jī)功率管理器111解凍虛擬機(jī)115使由虛擬機(jī)115消耗的處理器118的周期增加。由虛擬機(jī)115消耗的處理器118周期的該增加可以是例如由賓客操作系統(tǒng)116通過虛擬機(jī)115消耗的處理器118周期的增加,該增加諸如是通過要由虛擬機(jī)115的賓客操作系統(tǒng)116執(zhí)行的一個(gè)或多個(gè)進(jìn)程(例如,可能已經(jīng)基于處理器118周期的減少而掛起或終止的一個(gè)或多個(gè)進(jìn)程)的重啟或恢復(fù),和/或通過與虛擬機(jī)115相關(guān)聯(lián)的中斷的頻率的增加。在其中計(jì)算裝置100包括多個(gè)虛擬機(jī)的實(shí)施例中,智能虛擬功率管理器111可以適于以與在此描述的方式類似的方式來凍結(jié)和/或解凍一個(gè)或多個(gè)附加虛擬機(jī)和/或賓客操作系統(tǒng)。
根據(jù)實(shí)施例,智能虛擬機(jī)功率管理器111可以與VMM 112通信地耦合。因?yàn)閂MM 112可以適于管理虛擬機(jī)115(包括通過物理資源的分配),智能虛擬機(jī)功率管理器111可以向VMM 112發(fā)出請(qǐng)求以使由虛擬機(jī)115消耗的處理器118周期減少。在一個(gè)實(shí)施例中,該請(qǐng)求可以使VMM 112防止調(diào)度器將物理資源分配給虛擬機(jī)115。在其中VMM 112是管理程序的實(shí)施例中,來自智能虛擬機(jī)功率管理器111的對(duì)于管理程序112的請(qǐng)求可以是超調(diào)用。在許多實(shí)施例中,來自智能虛擬機(jī)功率管理器111的用于使由虛擬機(jī)115消耗的處理器118周期減少的請(qǐng)求可以是針對(duì)VMM 112的,而無需主機(jī)操作系統(tǒng)114進(jìn)行相稱的操作。在這樣的實(shí)施例中,VMM 112可以是1型的(例如,原生的、無主機(jī)的和/或裸機(jī)的)。
在一個(gè)實(shí)施例中,智能虛擬機(jī)功率管理器111可以基于對(duì)于主機(jī)操作系統(tǒng)114的一個(gè)或多個(gè)請(qǐng)求而使由虛擬機(jī)115消耗的處理器118周期減少。主機(jī)操作系統(tǒng)114可以包括例如應(yīng)用編程接口(“API”),其呈現(xiàn)接口和/或包括協(xié)議,所述接口和/或協(xié)議適于從智能虛擬機(jī)功率管理器111接收一個(gè)或多個(gè)請(qǐng)求,以使由虛擬機(jī)115消耗的處理器118周期減少。在各種實(shí)施例中,主機(jī)操作系統(tǒng)114可以包括VMM 112或可以與VMM 112通信地耦合,使得主機(jī)操作系統(tǒng)114可以參與虛擬機(jī)115的管理和執(zhí)行。在這樣的實(shí)施例中,智能虛擬機(jī)功率管理器111可以向主機(jī)操作系統(tǒng)114發(fā)出請(qǐng)求,諸如向包括在主機(jī)操作系統(tǒng)中或與主機(jī)操作系統(tǒng)通信地耦合的調(diào)度器發(fā)出請(qǐng)求,并且主機(jī)操作系統(tǒng)114可以減少(或終止)與虛擬機(jī)115相關(guān)聯(lián)的資源分配(例如處理器118周期)。在其中智能虛擬機(jī)功率管理器111適于經(jīng)由對(duì)于主機(jī)操作系統(tǒng)114的請(qǐng)求而使由虛擬機(jī)115消耗的處理器118周期減少的許多實(shí)施例中,VMM 112可以為2型的(例如,有主機(jī)的)。
在各種實(shí)施例中,VMM 112可以適于將虛擬機(jī)115從前臺(tái)狀態(tài)轉(zhuǎn)變?yōu)橛?jì)算裝置100處的后臺(tái)狀態(tài)——例如,主機(jī)操作系統(tǒng)114和/或由此執(zhí)行的應(yīng)用可以從后臺(tái)狀態(tài)轉(zhuǎn)變?yōu)榍芭_(tái)狀態(tài)。根據(jù)實(shí)施例,VMM 112可以通過用戶接口122檢測(cè)使VMM 112從前臺(tái)狀態(tài)轉(zhuǎn)變?yōu)楹笈_(tái)狀態(tài)的輸入——例如,VMM 112可以通過用戶接口122檢測(cè)與虛擬機(jī)115從前臺(tái)狀態(tài)至后臺(tái)狀態(tài)的轉(zhuǎn)變相關(guān)聯(lián)的觸覺按鈕的按壓或者姿勢(shì)的識(shí)別。作為響應(yīng),智能虛擬機(jī)功率管理器111可以適于基于虛擬機(jī)115不再處于計(jì)算裝置100的前臺(tái)狀態(tài)——例如,虛擬機(jī)115處于后臺(tái)狀態(tài)或正從前臺(tái)狀態(tài)轉(zhuǎn)變到后臺(tái)狀態(tài)的檢測(cè),而使由虛擬機(jī)115消耗的處理器118周期減少。
在各種實(shí)施例中,智能虛擬機(jī)功率管理器111可以適于確定虛擬機(jī)115處于空閑狀態(tài)。根據(jù)實(shí)施例,智能虛擬機(jī)功率管理器111可以檢測(cè)用于虛擬機(jī)115的事件的缺少。例如,智能虛擬機(jī)功率管理器111可以基于由VMM 112檢測(cè)到的用于虛擬機(jī)115的用戶輸入的缺少,諸如要通過用戶接口122檢測(cè)的觸覺按鈕的按壓的缺少和/或姿勢(shì)的識(shí)別的缺少,而確定虛擬機(jī)115處于空閑狀態(tài)。在另一示例中,智能虛擬機(jī)功率管理器111可以基于由VMM 112檢測(cè)到的用于虛擬機(jī)115的通信事件的缺少,諸如通過通信模塊130的數(shù)據(jù)分組和/或模擬語言數(shù)據(jù)的接收的缺少,而確定虛擬機(jī)115處于空閑狀態(tài)。在另一實(shí)施例中,智能虛擬機(jī)功率管理器111可以確定虛擬機(jī)115請(qǐng)求更加不活躍的功率狀態(tài)(例如,賓客操作系統(tǒng)116可以請(qǐng)求更深的C狀態(tài)),和/或虛擬機(jī)115處于更加不活躍的功率狀態(tài)預(yù)定量或百分比的時(shí)間(例如,對(duì)于C1或更加不活躍的功率狀態(tài)的至少百分之九十五(95)的駐留比率)。在第三實(shí)施例中,智能虛擬機(jī)功率管理器111可以確定在虛擬機(jī)115不再處于前臺(tái)狀態(tài)時(shí)虛擬機(jī)115處于空閑狀態(tài)。
相應(yīng)的,智能虛擬機(jī)功率管理器111可以使處理器118周期增加。在一個(gè)實(shí)施例中,智能虛擬機(jī)功率管理器111可以基于虛擬機(jī)115不再處于后臺(tái)狀態(tài)的檢測(cè)而使處理器118周期增加。在另一實(shí)施例中,智能虛擬機(jī)功率管理器111可以基于虛擬機(jī)115不再空閑——例如,VMM 112可以接收用戶輸入、通信事件和/或?qū)τ诟踊钴S的功率狀態(tài)的請(qǐng)求(例如,對(duì)于C0狀態(tài)的請(qǐng)求)的檢測(cè),而使處理器118周期增加。
在由于虛擬機(jī)115(和/或其他虛擬機(jī))造成處理器118周期減少的情況下,與主機(jī)操作系統(tǒng)114相關(guān)聯(lián)的OSPM(未示出)可以轉(zhuǎn)變一個(gè)或多個(gè)操作。例如,如果一個(gè)或多個(gè)虛擬機(jī)(包括虛擬機(jī)115)被確定為是空閑的,則OSPM可以將計(jì)算裝置100轉(zhuǎn)變到更深功率狀態(tài),諸如用于處理器118的C9狀態(tài)。在一個(gè)或多個(gè)虛擬機(jī)(包括虛擬機(jī)115)被凍結(jié)的情況下,由一個(gè)或多個(gè)虛擬機(jī)(包括虛擬機(jī)115)消耗的輸入/輸出(I/O)資源(例如,相機(jī)裝置、塊裝置等)可以減少并且還通過OSPM轉(zhuǎn)變到較低功率狀態(tài)(例如,D3)。
關(guān)于圖2, 方框圖圖示根據(jù)各種實(shí)施例的通信模塊200,其用于可以防止虛擬機(jī)轉(zhuǎn)變到空閑狀態(tài)的文件在計(jì)算裝置之間的無線接收和傳輸。通信模塊200可以是圖1的通信模塊130,或者可以包括在圖1的通信模塊130中。通信模塊200可以包括但不限于:至少如所示的彼此耦合的發(fā)射器電路205、接收器電路210、通信電路215和/或一個(gè)或多個(gè)天線220。
簡言之,通信電路215可以與天線220耦合以促進(jìn)信號(hào)往/來于通信模塊200的空中通信。通信電路215的操作可以包括但不限于濾波、放大、存儲(chǔ)、調(diào)制、解調(diào)、變換等。
發(fā)射器電路205可以與通信電路215耦合,并且可以配置為將信號(hào)提供給通信電路215以供由天線220傳輸。在各種實(shí)施例中,發(fā)射器電路205可以配置為提供對(duì)信號(hào)的各種信號(hào)處理操作,以將具有合適特性的信號(hào)提供給通信電路。在一些實(shí)施例中,發(fā)射器電路205可以配置為無線地傳輸與虛擬機(jī)相關(guān)聯(lián)的一個(gè)或多個(gè)數(shù)據(jù)分組和/或模擬語音數(shù)據(jù)。發(fā)射器電路205的這樣的活動(dòng)可以防止虛擬機(jī)被確定為是空閑的。
發(fā)射器電路205可以配置為接收信號(hào)以供由通信電路215傳輸(例如,來自與通信模塊200通信地耦合的虛擬機(jī)(未示出)的信號(hào))。在一些實(shí)施例中,發(fā)射器電路205可以適于生成信號(hào)。此外,發(fā)射器電路205可以適于在由通信電路215傳輸之前對(duì)各種信號(hào)進(jìn)行擾頻、復(fù)用和/或調(diào)制。
接收器電路210可以與通信電路215耦合并且可以配置為接收用于和/或來自通信電路215的信號(hào),諸如由一個(gè)或多個(gè)天線220檢測(cè)到的信號(hào)。在一些實(shí)施例中,接收器電路210可以適于生成、適配或以其他方式改變信號(hào)。此外,接收器電路210可以適于將所接收的信號(hào)發(fā)送至另一模塊或組件(未示出),諸如與通信模塊200通信地耦合的虛擬機(jī),使得從具有通信模塊200的裝置外部接收的數(shù)據(jù)可以利用在裝置處的該數(shù)據(jù)。在一些實(shí)施例中,接收器電路210可以接收與虛擬機(jī)相關(guān)聯(lián)的一個(gè)或多個(gè)數(shù)據(jù)分組和/或模擬語音數(shù)據(jù)。接收器電路210的這樣的活動(dòng)可以防止虛擬機(jī)被確定為是空閑的。結(jié)果,虛擬機(jī)將繼續(xù)消耗功率,這例如對(duì)于便攜式計(jì)算裝置可能不是期望的。
通信電路215、發(fā)射器電路205和/或接收器電路210中的一些或全部可以包括在例如通信芯片中和/或與印刷電路板通信地耦合。
圖3示出根據(jù)各種實(shí)施例的便攜式電子裝置300的方框圖,其包括用于管理虛擬機(jī)的功率消耗的虛擬機(jī)功率管理特征。便攜式電子裝置300可以是圖1的計(jì)算裝置100或可以包括在圖1的計(jì)算裝置100中。相應(yīng)地,虛擬機(jī)305可以是虛擬機(jī)115,賓客操作系統(tǒng)310可以是賓客操作系統(tǒng)116,和/或主機(jī)操作系統(tǒng)315可以是主機(jī)操作系統(tǒng)114。
便攜式電子裝置300可以表征一個(gè)或多個(gè)特性,該一個(gè)或多個(gè)特性可以約束多個(gè)元件在顯示器302處的同時(shí)呈現(xiàn)。例如,顯示器302的大小可能具有相當(dāng)有限的大小,處理器(未示出)可能具有相當(dāng)有限的功率,存儲(chǔ)器(未示出)可能具有相當(dāng)有限的大小,和/或電源可能具有相當(dāng)有限的容量,從而如果僅僅一個(gè)元件處于前臺(tái)狀態(tài),則便攜式電子裝置300的性能可以改進(jìn)。在實(shí)施例中,虛擬機(jī)305或主機(jī)操作系統(tǒng)114中的一個(gè)可以處于便攜式電子裝置300處的前臺(tái)狀態(tài)。在實(shí)施例中,前臺(tái)狀態(tài)可以指示由該前臺(tái)操作系統(tǒng)(即,主機(jī)操作系統(tǒng)315或賓客操作系統(tǒng)310)發(fā)出的指令與調(diào)度器(未示出)中的高優(yōu)先級(jí)相關(guān)聯(lián)——例如,顯示器302上的最上方窗口、具有聚焦的組件(例如,被選擇用于通過姿勢(shì)識(shí)別顯示器302接收輸入的操作系統(tǒng)的窗口)。剩余元件(例如,操作系統(tǒng)310、315中未處于前臺(tái)狀態(tài)的另一個(gè))將處于后臺(tái)狀態(tài)。
在所圖示的實(shí)施例中,虛擬機(jī)305可以處于前臺(tái)狀態(tài),這可以使賓客操作系統(tǒng)310呈現(xiàn)在顯示器302上和/或在顯示器302上具有聚焦。因此,主機(jī)操作系統(tǒng)315可以處于后臺(tái)狀態(tài)。在各種實(shí)施例中,事件或事件的缺少可以使虛擬機(jī)315從前臺(tái)狀態(tài)轉(zhuǎn)變到后臺(tái)狀態(tài)——例如,用于使主機(jī)操作系統(tǒng)315轉(zhuǎn)變到前臺(tái)狀態(tài)的用戶輸入的檢測(cè)(例如,觸覺按鈕320的選擇)和/或用于虛擬機(jī)305的諸如網(wǎng)絡(luò)通信的活動(dòng)的缺少。在這樣的實(shí)施例中,賓客操作系統(tǒng)310可以不再在顯示器302處具有聚焦。作為響應(yīng)地,便攜式電子裝置300的虛擬機(jī)功率管理特征可以使由虛擬機(jī)305消耗的處理器周期減少(例如,基于由賓客操作系統(tǒng)310發(fā)出的指令而消耗的處理器周期可以掛起或終止,和/或與虛擬機(jī)305相關(guān)聯(lián)的中斷的頻率可以降低或完全消除)。相應(yīng)地,在虛擬機(jī)305從后臺(tái)狀態(tài)轉(zhuǎn)變到前臺(tái)狀態(tài)時(shí),便攜式電子裝置300的虛擬機(jī)功率管理特征可以使由虛擬機(jī)305消耗的處理器周期(例如,基于由賓客操作系統(tǒng)310發(fā)出的指令而消耗的處理器周期)增加。
關(guān)于圖4,方框圖示出根據(jù)各種實(shí)施例的包括智能虛擬機(jī)功率管理器421的系統(tǒng)400。系統(tǒng)400可以包括在圖1的計(jì)算裝置100中。因此,虛擬機(jī)430可以是虛擬機(jī)115、賓客操作系統(tǒng)432可以是賓客操作系統(tǒng)116、主機(jī)操作系統(tǒng)410可以是主機(jī)操作系統(tǒng)114,智能虛擬機(jī)功率管理器421可以是智能虛擬機(jī)功率管理器111,和/或VMM 440可以是VMM 112。根據(jù)各種實(shí)施例,系統(tǒng)400可以是利用虛擬機(jī)430的完全虛擬化、準(zhǔn)虛擬化或硬件輔助虛擬化。
在實(shí)施例中,系統(tǒng)400的主機(jī)操作系統(tǒng)410可以包括主機(jī)操作系統(tǒng)內(nèi)核(內(nèi)核)420和/或可以與主機(jī)操作系統(tǒng)內(nèi)核(內(nèi)核)420通信地耦合。內(nèi)核420可以適于諸如通過將請(qǐng)求轉(zhuǎn)譯為用于系統(tǒng)400的硬件(未示出)(例如,處理器、存儲(chǔ)器等)的一個(gè)或多個(gè)指令,來管理從系統(tǒng)400的組件接收的一個(gè)或多個(gè)請(qǐng)求。
此外,系統(tǒng)400可以包括調(diào)度器441,其可以包括在VMM 440中或通信地耦合于VMM 440(雖然在其他實(shí)施例中,調(diào)度器441可以包括在主機(jī)操作系統(tǒng)410中)。在用于執(zhí)行一個(gè)或多個(gè)線程或進(jìn)程的一個(gè)或多個(gè)指令被接收時(shí),調(diào)度器441可以將一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。調(diào)度器441可以選擇用于消耗一個(gè)或多個(gè)處理器周期的線程或進(jìn)程,諸如與賓客操作系統(tǒng)432相關(guān)聯(lián)的線程或進(jìn)程。調(diào)度器441可以根據(jù)計(jì)及例如時(shí)延、公平性(例如線程或進(jìn)程優(yōu)先級(jí))、吞吐量和/或等待時(shí)間的預(yù)定調(diào)度算法來操作。
根據(jù)實(shí)施例,賓客操作系統(tǒng)432可以發(fā)出用于要求系統(tǒng)400的硬件的一個(gè)或多個(gè)線程或進(jìn)程的一個(gè)或多個(gè)指令。一個(gè)或多個(gè)指令可以在內(nèi)核420處被接收并且由調(diào)度器441調(diào)度,使得可以一致地管理硬件訪問??梢园ㄔ趦?nèi)核420中或可以與內(nèi)核420通信地耦合的智能虛擬機(jī)功率管理器421可以接收這些一個(gè)或多個(gè)指令的指示。附加地,智能虛擬機(jī)功率管理器421可以從VMM 440接收與賓客操作系統(tǒng)432相關(guān)聯(lián)的一個(gè)或多個(gè)事件的指示,諸如虛擬機(jī)430從前臺(tái)狀態(tài)轉(zhuǎn)變到后臺(tái)狀態(tài)的檢測(cè)、用于賓客操作系統(tǒng)432的用戶輸入的檢測(cè)、與賓客操作系統(tǒng)432相關(guān)聯(lián)的通信事件(數(shù)據(jù)分組的接收和/或模擬語音數(shù)據(jù)的通信)的檢測(cè),和/或賓客操作系統(tǒng)432的功率狀態(tài)的檢測(cè)。
在各種實(shí)施例中,智能虛擬機(jī)功率管理器421可以接收事件的指示,或基于使智能虛擬機(jī)功率管理器421確定虛擬機(jī)430應(yīng)該被凍結(jié)的事件的缺少,而確定虛擬機(jī)430處于空閑狀態(tài)。因此,智能虛擬機(jī)功率管理器421可以向調(diào)度器441發(fā)信號(hào),以從隊(duì)列中移除與虛擬機(jī)430相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程。因?yàn)榕c虛擬機(jī)430相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程可以不再被調(diào)度器441選擇,要由虛擬機(jī)430消耗的處理器周期的量可以減少并且可以事實(shí)上完全消除。在一些實(shí)施例中,智能虛擬機(jī)功率管理器421可以防止與賓客操作系統(tǒng)432相關(guān)聯(lián)的一個(gè)或多個(gè)指令使調(diào)度器441將一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。
相應(yīng)地,智能虛擬機(jī)功率管理器421可以接收事件的指示,或基于使智能虛擬機(jī)功率管理器421確定虛擬機(jī)430應(yīng)該被解凍的事件的檢測(cè),而確定虛擬機(jī)430不再處于空閑狀態(tài)。因此,智能虛擬機(jī)功率管理器421可以向調(diào)度器441發(fā)信號(hào),以開始或恢復(fù)將與虛擬機(jī)430相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。因?yàn)榕c虛擬機(jī)430相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程可以由調(diào)度器441選擇,要由虛擬機(jī)430消耗的處理器周期的量可以增加。在一些實(shí)施例中,智能虛擬機(jī)功率管理器421可以允許與賓客操作系統(tǒng)432相關(guān)聯(lián)的一個(gè)或多個(gè)指令使調(diào)度器441將一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。
根據(jù)實(shí)施例,由智能虛擬機(jī)功率管理器421對(duì)虛擬機(jī)430的凍結(jié)可以影響與賓客操作系統(tǒng)432相關(guān)聯(lián)的一個(gè)或多個(gè)定時(shí)器。結(jié)合由虛擬機(jī)430消耗的處理器周期的減少,智能虛擬機(jī)功率管理器421可以使賓客操作系統(tǒng)432停止或暫停運(yùn)行或者遞增一個(gè)或多個(gè)定時(shí)器,諸如可編程間隔定時(shí)器、時(shí)間戳計(jì)數(shù)器和/或高精度事件定時(shí)器、真實(shí)時(shí)間時(shí)鐘,和/或另一掛鐘。在智能虛擬機(jī)功率管理器421解凍——即,使由虛擬機(jī)430消耗的處理器周期增加時(shí)——智能虛擬機(jī)功率管理器421可以使賓客操作系統(tǒng)432調(diào)整和/或恢復(fù)一個(gè)或多個(gè)定時(shí)器——例如,真實(shí)時(shí)間時(shí)鐘可以調(diào)整到與主機(jī)操作系統(tǒng)410相關(guān)聯(lián)的真實(shí)時(shí)間時(shí)鐘一致。
關(guān)于圖5,方框圖示出根據(jù)各種實(shí)施例的包括智能虛擬機(jī)功率管理器521的系統(tǒng)500。系統(tǒng)500可以包括圖4的系統(tǒng)400的另一實(shí)施例。相應(yīng)地,虛擬機(jī)530可以是虛擬機(jī)430,賓客操作系統(tǒng)532可以是賓客操作系統(tǒng)432,主機(jī)操作系統(tǒng)510可以是主機(jī)操作系統(tǒng)421,智能虛擬機(jī)功率管理器521可以是智能虛擬機(jī)功率管理器421,和/或VMM 540可以是VMM 440。
在各種實(shí)施例中,賓客操作系統(tǒng)532可以包括模擬的原生裝置驅(qū)動(dòng)器536,其可以接收例如來自賓客操作系統(tǒng)532的讀和/或?qū)懼噶?。此外,賓客操作系統(tǒng)532可以包括一個(gè)或多個(gè)前端驅(qū)動(dòng)器535,用于向賓客操作系統(tǒng)532提供對(duì)于一個(gè)或多個(gè)通用虛擬裝置的訪問。在實(shí)施例中,來自賓客操作系統(tǒng)532的指令可以發(fā)出給一個(gè)或多個(gè)前端驅(qū)動(dòng)器535,所述指令由可以允許來自賓客操作系統(tǒng)532的指令的二進(jìn)制轉(zhuǎn)譯和/或原生執(zhí)行的后端服務(wù)522和/或裝置模型511來管理。因此,即使被虛擬化(或準(zhǔn)虛擬化),賓客操作系統(tǒng)532可以適于接收和/或響應(yīng)一個(gè)或多個(gè)事件,諸如通信事件和/或用戶輸入的檢測(cè)。通過后端服務(wù)522,由賓客操作系統(tǒng)532通過前端驅(qū)動(dòng)器535發(fā)出的一個(gè)或多個(gè)指令可以添加到調(diào)度器541的隊(duì)列。因此,一個(gè)或多個(gè)處理器周期可以使要執(zhí)行指令至原生裝置驅(qū)動(dòng)器523(例如,系統(tǒng)500的物理硬件)。
智能虛擬機(jī)功率管理器521可以接收要由后端服務(wù)522管理的一個(gè)或多個(gè)指令的指示,諸如事件的接收或?qū)κ录捻憫?yīng)。在各種實(shí)施例中,智能虛擬機(jī)功率管理器521可以接收事件的指示,或基于事件的缺少而確定虛擬機(jī)530處于空閑狀態(tài),所述事件的缺少基于由后端服務(wù)522指示的信號(hào)。作為響應(yīng),智能虛擬機(jī)功率管理器521可以確定虛擬機(jī)530應(yīng)該被凍結(jié)。因此,智能虛擬機(jī)功率管理器521可以向調(diào)度器541發(fā)信號(hào)以從隊(duì)列中移除與虛擬機(jī)530相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程。因?yàn)榕c虛擬機(jī)530相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程不再被調(diào)度器541選擇,要由虛擬機(jī)530消耗的處理器周期的量可以減少并且可以事實(shí)上完全消除。在一些實(shí)施例中,智能虛擬機(jī)功率管理器521可以防止與賓客操作系統(tǒng)532相關(guān)聯(lián)的一個(gè)或多個(gè)指令使調(diào)度器541將一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。
相應(yīng)地,智能虛擬機(jī)功率管理器521可以接收事件的指示,或基于由后端服務(wù)522指示的信號(hào)而確定虛擬機(jī)530不再處于空閑狀態(tài)。作為響應(yīng),智能虛擬機(jī)功率管理器521可以確定虛擬機(jī)530應(yīng)該被解凍。因此,智能虛擬機(jī)功率管理器521可以向調(diào)度器541發(fā)信號(hào)以開始或恢復(fù)將與虛擬機(jī)530相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。因?yàn)榕c虛擬機(jī)530相關(guān)聯(lián)的一個(gè)或多個(gè)線程或進(jìn)程可以由調(diào)度器541選擇,要由虛擬機(jī)530消耗的處理器周期的量可以增加。在一些實(shí)施例中,智能虛擬機(jī)功率管理器521可以允許與賓客操作系統(tǒng)532相關(guān)聯(lián)的一個(gè)或多個(gè)指令使調(diào)度器541將一個(gè)或多個(gè)線程或進(jìn)程添加到隊(duì)列。
關(guān)于圖6,流程圖圖示根據(jù)各種實(shí)施例的用于管理虛擬機(jī)的功率消耗的方法600。方法600可以由計(jì)算裝置執(zhí)行,諸如圖1的計(jì)算裝置100。雖然圖6圖示了多個(gè)順序的操作,但普通技術(shù)人員將理解,方法600的一個(gè)或多個(gè)操作可以調(diào)換和/或同時(shí)執(zhí)行。
開始時(shí),方法600可以包括操作605,用于檢測(cè)用于使虛擬機(jī)從前臺(tái)移動(dòng)到后臺(tái)的第一預(yù)定義事件。在一個(gè)實(shí)施例中,該第一預(yù)定義事件可以例如是用戶交互的檢測(cè),所述用戶交互諸如觸覺按鈕的按壓和/或姿勢(shì)的識(shí)別。基于第一預(yù)定義事件的檢測(cè),方法600可以包括操作610,用于使由虛擬機(jī)消耗的處理器周期減少。相應(yīng)地,在虛擬機(jī)不再處于前臺(tái)時(shí),由虛擬機(jī)消耗的處理器周期可以減少。在實(shí)施例中,操作610可以包括降低與虛擬機(jī)相關(guān)聯(lián)的中斷的頻率,這可以促進(jìn)處理器進(jìn)入低功率狀態(tài)(例如從C1到C7)。
在實(shí)施例中,方法600可以包括操作615,用于檢測(cè)用于使虛擬機(jī)從后臺(tái)移動(dòng)到前臺(tái)的第二預(yù)定義事件。在一個(gè)實(shí)施例中,該第二預(yù)定義事件可以例如是用戶交互的檢測(cè),所述用戶交互諸如觸覺按鈕的按壓和/或姿勢(shì)的識(shí)別?;诘诙A(yù)定義事件的檢測(cè),方法600可以包括操作620,用于使由虛擬機(jī)消耗的處理器周期增加。相應(yīng)地,在虛擬機(jī)不再處于后臺(tái)時(shí),由虛擬機(jī)消耗的處理器周期可以增加。
轉(zhuǎn)到圖7,流程圖示出根據(jù)各種實(shí)施例的用于管理虛擬機(jī)的功率消耗的方法700。方法700可以由計(jì)算裝置來執(zhí)行,諸如圖1的計(jì)算裝置100。雖然圖7圖示了多個(gè)順序的操作,但普通技術(shù)人員將理解,方法700的一個(gè)或多個(gè)操作可以調(diào)換和/或同時(shí)執(zhí)行。
在實(shí)施例中,方法700可以包括創(chuàng)建虛擬機(jī)的操作705。對(duì)此進(jìn)一步地,方法700可以包括操作710,用于在虛擬機(jī)上執(zhí)行賓客操作系統(tǒng)。操作715可以包括確定虛擬機(jī)處于空閑狀態(tài)。根據(jù)各種實(shí)施例,操作715可以包括與確定用戶交互、網(wǎng)絡(luò)活動(dòng)或處理器活動(dòng)在預(yù)定時(shí)間段內(nèi)的缺少(例如,對(duì)于C1或更加不活躍的功率狀態(tài)的與賓客操作系統(tǒng)相關(guān)聯(lián)的至少百分之九十五(95)的駐留比率)相關(guān)聯(lián)的操作。在另一實(shí)施例中,操作715可以包括與從賓客操作系統(tǒng)接收對(duì)于更加不活躍功率狀態(tài)的一個(gè)或多個(gè)請(qǐng)求相關(guān)聯(lián)的操作(例如,賓客操作系統(tǒng)可以請(qǐng)求C1狀態(tài))。在一個(gè)實(shí)施例中,操作715可以包括與確定虛擬機(jī)不再處于前臺(tái)狀態(tài)并且因此處于空閑狀態(tài)相關(guān)聯(lián)的操作。基于確定虛擬機(jī)處于空閑狀態(tài),方法700可以包括操作720,用于使由虛擬機(jī)消耗的處理器周期減少。該操作720可以包括與以下相關(guān)聯(lián)的操作:掛起或終止被調(diào)度用于執(zhí)行的一個(gè)或多個(gè)線程和/或降低(例如消除)與虛擬機(jī)相關(guān)聯(lián)的中斷頻率。相應(yīng)地,在虛擬機(jī)處于空閑狀態(tài)時(shí),由虛擬機(jī)消耗的處理器周期可以減少。在實(shí)施例中,操作720可以包括降低與虛擬機(jī)相關(guān)聯(lián)的中斷的頻率,這可以促進(jìn)處理器進(jìn)入低功率狀態(tài)(例如從C1到C7)。
在實(shí)施例中,方法700可以包括操作725,用于確定已經(jīng)接收到用于使在虛擬機(jī)上執(zhí)行的賓客操作系統(tǒng)執(zhí)行至少一個(gè)指令的至少一個(gè)輸入。在一個(gè)實(shí)施例中,該至少一個(gè)輸入可以例如是用戶交互(例如,觸覺按鈕的按壓和/或姿勢(shì)的識(shí)別)、網(wǎng)絡(luò)事件(例如,網(wǎng)絡(luò)數(shù)據(jù)分組的接收和/或模擬語音數(shù)據(jù)的接收)和/或?qū)τ诟踊钴S的功率狀態(tài)的請(qǐng)求(例如,對(duì)于C0功率狀態(tài)的請(qǐng)求)?;诖_定已經(jīng)接收到所述至少一個(gè)輸入,方法700可以包括操作730,用于使由虛擬機(jī)消耗的處理器周期增加。相應(yīng)地,在虛擬機(jī)不再處于空閑狀態(tài)時(shí),可以諸如通過重啟或恢復(fù)與虛擬機(jī)相關(guān)聯(lián)的一個(gè)或多個(gè)線程和/或增加(例如,重啟或恢復(fù))與虛擬機(jī)相關(guān)聯(lián)的中斷,來增加由虛擬機(jī)消耗的處理器周期。
在各種實(shí)施例中,示例1可以是一種計(jì)算裝置,其包括虛擬機(jī)功率管理特征,所述計(jì)算裝置包括:虛擬機(jī)監(jiān)視器,用于管理在所述計(jì)算裝置上執(zhí)行虛擬機(jī),并且用于將虛擬機(jī)從前臺(tái)狀態(tài)轉(zhuǎn)變?yōu)楹笈_(tái)狀態(tài);以及智能虛擬機(jī)功率管理器,與虛擬機(jī)監(jiān)視器耦合,用于檢測(cè)虛擬機(jī)不再處于前臺(tái)狀態(tài),并且用于響應(yīng)于虛擬機(jī)不再處于前臺(tái)狀態(tài)的檢測(cè)而使由虛擬機(jī)消耗的處理器周期減少。示例2可以包括示例1的計(jì)算裝置,其中,所述計(jì)算裝置是便攜式電子裝置。示例3可以包括示例1的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于通過使虛擬機(jī)的賓客操作系統(tǒng)的處理器周期消耗減少,或者通過與虛擬機(jī)相關(guān)聯(lián)的中斷的頻率的降低,而使由虛擬機(jī)消耗的處理器周期減少。示例4可以包括示例3的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于通過防止賓客操作系統(tǒng)執(zhí)行任意指令,而使由虛擬機(jī)的賓客操作系統(tǒng)的處理器周期消耗減少。示例5可以包括示例1至4中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于檢測(cè)虛擬機(jī)不再處于后臺(tái)狀態(tài),并且用于響應(yīng)于虛擬機(jī)不再處于后臺(tái)狀態(tài)的檢測(cè)而使由虛擬機(jī)消耗的處理器周期增加。示例6可以包括示例5的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于通過要由虛擬機(jī)的賓客操作系統(tǒng)執(zhí)行的一個(gè)或多個(gè)進(jìn)程的掛起或結(jié)束,而使由虛擬機(jī)消耗的處理器周期減少,并且進(jìn)一步地,其中,智能虛擬機(jī)功率管理器用于通過恢復(fù)或重啟在減少之前要由虛擬機(jī)的賓客操作系統(tǒng)執(zhí)行的一個(gè)或多個(gè)進(jìn)程,而使由虛擬機(jī)消耗的處理器周期增加。示例7可以包括示例1至4中的任一項(xiàng)的計(jì)算裝置,其中,虛擬機(jī)監(jiān)視器是管理程序,并且智能虛擬機(jī)功率管理器用于使用對(duì)于管理程序的超調(diào)用而使由虛擬機(jī)消耗的處理器周期減少。示例8可以包括示例1至4中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于用戶輸入的檢測(cè)來檢測(cè)虛擬機(jī)不再處于前臺(tái)狀態(tài)。示例9可以包括示例8的計(jì)算裝置,其中,虛擬機(jī)監(jiān)視器用于通過用戶接口來檢測(cè)用戶輸入,并且用于響應(yīng)于用戶輸入而將虛擬機(jī)從前臺(tái)狀態(tài)轉(zhuǎn)變?yōu)楹笈_(tái)狀態(tài),并且所述計(jì)算裝置還包括:用戶接口,與虛擬機(jī)監(jiān)視器耦合,用于檢測(cè)對(duì)于所述計(jì)算裝置的用戶輸入。示例10可以包括示例9的計(jì)算裝置,其中,用戶接口是觸摸屏、觸覺按鈕或姿勢(shì)識(shí)別裝置。
在各種實(shí)施例中,示例11可以是一種計(jì)算裝置,其包括虛擬機(jī)功率管理特征,所述計(jì)算裝置包括:虛擬機(jī)監(jiān)視器,用于管理在所述計(jì)算裝置上執(zhí)行具有賓客操作系統(tǒng)的虛擬機(jī),并且用于檢測(cè)用于使賓客操作系統(tǒng)執(zhí)行一個(gè)或多個(gè)指令的至少一個(gè)事件;以及智能虛擬機(jī)功率管理器,與虛擬機(jī)監(jiān)視器耦合,用于確定虛擬機(jī)處于空閑狀態(tài)、用于基于虛擬機(jī)處于空閑狀態(tài)的確定而使由虛擬機(jī)消耗的處理器周期減少,以及用于響應(yīng)于所述至少一個(gè)事件的檢測(cè)而使由虛擬機(jī)消耗的處理器周期增加。示例12可以包括示例11的計(jì)算裝置,其中,所述計(jì)算裝置是便攜式電子裝置。示例13可以包括示例11的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于對(duì)于所述計(jì)算裝置的調(diào)度器的請(qǐng)求而使由虛擬機(jī)消耗的處理器周期減少,所述請(qǐng)求用于從與調(diào)度器相關(guān)聯(lián)的隊(duì)列中移除與虛擬機(jī)相關(guān)聯(lián)的至少一個(gè)進(jìn)程。示例14可以包括示例11的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于在虛擬機(jī)處于所述計(jì)算裝置處的前臺(tái)狀態(tài)時(shí)確定虛擬機(jī)處于空閑狀態(tài)。示例15可以包括示例11至14中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于將虛擬機(jī)轉(zhuǎn)變到后臺(tái)狀態(tài)的指令而確定虛擬機(jī)處于空閑狀態(tài)。示例16可以包括示例11至14中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于網(wǎng)絡(luò)分組在預(yù)定間隔內(nèi)的缺少而確定虛擬機(jī)處于空閑狀態(tài),并且所述至少一個(gè)事件包括分組通過網(wǎng)絡(luò)的接收,并且所述計(jì)算裝置還包括:接收器,與虛擬機(jī)監(jiān)視器耦合,用于處理要通過網(wǎng)絡(luò)接收的分組。示例17可以包括示例16的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于語音呼叫在另一預(yù)定間隔內(nèi)的缺少而確定虛擬機(jī)處于空閑狀態(tài),并且所述至少一個(gè)事件包括語音呼叫的接收,并且進(jìn)一步地,其中,接收器用于處理所接收的語音呼叫。示例18可以包括示例11至14中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于用戶交互的缺少而確定虛擬機(jī)處于空閑狀態(tài),并且所述至少一個(gè)事件包括用戶交互的接收,并且所述計(jì)算裝置還包括:用戶接口,與虛擬機(jī)監(jiān)視器耦合,用于檢測(cè)用戶交互的接收。示例19可以包括示例11至14中的任一項(xiàng)的計(jì)算裝置,其中,智能虛擬機(jī)功率管理器用于基于要由賓客操作系統(tǒng)指示的虛擬C狀態(tài)而確定虛擬機(jī)處于空閑狀態(tài)。
在各種實(shí)施例中,示例20可以是一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其包括計(jì)算裝置可執(zhí)行指令,其中所述指令響應(yīng)于由計(jì)算裝置的執(zhí)行而使計(jì)算裝置:檢測(cè)第一預(yù)定義事件,第一預(yù)定義事件使在計(jì)算裝置上操作的虛擬機(jī)從計(jì)算裝置的前臺(tái)移動(dòng)到計(jì)算裝置的后臺(tái);基于第一預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的處理器周期減少;檢測(cè)第二預(yù)定義事件,第二預(yù)定義事件使虛擬機(jī)從后臺(tái)移動(dòng)到前臺(tái);以及基于第二預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的處理器周期增加。示例21可以包括示例20的一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其中計(jì)算裝置是智能電話、平板計(jì)算機(jī)、便攜式媒體播放器或者膝上型計(jì)算機(jī)。示例22可以包括示例20至21中的任一項(xiàng)的一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其中,第一預(yù)定義事件是與便攜式電子裝置的用戶接口的第一用戶交互的接收,并且第二預(yù)定義事件是與用戶接口的第二用戶交互的接收。
在各種實(shí)施例中,示例23可以是一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其包括計(jì)算裝置可執(zhí)行指令,其中所述指令響應(yīng)于由便攜式電子裝置的執(zhí)行而使便攜式電子裝置:確定在便攜式電子裝置處執(zhí)行的虛擬機(jī)處于空閑狀態(tài);基于虛擬機(jī)處于空閑狀態(tài)的確定,使由虛擬機(jī)消耗的處理器周期減少;確定便攜式電子裝置已經(jīng)接收到用于使與虛擬機(jī)相關(guān)聯(lián)的賓客操作系統(tǒng)執(zhí)行至少一個(gè)指令的至少一個(gè)輸入;以及響應(yīng)于所述至少一個(gè)輸入已經(jīng)被接收到的確定,而使由虛擬機(jī)消耗的處理器周期增加。示例24可以包括示例23的一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其中所述指令響應(yīng)于由計(jì)算裝置的執(zhí)行,進(jìn)一步使計(jì)算裝置:創(chuàng)建虛擬機(jī);以及在所創(chuàng)建的虛擬機(jī)上執(zhí)行賓客操作系統(tǒng)。示例25可以包括示例23至24中的任一項(xiàng)的一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)系統(tǒng)可讀介質(zhì),其中,虛擬機(jī)處于空閑狀態(tài)的確定包括用戶交互、網(wǎng)絡(luò)活動(dòng)或處理器活動(dòng)在預(yù)定時(shí)間段內(nèi)的缺少的確定。
在各種實(shí)施例中,示例26可以是用于實(shí)施虛擬機(jī)功率管理特征的計(jì)算機(jī)實(shí)施的方法,所述方法包括:通過計(jì)算裝置來檢測(cè)第一預(yù)定義事件,第一預(yù)定義事件使在計(jì)算裝置上操作的虛擬機(jī)從計(jì)算裝置的前臺(tái)移動(dòng)到計(jì)算裝置的后臺(tái);通過計(jì)算裝置基于第一預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的處理器周期減少;通過計(jì)算裝置來檢測(cè)第二預(yù)定義事件,第二預(yù)定義事件使虛擬機(jī)從后臺(tái)移動(dòng)到前臺(tái);通過計(jì)算裝置基于第二預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的處理器周期增加。示例27可以包括示例26的計(jì)算機(jī)實(shí)施的方法,其中計(jì)算裝置是智能電話、平板計(jì)算機(jī)、便攜式媒體播放器以及膝上型計(jì)算機(jī)。示例28可以包括示例26的計(jì)算機(jī)實(shí)施的方法,其中,第一預(yù)定義事件是與計(jì)算裝置的用戶接口的第一用戶交互的接收,并且第二預(yù)定義事件是與用戶接口的第二用戶交互的接收。示例29可以包括示例26至28中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,使處理器周期減少包括:通過計(jì)算裝置來掛起要由虛擬機(jī)的賓客操作系統(tǒng)執(zhí)行的一個(gè)或多個(gè)進(jìn)程。示例30可以包括示例26至28中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,并且其中,使處理器周期增加包括:通過計(jì)算裝置恢復(fù)在使處理器周期減少之前要由虛擬機(jī)的賓客操作系統(tǒng)執(zhí)行的一個(gè)或多個(gè)進(jìn)程。示例31可以包括示例26至28中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,使處理器周期減少包括:通過計(jì)算裝置來使用對(duì)于與計(jì)算裝置相關(guān)聯(lián)的管理程序的超調(diào)用,以使由虛擬機(jī)消耗的處理器周期減少。
在各種實(shí)施例中,示例32可以是用于實(shí)施虛擬機(jī)功率管理特征的計(jì)算機(jī)實(shí)施的方法,所述方法包括:通過便攜式電子裝置來確定虛擬機(jī)處于空閑狀態(tài);通過便攜式電子裝置基于虛擬機(jī)處于空閑狀態(tài)的確定,使由虛擬機(jī)消耗的處理器周期減少;通過便攜式電子裝置來接收用于使與虛擬機(jī)相關(guān)聯(lián)的賓客操作系統(tǒng)執(zhí)行至少一個(gè)指令的至少一個(gè)輸入;以及通過便攜式電子裝置響應(yīng)于所述至少一個(gè)輸入已經(jīng)被接收到的確定,而使由虛擬機(jī)消耗的處理器周期增加。示例33可以包括示例32的計(jì)算機(jī)實(shí)施的方法,所述方法還包括:通過便攜式電子裝置來創(chuàng)建虛擬機(jī);以及通過便攜式電子裝置在所創(chuàng)建的虛擬機(jī)上執(zhí)行賓客操作系統(tǒng)。示例34可以包括示例32至33中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,確定虛擬機(jī)處于空閑狀態(tài)包括:通過便攜式電子裝置來確定用戶交互、網(wǎng)絡(luò)活動(dòng)或處理器活動(dòng)在預(yù)定時(shí)間段內(nèi)的缺少。示例35可以包括示例32至33中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,確定虛擬機(jī)處于空閑狀態(tài)包括:通過便攜式電子裝置來確定虛擬機(jī)不再處于前臺(tái)。示例36可以包括示例32至33中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,使處理器周期減少包括:通過便攜式電子裝置來使用對(duì)于與便攜式電子裝置相關(guān)聯(lián)的管理程序的超調(diào)用,以使由虛擬機(jī)消耗的處理器周期減少。示例37可以包括示例32至33中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,使處理器周期減少包括:通過便攜式電子裝置來使用對(duì)于與便攜式電子裝置相關(guān)聯(lián)的調(diào)度器的請(qǐng)求,所述請(qǐng)求用于從與調(diào)度器相關(guān)聯(lián)的隊(duì)列中移除與虛擬機(jī)相關(guān)聯(lián)的至少一個(gè)進(jìn)程。示例38可以包括示例32至33中的任一項(xiàng)的計(jì)算機(jī)實(shí)施的方法,其中,便攜式電子裝置是智能電話、平板計(jì)算機(jī)、便攜式媒體播放器或者膝上型計(jì)算機(jī)。
在各種實(shí)施例中,示例39可以是一種設(shè)備,所述設(shè)備包括:用于檢測(cè)第一預(yù)定義事件的構(gòu)件,第一預(yù)定義事件使在計(jì)算裝置上操作的虛擬機(jī)從計(jì)算裝置的前臺(tái)移動(dòng)到計(jì)算裝置的后臺(tái);用于基于第一預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的計(jì)算裝置的處理器周期減少的構(gòu)件;用于檢測(cè)第二預(yù)定義事件的構(gòu)件,第二預(yù)定義事件使虛擬機(jī)從后臺(tái)移動(dòng)到前臺(tái);以及用于基于第二預(yù)定義事件的檢測(cè),使由虛擬機(jī)消耗的計(jì)算裝置的處理器周期增加的構(gòu)件。
在各種實(shí)施例中,示例40可以是一種設(shè)備,所述設(shè)備包括:用于確定與便攜式電子裝置相關(guān)聯(lián)的虛擬機(jī)處于空閑狀態(tài)的構(gòu)件;用于基于虛擬機(jī)處于空閑狀態(tài)的確定,使由虛擬機(jī)消耗的便攜式電子裝置的處理器周期減少的構(gòu)件;用于接收用于使與虛擬機(jī)相關(guān)聯(lián)的賓客操作系統(tǒng)執(zhí)行至少一個(gè)指令的至少一個(gè)輸入的構(gòu)件;以及用于響應(yīng)于至少一個(gè)輸入已經(jīng)被接收到的確定,而使由虛擬機(jī)消耗的便攜式電子裝置的處理器周期增加的構(gòu)件。
已經(jīng)在對(duì)計(jì)算機(jī)存儲(chǔ)器內(nèi)的數(shù)據(jù)比特的操作的算法和符號(hào)表示方面,給出了前述具體實(shí)施方式的一些部分。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員使用的方式,該方式用于最有效地將他們的工作的實(shí)質(zhì)傳達(dá)給本領(lǐng)域的其他技術(shù)人員。算法在這里,并且普遍地,被認(rèn)為是導(dǎo)致所期望結(jié)果的自我一致的(self-consistent)操作序列。這些操作是要求物理量的物理操縱的那些。
然而,應(yīng)該銘記,所有這些和類似的術(shù)語都是與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)的,并且僅僅是應(yīng)用于這些量的簡便標(biāo)記。若非另有具體聲明,否則如從上文討論中清楚的是,應(yīng)當(dāng)意識(shí)到,貫穿說明書,利用諸如在所附權(quán)利要求中闡述的那些的術(shù)語進(jìn)行的討論是指計(jì)算機(jī)系統(tǒng)或類似的電子計(jì)算裝置的動(dòng)作和/或處理,其將計(jì)算機(jī)系統(tǒng)的寄存器和存儲(chǔ)器中被表示為物理(例如,電子)量的數(shù)據(jù)操縱和/或變換為計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器、寄存器或其他這樣的信息存儲(chǔ)、傳輸或顯示裝置中被類似地表示為物理量的其他數(shù)據(jù)。
本發(fā)明的實(shí)施例還涉及用于執(zhí)行在此的操作的設(shè)備。這樣的計(jì)算機(jī)程序存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)中。機(jī)器可讀介質(zhì)包括用于存儲(chǔ)機(jī)器(例如計(jì)算機(jī))可讀形式的信息的任何介質(zhì)。例如,機(jī)器可讀(例如計(jì)算機(jī)可讀)介質(zhì)包括機(jī)器(例如計(jì)算機(jī))可讀存儲(chǔ)介質(zhì)(例如,只讀存儲(chǔ)器(“ROM”)、隨機(jī)存取存儲(chǔ)器(“RAM”)、磁盤存儲(chǔ)介質(zhì)、光學(xué)存儲(chǔ)介質(zhì)、閃速存儲(chǔ)器裝置)。
在前述圖中描繪的過程或方法可以通過處理邏輯來執(zhí)行,所述處理邏輯包括硬件(例如,電路、專用邏輯等)、軟件(例如,體現(xiàn)在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上)或兩者的組合。雖然以上在一些順序操作方面描述了過程或方法,但應(yīng)理解,所描述的一些操作可以以不同順序執(zhí)行。此外,一些操作可以并行而不是順序地執(zhí)行。
本發(fā)明的實(shí)施例并未參照任何特定的編程語言來描述。應(yīng)理解,各種編程語言可以用于實(shí)施如在此描述的發(fā)明的實(shí)施例的教導(dǎo)。
在前述說明書中,已經(jīng)參照其具體的示例性實(shí)施例描述了本發(fā)明的實(shí)施例。清楚的是,在不偏離如在所附權(quán)利要求中闡述的本發(fā)明的較寬精神和范圍的情況下,可以做出各種修改。說明書和各圖相應(yīng)地應(yīng)認(rèn)為是說明性意義而不是限制性意義的。