使用具有客操作系統(tǒng)及虛擬處理器的超管理器的系統(tǒng)及方法
【專利說(shuō)明】使用具有客操作系統(tǒng)及虛擬處理器的超管理器的系統(tǒng)及方法
[0001]相關(guān)串請(qǐng)案的交叉參考
[0002]本申請(qǐng)案主張2013年3月14日申請(qǐng)的共同擁有的第13/828,183號(hào)美國(guó)非臨時(shí)專利申請(qǐng)案的優(yōu)先權(quán),所述申請(qǐng)案的內(nèi)容全文以引用的方式明確地并入本文中。
技術(shù)領(lǐng)域
[0003]本發(fā)明大體上涉及使用超管理器虛擬化操作系統(tǒng)。
【背景技術(shù)】
[0004]技術(shù)的進(jìn)步已產(chǎn)生較小且較強(qiáng)大的計(jì)算裝置。舉例來(lái)說(shuō),當(dāng)前存在多種便攜式個(gè)人計(jì)算裝置,包含無(wú)線計(jì)算裝置,例如,便攜式無(wú)線電話、個(gè)人數(shù)字助理(PDA)、平板計(jì)算機(jī)及傳呼裝置,其體積小、重量輕且易于由用戶攜帶。許多此些計(jì)算裝置包含并入其中的其它裝置。舉例來(lái)說(shuō),無(wú)線電話還可包含數(shù)字靜態(tài)相機(jī)、數(shù)字視頻相機(jī)、數(shù)字記錄器及音頻文件播放器。而且,此些計(jì)算裝置可處理可執(zhí)行指令,包含軟件應(yīng)用程序,例如可用于存取因特網(wǎng)的網(wǎng)頁(yè)瀏覽器應(yīng)用程序,及利用靜態(tài)或視頻相機(jī)并提供多媒體播放功能性的多媒體應(yīng)用程序。
[0005]為支持此高級(jí)功能性,計(jì)算裝置可包含操作系統(tǒng)。操作系統(tǒng)可提供可用硬件資源的抽象化。舉例來(lái)說(shuō),操作系統(tǒng)可多路復(fù)用各種軟件任務(wù)中的系統(tǒng)資源(例如,處理器、存儲(chǔ)器等)。操作系統(tǒng)還可調(diào)度用于執(zhí)行的任務(wù),且執(zhí)行存儲(chǔ)器管理。另外,操作系統(tǒng)可處置事件的封鎖及解除封鎖。
[0006]在某些情況下,在單一計(jì)算裝置處執(zhí)行多個(gè)操作系統(tǒng),或同一操作系統(tǒng)的多個(gè)實(shí)例可為有利的。超管理器(還稱為虛擬機(jī)監(jiān)視器)可將可用硬件資源的抽象化提供到操作系統(tǒng)。因此,超管理器可充當(dāng)用于多個(gè)操作系統(tǒng)(或同一操作系統(tǒng)的多個(gè)實(shí)例)的操作系統(tǒng)。當(dāng)使用超管理器時(shí),超管理器可包含用以確定授予哪個(gè)操作系統(tǒng)及其任務(wù)在特定時(shí)間處存取特定硬件資源的調(diào)度程序。因此,可在系統(tǒng)內(nèi)執(zhí)行調(diào)度的多個(gè)層級(jí):第一層級(jí)可包含每一個(gè)別操作系統(tǒng)的調(diào)度程序,且第二層級(jí)可包含超管理器的調(diào)度程序。
[0007]執(zhí)行調(diào)度的多個(gè)層級(jí)將額外開銷引入系統(tǒng)中(例如,歸因于由超管理器所執(zhí)行的上下文切換)。當(dāng)操作系統(tǒng)中的一或多者為需要能夠保證某些時(shí)延的實(shí)時(shí)操作系統(tǒng)時(shí),此額外開銷可為不可接受的。為將實(shí)時(shí)操作系統(tǒng)包含于多個(gè)操作系統(tǒng)環(huán)境中,實(shí)時(shí)操作系統(tǒng)通常給定有“特殊”優(yōu)先級(jí)。舉例來(lái)說(shuō),實(shí)時(shí)操作系統(tǒng)可具有最高可用優(yōu)先級(jí)。然而,此情況可為低效的,這是因?yàn)槊恳徊僮飨到y(tǒng)內(nèi)的任務(wù)優(yōu)先級(jí)信息可能不可由超管理器存取。舉例來(lái)說(shuō),如果實(shí)時(shí)操作系統(tǒng)正執(zhí)行不重要的任務(wù)但另一操作系統(tǒng)正執(zhí)行重要任務(wù),那么超管理器可仍首先調(diào)度相對(duì)不重要的實(shí)時(shí)操作系統(tǒng)任務(wù)。
【發(fā)明內(nèi)容】
[0008]揭示使得操作系統(tǒng)(例如,實(shí)時(shí)操作系統(tǒng))能夠在時(shí)延減少的情況下,在超管理器控制的計(jì)算環(huán)境中執(zhí)行的系統(tǒng)及方法。代替(或除)具有內(nèi)建式調(diào)度程序的常規(guī)客操作系統(tǒng)以外,所述所描述的技術(shù)利用包含受限的調(diào)度功能或并無(wú)調(diào)度功能,且代替地依賴于超管理器以用于調(diào)度的“精簡(jiǎn)型”客操作系統(tǒng)。還可由所述超管理器而非由個(gè)別操作系統(tǒng)處置封鎖及解除封鎖。另外,所述超管理器可以存取關(guān)于所述個(gè)別操作系統(tǒng)中的每一者的任務(wù)的優(yōu)先級(jí)的信息。
[0009]每次在“精簡(jiǎn)型”操作系統(tǒng)處創(chuàng)建新任務(wù),所述“精簡(jiǎn)型”操作系統(tǒng)可請(qǐng)求所述超管理器創(chuàng)建用于所述任務(wù)的“虛擬處理器”。所述超管理器可調(diào)度所述虛擬處理器以在底層物理硬件(例如,硬件處理器)上執(zhí)行,且只要對(duì)應(yīng)任務(wù)存在,那么可維持虛擬處理器。舉例來(lái)說(shuō),每一任務(wù)可與虛擬處理器相關(guān)聯(lián),且可由所述超管理器的調(diào)度程序處置所有調(diào)度。此外,所述超管理器的所述調(diào)度程序可以存取個(gè)別任務(wù)/虛擬處理器的所述優(yōu)先級(jí),所述優(yōu)先級(jí)可用于橫跨所有客操作系統(tǒng)執(zhí)行較有效的虛擬處理器調(diào)度。因此,所述所描述的系統(tǒng)及方法可簡(jiǎn)化個(gè)別操作系統(tǒng),并減少所述超管理器控制的計(jì)算環(huán)境中的總時(shí)延,借此使得能夠在所述超管理器控制的計(jì)算環(huán)境中使用一或多個(gè)實(shí)時(shí)操作系統(tǒng)及其它操作系統(tǒng)。
[0010]在特定實(shí)施例中,一種設(shè)備包含處理器及超管理器。所述超管理器經(jīng)配置以調(diào)度虛擬處理器以由所述處理器執(zhí)行。所述虛擬處理器中的每一者具有可由所述超管理器存取且對(duì)應(yīng)于對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)的優(yōu)先級(jí)。所述任務(wù)優(yōu)先級(jí)是由客操作系統(tǒng)指派。
[0011]在另一特定實(shí)施例中,一種方法包含在計(jì)算裝置的超管理器處,接收來(lái)自客操作系統(tǒng)的創(chuàng)建虛擬處理器以執(zhí)行任務(wù)的請(qǐng)求。所述方法還包含創(chuàng)建所述虛擬處理器,及調(diào)度所述虛擬處理器以在所述計(jì)算裝置的硬件處理器上執(zhí)行。所述虛擬處理器具有由所述客操作系統(tǒng)所指派的優(yōu)先級(jí),其中所述優(yōu)先級(jí)對(duì)應(yīng)于所述任務(wù)的任務(wù)優(yōu)先級(jí)。
[0012]在另一特定實(shí)施例中,一種設(shè)備包含用于處理的裝置,及可由用于處理的所述裝置執(zhí)行的用于調(diào)度的裝置。用于調(diào)度的所述裝置經(jīng)配置以調(diào)度虛擬處理器以由用于處理的所述裝置執(zhí)行。所述虛擬處理器中的每一者具有可由用于調(diào)度的所述裝置存取且對(duì)應(yīng)于對(duì)應(yīng)任務(wù)的任務(wù)優(yōu)先級(jí)的優(yōu)先級(jí)。所述任務(wù)優(yōu)先級(jí)是由第一客操作系統(tǒng)指派。
[0013]在另一特定實(shí)施例中,一種非暫時(shí)性計(jì)算機(jī)可讀媒體包含在由計(jì)算機(jī)執(zhí)行時(shí)導(dǎo)致所述計(jì)算機(jī)進(jìn)行以下操作的指令:在超管理器處,接收來(lái)自客操作系統(tǒng)的創(chuàng)建虛擬處理器以執(zhí)行任務(wù)的請(qǐng)求。所述指令在由所述計(jì)算機(jī)執(zhí)行時(shí)還導(dǎo)致所述計(jì)算機(jī)創(chuàng)建所述虛擬處理器且調(diào)度所述虛擬處理器以用于執(zhí)行。所述虛擬處理器具有對(duì)應(yīng)于所述任務(wù)的任務(wù)優(yōu)先級(jí)的優(yōu)先級(jí)。所述任務(wù)優(yōu)先級(jí)是由所述客操作系統(tǒng)指派。
[0014]在另一特定實(shí)施例中,一種設(shè)備包含處理器及客操作系統(tǒng)。響應(yīng)于接收創(chuàng)建任務(wù)的請(qǐng)求,所述客操作系統(tǒng)請(qǐng)求超管理器創(chuàng)建虛擬處理器以執(zhí)行所述任務(wù)。所述虛擬處理器可于所述處理器上調(diào)度。
[0015]在另一特定實(shí)施例中,一種方法包含在執(zhí)行于包括超管理器及至少一處理器的計(jì)算裝置處的客操作系統(tǒng)處,接收創(chuàng)建任務(wù)的請(qǐng)求。所述方法還包含響應(yīng)于創(chuàng)建所述任務(wù)的所述請(qǐng)求,請(qǐng)求所述超管理器創(chuàng)建虛擬處理器以執(zhí)行所述所請(qǐng)求的任務(wù)。所述虛擬處理器可于所述至少一處理器上調(diào)度。
[0016]在另一特定實(shí)施例中,一種設(shè)備包含處理器及客操作系統(tǒng)。所述客操作系統(tǒng)包含用于響應(yīng)于接收創(chuàng)建任務(wù)的請(qǐng)求而請(qǐng)求超管理器創(chuàng)建虛擬處理器以執(zhí)行所述任務(wù)的裝置。所述虛擬處理器可于所述處理器上調(diào)度。
[0017]在另一特定實(shí)施例中,一種非暫時(shí)性計(jì)算機(jī)可讀媒體包含在由計(jì)算機(jī)執(zhí)行時(shí)導(dǎo)致所述計(jì)算機(jī)進(jìn)行以下操作的指令:在客操作系統(tǒng)處,接收創(chuàng)建任務(wù)的請(qǐng)求。所述指令在由所述計(jì)算機(jī)執(zhí)行時(shí)還導(dǎo)致所述計(jì)算機(jī)響應(yīng)于創(chuàng)建所述任務(wù)的所述請(qǐng)求,請(qǐng)求超管理器創(chuàng)建虛擬處理器以執(zhí)行所述所請(qǐng)求的任務(wù)。所述虛擬處理器可于硬件處理器上調(diào)度。
[0018]在另一特定實(shí)施例中,一種電子裝置包含處理器、超管理器、第一客操作系統(tǒng)及第二客操作系統(tǒng)。所述第一客操作系統(tǒng)的至少一任務(wù)是通過(guò)由所述第一客操作系統(tǒng)向所述超管理器請(qǐng)求的第一虛擬處理器來(lái)執(zhí)行。所述第二客操作系統(tǒng)的至少一任務(wù)是通過(guò)由所述第二客操作系統(tǒng)向所述超管理器請(qǐng)求的第二虛擬處理器來(lái)執(zhí)行。所述第一虛擬處理器及所述第二虛擬處理器是通過(guò)所述處理器執(zhí)行。
[0019]由所揭示的實(shí)施例中的至少一者所提供的一特定優(yōu)勢(shì)為對(duì)來(lái)自具有減少的時(shí)延的多個(gè)客操作系統(tǒng)的任務(wù),執(zhí)行經(jīng)優(yōu)先排序的調(diào)度的能力。由所揭示的實(shí)施例中的至少一者所提供的另一特定優(yōu)勢(shì)為在超管理器控制的計(jì)算環(huán)境內(nèi)使用實(shí)時(shí)操作系統(tǒng)的能力。本發(fā)明的其它方面、優(yōu)勢(shì)及特征將在審閱包含以下部分的完整申請(qǐng)案之后變得顯而易見:圖式簡(jiǎn)單說(shuō)明、實(shí)施方式及權(quán)利要求書。
【附圖說(shuō)明】
[0020]圖1為可操作以使用具有客操作系統(tǒng)及虛擬處理器的超管理器的系統(tǒng)的說(shuō)明性實(shí)施例的框圖;
[0021]圖2為可操作以使用具有客操作系統(tǒng)及虛擬處理器的超管理器的系統(tǒng)的另一說(shuō)明性實(shí)施例的框圖;
[0022]圖3為在圖1的超管理器處操作的方法的說(shuō)明性實(shí)施例的流程圖;
[0023]圖4為在圖1的客操作系統(tǒng)中的一者處操作的方法的說(shuō)明性實(shí)施例的流程圖;
[0024]圖5為包含可操作以支持使用具有客操作系統(tǒng)及虛擬處理器的超管理器的組件的無(wú)線裝置的框圖;及
[0025]圖6為可操作以執(zhí)行優(yōu)先級(jí)繼承的系統(tǒng)的說(shuō)明性實(shí)施例的框圖。
【具體實(shí)施方式】
[0026]圖1為可操作以使用具有客操作系統(tǒng)及虛擬處理器的超管理器的系統(tǒng)100的說(shuō)明性實(shí)施例的框圖。系統(tǒng)100包含一或多個(gè)硬件資源,例如一或多個(gè)處理器110。系統(tǒng)還包含可由處理器110執(zhí)行的超管理器120。超管理器120可仲裁由一或多個(gè)客操作系統(tǒng)(例如,說(shuō)明性第一客操作系統(tǒng)130及說(shuō)明性第二客操作系統(tǒng)140)對(duì)一或多個(gè)處理器110的存取。如本文中進(jìn)一步所描述,客操作系統(tǒng)130、140中的一或多者可為實(shí)時(shí)操作系統(tǒng)(RTOS)。
[0027]超管理器120可包含各種邏輯及/或功能模塊。在特定實(shí)施例中,使用可由處理器110執(zhí)行的軟件指令實(shí)施每一此模塊。替代性地,可使用硬件裝置實(shí)施超管理器120的所選定功能性,例如控制器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)裝置或一些其它裝置。在圖1的實(shí)施例中,超管理器120包含優(yōu)先級(jí)感知調(diào)度程序121、虛擬處理器創(chuàng)建/刪除模塊122及虛擬處理器封鎖/解除封鎖模塊123。然而,應(yīng)注意,模塊121到123僅是出于說(shuō)明目的。在替代性實(shí)施例中,可使用較多或較少模塊進(jìn)行參考超管理器120所描述的功能。
[0028]虛擬處理器創(chuàng)建/刪除模塊122可經(jīng)配置以接收來(lái)自客操作系統(tǒng)130、140中的任一者的請(qǐng)求。舉例來(lái)說(shuō),可經(jīng)由操作系統(tǒng)超管理器通信機(jī)制(例如,應(yīng)用編程接口(API)或共享存儲(chǔ)器區(qū))接收請(qǐng)求。響應(yīng)于所述請(qǐng)求,虛擬處理器創(chuàng)建/刪除模塊122可創(chuàng)建虛擬處理器。舉例來(lái)說(shuō),第一客操作系統(tǒng)130與四個(gè)任務(wù)151、152、153及154相關(guān)聯(lián)。任務(wù)151、152、153及154中的每一者分別與對(duì)應(yīng)虛擬處理器131、132、133及134相關(guān)聯(lián)。類似地,第二客操作系統(tǒng)140與四個(gè)任務(wù)161、162、163及164相關(guān)聯(lián)。任務(wù)161、162、163及164