專利名稱:虛擬機(jī)監(jiān)控器及其調(diào)度方法
技術(shù)領(lǐng)域:
以下描述涉及用于同時(shí)操作多個(gè)操作系統(tǒng)的虛擬化技術(shù)以及實(shí)現(xiàn)實(shí)時(shí)操作的調(diào)度技術(shù)。
背景技術(shù):
虛擬化是一種允許多個(gè)虛擬機(jī)使它們自身的操作系統(tǒng)在單個(gè)主計(jì)算機(jī)中進(jìn)行操作的技術(shù)。根據(jù)虛擬化,主計(jì)算機(jī)運(yùn)行虛擬機(jī)監(jiān)控器,并且運(yùn)行的虛擬監(jiān)控器創(chuàng)建多個(gè)虛擬機(jī)。虛擬機(jī)(VM)是如物理機(jī)一樣執(zhí)行程序的機(jī)器(即,計(jì)算機(jī))的實(shí)現(xiàn)方式。VM可以是軟件或片上系統(tǒng)(SOC,system-on-chip)。一個(gè)用途是同時(shí)支持實(shí)時(shí)操作系統(tǒng)作為高級操作系統(tǒng)(OS),例如,Linux或Windows。由主計(jì)算機(jī)創(chuàng)建的多個(gè)虛擬機(jī)可同時(shí)運(yùn)行,并且每個(gè)虛擬機(jī)具有其自身的虛擬硬件資源。例如,每個(gè)虛擬機(jī)可具有一個(gè)或多個(gè)虛擬中央處理單元(VCPU),并且可占用主計(jì)算機(jī)的一部分存儲器。在VCPU單元中實(shí)現(xiàn)虛擬環(huán)境中的調(diào)度,同樣地,僅基于分配給每個(gè)VCPU的時(shí)間量子(time quantum)(時(shí)限(time limit))實(shí)現(xiàn)傳統(tǒng)的調(diào)度。因此,這引起對在系統(tǒng)中支持實(shí)時(shí)功能的限制。雖然虛擬化已用于服務(wù)器技術(shù),但是對于每個(gè)服務(wù)器應(yīng)用,VM均等地使用系統(tǒng)資源,同樣,傳統(tǒng)的技術(shù)無法用于具有實(shí)時(shí)處理需求的消費(fèi)電子。
發(fā)明內(nèi)容
在一總體方面,提供了一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器,所述虛擬機(jī)監(jiān)控器包括運(yùn)行隊(duì)列;多個(gè)調(diào)度器,所述多個(gè)調(diào)度器中的至少兩個(gè)調(diào)度器包括不同的調(diào)度特性;控制器,該控制器被配置為將從域接收的任務(wù)插入到運(yùn)行隊(duì)列,根據(jù)事件類型從所述多個(gè)調(diào)度器選擇用于調(diào)度插入到運(yùn)行隊(duì)列的任務(wù)的調(diào)度器。所述虛擬機(jī)監(jiān)控器還可包括表存儲器,該表存儲器被配置為存儲以下項(xiàng)目中的至少一項(xiàng)權(quán)重表,該權(quán)重表被配置為根據(jù)事件類型記錄任務(wù)的優(yōu)先級權(quán)重;時(shí)間表,該時(shí)間表被配置為記錄任務(wù)的運(yùn)行時(shí)限;調(diào)度器列表,該調(diào)度器列表被配置為記錄根據(jù)事件類型將被選擇的調(diào)度器。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將接收的任務(wù)插入到運(yùn)行隊(duì)列; 通過使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序。在所述虛擬機(jī)監(jiān)控器中,任務(wù)的屬性可包括用于觸發(fā)任務(wù)的事件源。在所述虛擬機(jī)監(jiān)控器中,優(yōu)先級權(quán)重可根據(jù)調(diào)度器的類型而變化。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將接收的任務(wù)插入到運(yùn)行隊(duì)列; 根據(jù)對接收的任務(wù)的緊急處理的需求或?qū)邮盏娜蝿?wù)的實(shí)時(shí)處理的需求確定接收的任務(wù)
5的優(yōu)先級的順序。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將接收的任務(wù)插入到運(yùn)行隊(duì)列; 產(chǎn)生或更新時(shí)間表。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為調(diào)用選擇的調(diào)度器,并且插入到運(yùn)行的隊(duì)列的任務(wù)根據(jù)調(diào)用的調(diào)度器的特性被調(diào)度。在所述虛擬機(jī)監(jiān)控器中,可提供多個(gè)運(yùn)行隊(duì)列。在所述虛擬機(jī)監(jiān)控器中,所述多個(gè)運(yùn)行隊(duì)列可分別映射到由所述虛擬機(jī)監(jiān)控器管理的多個(gè)物理資源。在所述虛擬機(jī)監(jiān)控器中,所述多個(gè)運(yùn)行隊(duì)列可分別映射到所述多個(gè)調(diào)度器。在所述虛擬機(jī)監(jiān)控器中控制器還可被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的運(yùn)行隊(duì)列。在所述虛擬機(jī)監(jiān)控器中以具有行和列的矩陣的形式提供運(yùn)行隊(duì)列,并且控制器還可被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的行和列。在所述虛擬機(jī)監(jiān)控器中調(diào)度器可包括期限調(diào)度器,并且控制器還可被配置為響應(yīng)于時(shí)間中斷作為事件類型發(fā)生,調(diào)用期限調(diào)度器。在另一總體方面,提供了一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器的調(diào)度方法, 所述調(diào)度方法包括如下步驟將從域接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)事件類型從包括在所述虛擬機(jī)監(jiān)控器中的多個(gè)調(diào)度器中選擇用于調(diào)度插入到運(yùn)行隊(duì)列的任務(wù)的調(diào)度器。在所述調(diào)度方法中,所述插入任務(wù)的步驟可包括使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序,其中,權(quán)重表記錄任務(wù)的優(yōu)先級權(quán)重。在所述調(diào)度方法中,所述插入任務(wù)的步驟可包括產(chǎn)生或更新記錄任務(wù)的運(yùn)行時(shí)限的時(shí)間表。在所述調(diào)度方法中,所述插入任務(wù)的步驟可包括根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的運(yùn)行隊(duì)列。所述調(diào)度方法還可包括步驟調(diào)用選擇的調(diào)度器,其中,根據(jù)調(diào)用的調(diào)度器的特性對插入到運(yùn)行隊(duì)列的任務(wù)進(jìn)行調(diào)度。在另一總體方面,提供了一種包括程序的計(jì)算機(jī)可讀信息存儲介質(zhì),該程序用于指示計(jì)算機(jī)實(shí)現(xiàn)用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器的調(diào)度方法,所述方法包括如下步驟將從域接收的任務(wù)插入到至少一個(gè)運(yùn)行隊(duì)列;根據(jù)事件類型從所述多個(gè)調(diào)度器選擇用于調(diào)度任務(wù)的調(diào)度器,其中,所述任務(wù)被插入到運(yùn)行隊(duì)列。在另一總體方面,提供了一種用于提供在多個(gè)虛擬機(jī)中執(zhí)行的實(shí)時(shí)任務(wù)的實(shí)時(shí)特性的方法,所述方法包括如下步驟將實(shí)時(shí)任務(wù)包括到目標(biāo)中以在虛擬機(jī)監(jiān)控器(VMM)上進(jìn)行調(diào)度;維持多個(gè)運(yùn)行隊(duì)列,其中,每個(gè)運(yùn)行隊(duì)列包括關(guān)于(VMM)的不同特性;通過多個(gè)虛擬機(jī)的狀態(tài)的指示調(diào)用虛擬機(jī)。所述方法還可包括步驟將調(diào)度實(shí)體、所述多個(gè)運(yùn)行隊(duì)列以及中央處理單元 (CPU)進(jìn)行對應(yīng)來對實(shí)時(shí)任務(wù)進(jìn)行調(diào)度。所述方法還可包括步驟通過VMM的接納控制來測試調(diào)度實(shí)時(shí)任務(wù)的可能性。所述方法還可包括步驟基于事件權(quán)重表和時(shí)間圖表中的至少一個(gè)調(diào)整實(shí)時(shí)任務(wù)的優(yōu)先級順序。
所述方法還可包括步驟通過對將被調(diào)度的目標(biāo)分組來以優(yōu)先方式調(diào)用并運(yùn)行調(diào)度器。在另一總體方面,提供了一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器,所述虛擬機(jī)監(jiān)控器包括控制器,該控制器被配置為將從域接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)事件類型從多個(gè)調(diào)度器中選擇用于對所述任務(wù)進(jìn)行調(diào)度的調(diào)度器,其中,所述多個(gè)調(diào)度器中的至少兩個(gè)調(diào)度器包括不同的調(diào)度特性。所述虛擬機(jī)監(jiān)控器還可包括表存儲器,該表存儲器被配置為存儲以下項(xiàng)目中的至少一項(xiàng)權(quán)重表,該權(quán)重表被配置為根據(jù)事件類型記錄任務(wù)的優(yōu)先級權(quán)重;時(shí)間表,該時(shí)間表被配置為記錄任務(wù)的運(yùn)行時(shí)限;調(diào)度器列表,該調(diào)度器列表被配置為記錄根據(jù)事件類型將被選擇的調(diào)度器。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將接收的任務(wù)插入到運(yùn)行隊(duì)列; 使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序。在所述虛擬機(jī)監(jiān)控器中,任務(wù)的屬性可包括用于觸發(fā)任務(wù)的事件源。在所的虛擬機(jī)監(jiān)控器中,優(yōu)先級權(quán)重可根據(jù)調(diào)度器的類型而變化。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將接收的任務(wù)插入到運(yùn)行隊(duì)列; 根據(jù)對接收的任務(wù)的緊急處理的需求或?qū)邮盏娜蝿?wù)的實(shí)時(shí)處理的需求確定接收的任務(wù)的優(yōu)先級的順序。在所述虛擬機(jī)監(jiān)控器中,控制器還可被配置為將任務(wù)插入到運(yùn)行隊(duì)列;產(chǎn)生或更新時(shí)間表。在所述虛擬機(jī)監(jiān)控器中控制器還可被配置為調(diào)用選擇的調(diào)度器,插入到運(yùn)行隊(duì)列的任務(wù)根據(jù)調(diào)用的調(diào)度器的特性被調(diào)度。在所述虛擬機(jī)監(jiān)控器中以具有行和列的矩陣的形式提供運(yùn)行隊(duì)列;控制器還可被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的行和列。在所述虛擬機(jī)監(jiān)控器中調(diào)度器可包括期限調(diào)度器;控制器還可被配置為響應(yīng)于時(shí)間中斷作為事件類型發(fā)生,調(diào)用期限調(diào)度器。在所述虛擬機(jī)監(jiān)控器還可包括多個(gè)運(yùn)行隊(duì)列,每個(gè)運(yùn)行隊(duì)列包括至少一個(gè)任務(wù), 每個(gè)運(yùn)行隊(duì)列分別與所述多個(gè)調(diào)度器中的一個(gè)調(diào)度器相關(guān)聯(lián)。在所的虛擬機(jī)監(jiān)控器中,選擇的調(diào)度器可被配置為當(dāng)接收事件時(shí),該選擇的調(diào)度器被所述多個(gè)調(diào)度器中的中斷調(diào)度器中斷。在所述虛擬機(jī)監(jiān)控器中,當(dāng)完成在與中斷調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列中的任務(wù)時(shí), 所述虛擬機(jī)監(jiān)控器可被配置為處理與中斷的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列。所述虛擬機(jī)監(jiān)控器中,當(dāng)完成在與中斷調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列中的任務(wù)時(shí),所述虛擬機(jī)監(jiān)控器可被配置為處理與除選擇的調(diào)度器和中斷調(diào)度器之外的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列。在所述虛擬機(jī)監(jiān)控器中運(yùn)行隊(duì)列可與選擇的調(diào)度器相關(guān)聯(lián);選擇的調(diào)度器可被配置為響應(yīng)于沒有事件觸發(fā)調(diào)度器的改變,該選擇的調(diào)度器處理與所述多個(gè)調(diào)度器中的另一調(diào)度器對應(yīng)的另一運(yùn)行隊(duì)列。在所述虛擬機(jī)監(jiān)控器中,選擇的調(diào)度器還可被配置為處理與選擇的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列的一部分;然后處理與另一調(diào)度器對應(yīng)的另一運(yùn)行隊(duì)列。
在所述虛擬機(jī)監(jiān)控器中,緊急的任務(wù)或事件可改變在運(yùn)行隊(duì)列中的多個(gè)任務(wù)的優(yōu)先級順序。一種計(jì)算機(jī)可讀信息介質(zhì)可包括用于指示計(jì)算機(jī)實(shí)現(xiàn)上述方法的程序。從以下詳細(xì)描述、附圖以及權(quán)利要求,其它特征和方面會是清楚的。
圖1示出虛擬機(jī)監(jiān)控器的示例。圖2示出調(diào)度器列表的示例。圖3示出權(quán)重表的示例。圖4示出時(shí)間表的示例。圖5A示出虛擬機(jī)監(jiān)控器的操作的示例。圖5B示出虛擬機(jī)監(jiān)控器的操作的另一示例。圖6A示出虛擬機(jī)監(jiān)控器的另一示例。圖6B示出虛擬機(jī)監(jiān)控器的另一示例。圖7示出虛擬機(jī)監(jiān)控器的調(diào)度方法的示例。圖8示出運(yùn)行隊(duì)列的示例。圖9示出虛擬機(jī)監(jiān)控器的另一示例。圖10示出控制虛擬機(jī)監(jiān)控器的邏輯的方法的示例。貫穿附圖和詳細(xì)描述,除非另有說明,相同附圖標(biāo)號應(yīng)理解為指示相同元件、特性和結(jié)構(gòu)。為了清楚、例證和方便,可以夸大這些元件的相對大小和描述。
具體實(shí)施例方式提供以下的詳細(xì)描述以助于讀者獲得在此描述的方法、設(shè)備和/或系統(tǒng)的完整理解。因此,在此描述的系統(tǒng)、設(shè)備和/或方法的各種改變、修改和等同物將被提供給本領(lǐng)域普通技術(shù)人員。描述的連續(xù)的處理步驟和/或操作是示例,然而,除了必需按特定順序發(fā)生的步驟和/或操作之外,步驟和/或操作的順序不限于在此的闡述并且可以以本領(lǐng)域中已知的方式變化。此外,為了更加清楚和簡明,可省略公知的功能和結(jié)構(gòu)的描述。圖1示出虛擬機(jī)監(jiān)控器(VMM)的示例。如圖1所示,虛擬機(jī)監(jiān)控器100可在多個(gè)域101和102與硬件平臺103之間存在。 域101和102中的每一個(gè)可以是操作系統(tǒng)或應(yīng)用程序。硬件平臺103可以是物理裝置,例如,中央處理單元(CPU)、存儲器和輸入/輸出端口。虛擬機(jī)監(jiān)控器100可通過對硬件平臺103虛擬化來允許多個(gè)域101和102同時(shí)工作。S卩,域101和102中的每一個(gè)可通過虛擬機(jī)監(jiān)控器100進(jìn)行的虛擬化將單個(gè)物理系統(tǒng)資源用作多個(gè)虛擬化系統(tǒng)資源??蓪⒂?01和102分類為可以直接訪問到硬件平臺103的主域(host domain) 101 和可在主域101的協(xié)助下使用硬件平臺103的來賓域(guest domain) 102。各個(gè)域101和 102可分別包括多種類型的任務(wù)104和105。虛擬機(jī)監(jiān)控器100可包括至少一個(gè)運(yùn)行隊(duì)列110、多個(gè)調(diào)度器121、122和123、控制器130和表存儲器140。
運(yùn)行隊(duì)列110可存儲從域101和102接收的任務(wù)104和105,或關(guān)于任務(wù)104和 105的信息。根據(jù)該示例,任務(wù)104和105可以以調(diào)度實(shí)體(schedule entity)的形式存儲在運(yùn)行隊(duì)列110中,其中,所述調(diào)度實(shí)體可用于調(diào)度的單位。存儲在運(yùn)行隊(duì)列110中的任務(wù)Tl、T2和T3可用作將由調(diào)度器121、122和123進(jìn)行調(diào)度的對象。根據(jù)該示例,虛擬機(jī)監(jiān)控器100可包括單個(gè)運(yùn)行隊(duì)列110或多個(gè)運(yùn)行隊(duì)列 110。在虛擬機(jī)監(jiān)控器100包括多個(gè)運(yùn)行隊(duì)列110(參見,例如,圖6A和圖6B)的示例中,運(yùn)行隊(duì)列100可分別被綁定到CPU核(例如,在圖6A和圖6B中的CPU#0、CPU#1、CPU#2),或可分別被綁定到調(diào)度器121、122和123。另外,可以以二維QD)矩陣(參見,例如,圖8)的形式管理每個(gè)運(yùn)行隊(duì)列110。任務(wù)(例如,任務(wù)T1、T2和T3)的順序不限于附圖中所示出。
圖8示出運(yùn)行隊(duì)列的示例。如圖8中所示,可以以二維矩陣的形式提供運(yùn)行隊(duì)列800。在運(yùn)行隊(duì)列800具有二維矩陣的示例中,具有不同屬性的任務(wù)可存儲在行或列之間。例如,具有屬性A的任務(wù)ITl 和任務(wù)2Τ2可存儲在第一列801中,具有屬性B的任務(wù)3Τ3、任務(wù)4Τ4和任務(wù)5Τ5可存儲在第二列802中。任務(wù)的屬性可表示用于觸發(fā)任務(wù)的需求。例如,任務(wù)ITl和任務(wù)2Τ2可以是由預(yù)定事件觸發(fā)的任務(wù),任務(wù)3Τ3、任務(wù)4Τ4和任務(wù)5Τ5可以是由預(yù)定中斷觸發(fā)的任務(wù)。任務(wù)的這些屬性可包括事件,例如,資源、期限(deadline)和/或中斷。這些是任務(wù)的非限制性示例。再次參照圖1,調(diào)度器121、122和123可確定存在于運(yùn)行隊(duì)列110的任務(wù)Tl、T2 和T3的執(zhí)行順序。調(diào)度器121、122和123可分別具有不同的調(diào)度特性。例如,第一調(diào)度器 121可以是期限優(yōu)先調(diào)度器,第二調(diào)度器122可以是循環(huán)(round-robin)調(diào)度器,第三調(diào)度器123可以是事件優(yōu)先調(diào)度器。然而,調(diào)度器的類型不限于此,可以以各種形式提供調(diào)度器的類型。至少兩個(gè)調(diào)度器可具有不同的調(diào)度特性。存在于運(yùn)行隊(duì)列110的任務(wù)T1、T2和T3可被調(diào)度器121、122和123中的一個(gè)(例如,第一調(diào)度器121,其中,第一調(diào)度器121是最適合于在預(yù)定時(shí)間獲得實(shí)時(shí)性能的)調(diào)度。控制器130可從域101和102分別接收任務(wù)104和105,并將接收的任務(wù)104和 105插入到運(yùn)行隊(duì)列110。根據(jù)一示例,任務(wù)104和105可以以調(diào)度實(shí)體的形式插入到運(yùn)行隊(duì)列110,其中,所述調(diào)度實(shí)體可用作用于調(diào)度的單位。控制器130可將任務(wù)104和105插入到運(yùn)行隊(duì)列110,從而任務(wù)104和105可基于屬性被劃分。例如,如圖8所示,可以以矩陣的形式管理運(yùn)行隊(duì)列800,任務(wù)可被插入到運(yùn)行隊(duì)列800,使得任務(wù)的屬性可在行或列之間不同。任務(wù)的屬性可表示用于觸發(fā)該任務(wù)的需求,并可包括事件源,例如,呼叫發(fā)送/接收、期限和/或中斷??赏ㄟ^與域101和102對應(yīng)的操作系統(tǒng)(OS)收集關(guān)于任務(wù)的屬性的信息。另外,響應(yīng)于控制器130插入任務(wù)104和105,控制器130可基于任務(wù)的優(yōu)先級的順序調(diào)整運(yùn)行隊(duì)列110。如果任務(wù)的屬性對應(yīng)于事件,則任務(wù)的優(yōu)先級的順序可基于權(quán)重表 141確定。另外,如果任務(wù)的屬性對應(yīng)于事件,則可不使用權(quán)重表141確定任務(wù)的優(yōu)先級的順序,而是根據(jù)對任務(wù)的緊急處理的需求或?qū)θ蝿?wù)的實(shí)時(shí)處理的需求來確定任務(wù)的優(yōu)先級的順序??苫谌蝿?wù)的期限確定對緊急處理的需求或?qū)?shí)時(shí)處理的需求。作為一示例,控制器130可基于由操作系統(tǒng)提供的信息學(xué)習(xí)哪個(gè)任務(wù)將由哪種事件類型觸發(fā)。權(quán)重表141可根據(jù)事件的類型存儲對于各個(gè)調(diào)度器121、122和123的任務(wù)的優(yōu)先級權(quán)重。例如,即使任務(wù)ITl和任務(wù)2T2具有與事件對應(yīng)的屬性,如果任務(wù)ITl由事件類型El觸發(fā)并且任務(wù)2T2由事件類型E2觸發(fā),則控制器130可參照與權(quán)重表141中示出的觸發(fā)需求相關(guān)的任務(wù)的屬性Al、A2和A3,確定任務(wù)ITl和任務(wù)2T2的優(yōu)先級順序。作為另一示例,如果任務(wù)ITl和任務(wù)2T2具有與事件對應(yīng)的屬性并且任務(wù)ITl和任務(wù)2T2 二者由事件類型El觸發(fā),則控制器130可基于對任務(wù)的緊急處理的需求或?qū)θ蝿?wù)的實(shí)時(shí)處理的需求,確定任務(wù)ITl和任務(wù)2T2的優(yōu)先級順序。例如,如果任務(wù)ITl具有五秒的期限并且任務(wù)2T2具有十秒的期限,則相比于任務(wù)2T2,可能需要更急于處理任務(wù)1T1,從而任務(wù)ITl具有比任務(wù)2T2高的優(yōu)先級。另外,控制器130可將任務(wù)104和105插入到運(yùn)行隊(duì)列110,并且可產(chǎn)生或更新表存儲器140的時(shí)間表142。時(shí)間表142可存儲針對每個(gè)任務(wù)的時(shí)間相關(guān)限制,例如,每個(gè)任務(wù)的運(yùn)行時(shí)限。例如,如果控制器130接收具有作為任務(wù)屬性的時(shí)限的任務(wù)3T3,則控制器 130可將任務(wù)3T3插入到運(yùn)行隊(duì)列110并將任務(wù)3T3的運(yùn)行時(shí)限記錄到時(shí)間表142。另外,控制器130可基于關(guān)于產(chǎn)生的事件的信息選擇多個(gè)調(diào)度器121、122和123 中的一個(gè)以對插入到運(yùn)行隊(duì)列中的任務(wù)Tl、T2和T3進(jìn)行調(diào)度。術(shù)語“事件”表示可根據(jù)設(shè)置有虛擬機(jī)監(jiān)控器的裝置的操作而發(fā)生的各種類型的系統(tǒng)相關(guān)的事件或中斷。例如,在基于虛擬機(jī)監(jiān)控器100的數(shù)據(jù)處理裝置安裝到移動(dòng)電話的示例中,“事件”或事件類型可包括打電話和接電話、開啟或關(guān)閉相機(jī)、設(shè)置于移動(dòng)電話中的定時(shí)器的操作以及時(shí)間被設(shè)置的時(shí)刻。這些是非限制性示例??苫诒泶鎯ζ?40的調(diào)度器列表143選擇根據(jù)事件類型而選擇的調(diào)度器。例如,如果發(fā)生需要在預(yù)設(shè)期限內(nèi)執(zhí)行以獲得實(shí)時(shí)特性的事件,則控制器 130可在調(diào)度器121、122和123中選擇期限優(yōu)先調(diào)度器121。另外,控制器130可調(diào)用選擇的調(diào)度器121。調(diào)用的調(diào)度器121可根據(jù)其自身的調(diào)度方案對存在于運(yùn)行隊(duì)列110中的任務(wù)Tl、T2和T3進(jìn)行調(diào)度。如上所述,虛擬機(jī)監(jiān)控器100可通過使用多個(gè)調(diào)度器121、122和123中適合于預(yù)定狀態(tài)或適合于每個(gè)任務(wù)的屬性的調(diào)度器來允許運(yùn)行隊(duì)列Iio的任務(wù)T1、T2和Τ3被調(diào)度, 其中,調(diào)度器121、122和123中的每一個(gè)具有不同的調(diào)度特性。圖2示出調(diào)度器列表的示例。如圖1和圖2所示,調(diào)度器列表143可包括事件201和根據(jù)事件201將調(diào)用的調(diào)度器202。控制器130可通過參照調(diào)度器列表143允許適合于各個(gè)事件的調(diào)度器被調(diào)用。例如,在事件El和事件Ε3發(fā)生的示例中,調(diào)度器Sl可被調(diào)用。在事件Ε3發(fā)生的示例中,調(diào)度器S2可被調(diào)用。事件201可表示基于虛擬機(jī)監(jiān)控器的系統(tǒng)的各種類型的系統(tǒng)事件。另外,調(diào)度器Sl和調(diào)度器S2中的每一個(gè)可表示具有不同特性或不同調(diào)度策略的調(diào)度器??捎芍圃焐填A(yù)設(shè)調(diào)度器列表143并且以后可更新調(diào)度器列表143。圖3示出權(quán)重表的示例。如圖1和圖3所示,權(quán)重表141可具有針對各個(gè)調(diào)度器Sl和S2的依賴于每個(gè)任務(wù)屬性301的權(quán)重302。任務(wù)屬性301可表示用于觸發(fā)任務(wù)的需求,并且可包括事件源,例如,呼叫發(fā)送/接收、期限和/或中斷??捎煽刂破?30通過與域101和102對應(yīng)的操作系統(tǒng)收集關(guān)于這些任務(wù)屬性的信息。響應(yīng)于具有與事件對應(yīng)的屬性的任務(wù)Tl、Τ2和Τ3插入到運(yùn)行隊(duì)列110,控制器
10130可參照權(quán)重表141確定插入到運(yùn)行隊(duì)列110的任務(wù)Tl、T2和T3的優(yōu)先級的順序。例如,在接收到由事件El觸發(fā)的任務(wù)ITl以及由事件E2觸發(fā)的任務(wù)2T2的示例中,控制器 130可參照權(quán)重表141將比任務(wù)2T2高的優(yōu)先級賦予任務(wù)ITl。在一示例中,可針對各個(gè)調(diào)度器Sl和S2不同地應(yīng)用權(quán)重。例如,如果事件El和事件E2不顯著地影響調(diào)度器S2的調(diào)度特性,則調(diào)度器S2可允許任務(wù)ITl和任務(wù)2T2具有相同權(quán)重。同時(shí),如果任務(wù)ITl和任務(wù)2T2具有與事件對應(yīng)的屬性A1、A2和A3并且任務(wù)ITl 和任務(wù)2T2 二者由事件類型El觸發(fā),則任務(wù)ITl和任務(wù)2T2可基于權(quán)重表141具有相同優(yōu)先級。在一示例中,控制器130可基于對任務(wù)的緊急處理的需求或?qū)θ蝿?wù)的實(shí)時(shí)處理的需求確定任務(wù)ITl和任務(wù)2T2的優(yōu)先級的順序。權(quán)重表141可有制造商預(yù)并且隨后可被更新。圖4示出時(shí)間表的示例。如圖1和圖4所示,時(shí)間表142可存儲針對每個(gè)任務(wù)的時(shí)間相關(guān)的限制,例如,每個(gè)任務(wù)的運(yùn)行時(shí)限。例如,控制器130可將任務(wù)插入到運(yùn)行隊(duì)列110并周期地更新時(shí)間表 142。圖5A和圖5B示出虛擬機(jī)監(jiān)控器的選擇性調(diào)度操作的示例。如圖1、圖5A和圖5B所示,可假設(shè)三個(gè)任務(wù)Tl、T2和T3被接收,并且任務(wù)Tl、任務(wù)T2和任務(wù)T3分別由事件El、E2和E3觸發(fā)。另外,對于該示例可假設(shè)事件E3是時(shí)間中斷以及調(diào)度器Sl和調(diào)度器S2存在??刂破?30可考慮任務(wù)屬性來確定任務(wù)T1、T2和Τ3的優(yōu)先級的順序,并可將任務(wù) Τ1、Τ2和Τ3插入到運(yùn)行隊(duì)列130??刂破?30可基于任務(wù)屬性(例如,“事件”)來通過使用權(quán)重表141調(diào)整任務(wù)Τ1、Τ2和Τ3的優(yōu)先級的順序,并且可改變插入到運(yùn)行隊(duì)列130的任務(wù)的排列順序。根據(jù)示例,權(quán)重表141示出優(yōu)先級權(quán)重,該優(yōu)先級權(quán)重可對于每個(gè)調(diào)度器而不同。 因此,響應(yīng)于控制器130確定任務(wù)的優(yōu)先級的順序,可根據(jù)使用的調(diào)度器來調(diào)整插入到運(yùn)行隊(duì)列130的任務(wù)的優(yōu)先級的順序。例如,如果基于調(diào)度器Sl確定優(yōu)先級的順序,則由事件El觸發(fā)的任務(wù)Tl可具有最高的優(yōu)先級,并且任務(wù)Τ1、Τ2和Τ3可以以任務(wù)1Τ1、任務(wù)2Τ2 和任務(wù)3Τ3的順序(參見,例如圖5Α)被插入到運(yùn)行隊(duì)列130。另外,如果基于調(diào)度器S2確定優(yōu)先級的順序,則由事件Ε3觸發(fā)的任務(wù)Τ3可具有最高的優(yōu)先級,并且任務(wù)Tl、Τ2和Τ3 可以以Τ3、Τ2和Tl的順序(參見,例如圖5Β)被插入到運(yùn)行隊(duì)列130。當(dāng)在任務(wù)Τ1、Τ2和Τ3插入到運(yùn)行隊(duì)列110之后發(fā)生預(yù)定事件時(shí),控制器130可從調(diào)度器Sl和S2選擇適合于所述預(yù)定事件的類型的調(diào)度器。例如,如圖2和圖5Α所示,如果事件El發(fā)生,則控制器130可參照調(diào)度器列表143 調(diào)用調(diào)度器Si。另外,如果事件Ε3發(fā)生,則控制器130可參照調(diào)度器列表143調(diào)用調(diào)度器 S2。在事件Ε3是時(shí)間中斷并且調(diào)度器S2是期限調(diào)度器的示例中,控制器130可在將具有時(shí)間相關(guān)限制的任務(wù)插入到運(yùn)行隊(duì)列130的同時(shí)更新時(shí)間表142,并且可在發(fā)生時(shí)間中斷的同時(shí)激活期限調(diào)度器,從而具有時(shí)間相關(guān)限制的任務(wù)可被優(yōu)先地調(diào)度,例如,具有時(shí)間相關(guān)限制的任務(wù)具有最高權(quán)重和/或優(yōu)先級。另外,在時(shí)間中斷不存在期間,控制器130 可激活另一合適的調(diào)度器,從而任務(wù)可根據(jù)由激活的調(diào)度器確定的優(yōu)先級的預(yù)定順序而被調(diào)度。
11
圖6A示出虛擬機(jī)監(jiān)控器的另一示例。如圖6A所示,虛擬機(jī)監(jiān)控器100可包括用于硬件平臺103的各個(gè)CPU核(CPU#0、 CPU#1和CPU#2)多個(gè)運(yùn)行隊(duì)歹|J 110-1、110-2和110-3。在圖6A中,三個(gè)運(yùn)行隊(duì)列110-1、 110-2和110-3可分別映射到硬件平臺103的三個(gè)CPU核(CPU#0、CPU#1和CPU#2)。響應(yīng)于任務(wù)104和105被接收,控制器130可使用從操作系統(tǒng)接收的任務(wù)屬性來確定將插入接收的任務(wù)104和105的合適的運(yùn)行隊(duì)列。圖6B示出虛擬機(jī)監(jiān)控器的另一示例。如圖6B所示,虛擬機(jī)監(jiān)控器100可包括用于不同任務(wù)屬性的多個(gè)運(yùn)行隊(duì)列110-1、 110-2和110-3。在圖6B中,運(yùn)行隊(duì)列110_1、110_2和110-3可最適合于各個(gè)任務(wù)屬性,并且可被分別映射到調(diào)度器121、122和123。響應(yīng)于任務(wù)104和105被接收,控制器130可使用從操作系統(tǒng)接收的任務(wù)屬性來確定將插入接收的任務(wù)104和105的合適的運(yùn)行隊(duì)列。圖7示出虛擬機(jī)監(jiān)控器的調(diào)度方法的示例。調(diào)度方法的示例可被應(yīng)用到圖1中示出的系統(tǒng)。如圖1和圖7所示,在操作701,虛擬機(jī)監(jiān)控器100可將從各個(gè)域101和102接收的任務(wù)插入到至少一個(gè)運(yùn)行隊(duì)列110。作為一示例,接收的任務(wù)可根據(jù)任務(wù)的優(yōu)先級的順序而被插入到運(yùn)行隊(duì)列110,其中,所述任務(wù)的優(yōu)先級的順序可基于權(quán)重表141或?qū)θ蝿?wù)的緊急處理的需求來確定。另外,當(dāng)任務(wù)被插入到運(yùn)行隊(duì)列110時(shí),可產(chǎn)生或更新記錄任務(wù)的運(yùn)行時(shí)限的時(shí)間表142。另外,在操作702,虛擬機(jī)監(jiān)控器100可選擇調(diào)度器以調(diào)度插入到運(yùn)行隊(duì)列110的任務(wù)T1、T2和Τ3。S卩,虛擬機(jī)監(jiān)控器100可根據(jù)事件類型從多個(gè)調(diào)度器121、122和123中選擇調(diào)度器以確定在硬件平臺中任務(wù)的執(zhí)行順序。例如,控制器130可參照存儲在表存儲器140中的調(diào)度器列表143選擇對于當(dāng)前狀態(tài)或任務(wù)的屬性最適合的調(diào)度器。在操作703,虛擬機(jī)監(jiān)控器100可調(diào)用選擇的調(diào)度器。例如,控制器130可調(diào)用選擇的調(diào)度器并且可允許調(diào)用的調(diào)度器根據(jù)調(diào)用的調(diào)度器的調(diào)度特性或調(diào)度策略來調(diào)度存在于運(yùn)行隊(duì)列Iio中的任務(wù)Tl、Τ2和Τ3。響應(yīng)于存在多個(gè)運(yùn)行隊(duì)列110,虛擬機(jī)監(jiān)控器100可使用從操作系統(tǒng)傳送的任務(wù)屬性來選擇適合于任務(wù)屬性的運(yùn)行隊(duì)列,并將任務(wù)插入到選擇的運(yùn)行隊(duì)列。如上所述,虛擬機(jī)監(jiān)控器100可操作(作為示例)均具有不同調(diào)度特性的多個(gè)調(diào)度器121、122和123,并且可使用適合于事件狀態(tài)或任務(wù)屬性的調(diào)度器來調(diào)度任務(wù)。按這種方式,可適當(dāng)?shù)卣{(diào)度對用戶的需求敏感的預(yù)定任務(wù),例如,實(shí)時(shí)任務(wù)。圖9示出虛擬機(jī)監(jiān)控器(VMM)的另一示例。圖9的示例包括與圖1的元件相似的元件,但是更詳細(xì)地進(jìn)行示出??商峁┰趯?shí)時(shí)域(RT-D0MAIN)中的任務(wù)的創(chuàng)建(例如,接納控制(admission control)、根據(jù)任務(wù)的特性的分組以及調(diào)度器之間的關(guān)系),從而當(dāng)在VMM上運(yùn)行多個(gè)實(shí)時(shí)域時(shí),對于每個(gè)實(shí)時(shí)域的任務(wù)和多個(gè)實(shí)時(shí)域的任務(wù),實(shí)時(shí)特性被確保。實(shí)施例包括當(dāng)在虛擬機(jī)監(jiān)控器(VMM)中運(yùn)行多個(gè)虛擬機(jī)(虛擬域)時(shí)任務(wù)提供實(shí)時(shí)特性。例如,實(shí)施例在實(shí)時(shí)域中以VMM的調(diào)度的單位管理實(shí)時(shí)任務(wù)、在多個(gè)實(shí)時(shí)域管理任務(wù)的優(yōu)先級順序、分組調(diào)度實(shí)體和調(diào)度。當(dāng)創(chuàng)建了 RT-D0MAIN的任務(wù)時(shí),該任務(wù)可通過VMM的調(diào)度框架(scheduleframework) /接納控制單元綁定到VMM的調(diào)度實(shí)體并被插入到運(yùn)行隊(duì)列(例如,圖1的運(yùn)行隊(duì)列110或圖9的多級運(yùn)行隊(duì)列)。當(dāng)創(chuàng)建任務(wù)時(shí),實(shí)時(shí)域的實(shí)時(shí)操作系統(tǒng)(RTOS,Real Time Operating System)可通過VMM提供的接口將信息(例如,期限、周期、事件源等)傳送到接納控制單元。VMM的接納控制單元可基于所述信息將與圖1的任務(wù)104相似的實(shí)時(shí)任務(wù)綁定到VMM的調(diào)度實(shí)體,并且可將該調(diào)度實(shí)體插入到運(yùn)行隊(duì)列??紤]調(diào)度實(shí)體的特性,接納控制單元可維持多個(gè)運(yùn)行隊(duì)列并且當(dāng)調(diào)度實(shí)體被插入時(shí)可確定目標(biāo)運(yùn)行隊(duì)列。運(yùn)行隊(duì)列可包括注重(即,具有最高的優(yōu)先級的)任務(wù)的期限的運(yùn)行隊(duì)列以及注重任務(wù)的交互性的運(yùn)行隊(duì)列。響應(yīng)于調(diào)度實(shí)體插入到運(yùn)行隊(duì)列,接納控制單元能夠基于從RTOS傳送的任務(wù)的屬性調(diào)整調(diào)度實(shí)體的優(yōu)先級順序。例如,對于由事件源觸發(fā)的任務(wù),可根據(jù)用于事件權(quán)重表 (例如,圖1的權(quán)重表141)的優(yōu)先級順序的調(diào)整值來調(diào)整調(diào)度實(shí)體的優(yōu)先級。作為另一示例,對于具有關(guān)于時(shí)間的限制的任務(wù),在接納控制中可維持時(shí)間圖表(time chart),從而可在時(shí)限內(nèi)重新運(yùn)行具有關(guān)于時(shí)間的限制的任務(wù)。事件權(quán)重表可以是具有分配給每個(gè)物理事件源或邏輯事件源的優(yōu)先級權(quán)重的表, 其中,從系統(tǒng)提供所述物理事件源或邏輯事件源。可在系統(tǒng)被設(shè)計(jì)時(shí)靜態(tài)地提供事件權(quán)重表或在運(yùn)行時(shí)間期間事件權(quán)重表被動(dòng)態(tài)地更新時(shí)。時(shí)間圖表(例如,圖1的時(shí)間圖表142) 可被提供以維持創(chuàng)建的調(diào)度實(shí)體的時(shí)隙??赏ㄟ^對于預(yù)定時(shí)間最適合的調(diào)度器(例如,圖1的調(diào)度器121、122和12 來調(diào)度插入到運(yùn)行隊(duì)列的調(diào)度實(shí)體。例如,每當(dāng)發(fā)生定時(shí)器中斷或需要設(shè)置定時(shí)器時(shí),VMM可更新時(shí)間圖表并且可運(yùn)行期限調(diào)度器以調(diào)度具有時(shí)間限制的實(shí)時(shí)任務(wù)。另外,如果發(fā)生除定時(shí)器中斷之外的另一類型的事件,則VMM可使用適合于該事件的調(diào)度器來對調(diào)度實(shí)體進(jìn)行調(diào)度。通用域(GP-D0MAIN)任務(wù)可具有比實(shí)時(shí)任務(wù)(例如,RT-D0MAIN任務(wù))低的優(yōu)先級, 其中,所述通用域任務(wù)可能不是實(shí)時(shí)任務(wù)。圖10示出控制用于虛擬機(jī)監(jiān)控器的邏輯的方法的示例。在方法1000中,在操作1010,可接收用于處理任務(wù)的請求。在操作1020,可進(jìn)行關(guān)于已接收到哪種類型的任務(wù)的決定。如果該任務(wù)是周期性任務(wù)(例如,可在任何可應(yīng)用的時(shí)間執(zhí)行該任務(wù)),則在操作1030可進(jìn)行關(guān)于是否存在可用的空時(shí)隙(empty time slot) 的確定。如果找到空時(shí)隙,則在操作1050,獲得空時(shí)隙。在操作1055,可設(shè)置周期定時(shí)器。 在操作1060中,可批準(zhǔn)任務(wù)以進(jìn)行處理。如果在操作1030沒有找到空時(shí)隙,則在操作1070, 可拒絕任務(wù)。如果在操作1020確定接收的任務(wù)是期限任務(wù)(即,具有用于完成的規(guī)定時(shí)間或期限的任務(wù)),則在操作1040,可進(jìn)行關(guān)于是否存在可用的空時(shí)隙的確認(rèn)。如果找到空時(shí)隙, 則在操作1090,可獲得空時(shí)隙。在操作1095,可設(shè)置快照定時(shí)器(snapshot timer)。如果在操作1040沒有找到空時(shí)隙,則在操作1080,可進(jìn)行關(guān)于接收的任務(wù)是否具有比已存在于時(shí)隙中的任務(wù)高的優(yōu)先級的確認(rèn),其中,所述時(shí)隙對應(yīng)于與任務(wù)相關(guān)聯(lián)的期限。如果否(“否” 分支),則在操作1070,任務(wù)可被拒絕。如果接收的任務(wù)具有更高的優(yōu)先級(“是”分支), 則在操作1085,期望的時(shí)隙可被劃分,并在操作1095,快照定時(shí)器可被設(shè)置。在操作1060 中,可批準(zhǔn)任務(wù)以進(jìn)行處理。實(shí)施例可包括在虛擬環(huán)境中能夠提供實(shí)時(shí)特性以及能夠允許更有效地運(yùn)行各種
13類型的實(shí)時(shí)操作系統(tǒng)和實(shí)時(shí)應(yīng)用套件的方法和系統(tǒng)。實(shí)施例可提供可使用相同硬件(例如,處理器或CPU)來處理多個(gè)域(例如,實(shí)時(shí)部分和通用部分)的虛擬化技術(shù)。實(shí)施例可提供這種虛擬化技術(shù),即,所述虛擬化技術(shù)在期望多個(gè)實(shí)時(shí)VM操作的環(huán)境中提供實(shí)時(shí)任務(wù)處理。調(diào)度器的類型和數(shù)量可由制造商預(yù)設(shè)置或者可更新和補(bǔ)充。VMM 100可以是邏輯結(jié)構(gòu)。例如,當(dāng)接收事件或中斷時(shí),任何調(diào)度器可被另一調(diào)度器中斷。當(dāng)完成在與中斷調(diào)度器關(guān)聯(lián)的特定隊(duì)列中的任務(wù)時(shí),VMM 100可基于對中斷調(diào)度器的設(shè)置,可返回到用于原來被中斷的調(diào)度器(例如,中斷的調(diào)度器)的隊(duì)列,或者可繼續(xù)至不同的調(diào)度器隊(duì)列。可存在一個(gè)或多個(gè)運(yùn)行時(shí)間隊(duì)列。緊急的任務(wù)或事件可改變隊(duì)列中的任務(wù)的順序。如果在調(diào)度器中沒有事件觸發(fā)改變,則特定調(diào)度器可處理另一調(diào)度器的運(yùn)行時(shí)間隊(duì)列。例如,如果沒有觸發(fā)另一調(diào)度器的特性事件,則特定調(diào)度器可處理其部分自身隊(duì)列, 然后可跳轉(zhuǎn)到另一調(diào)度器的隊(duì)列。例如,如果不存在具有即將到來的期限的任務(wù),則期限優(yōu)先調(diào)度器(例如,調(diào)度器121)可處理用于其它調(diào)度器的隊(duì)列。當(dāng)然,這些是非限制性示例。上述處理、功能、方法和/或軟件可被記錄、存儲或固定到包括程序指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲介質(zhì)中,所述程序指令將由計(jì)算機(jī)執(zhí)行以使處理運(yùn)行或執(zhí)行程序指令。所述介質(zhì)還可單獨(dú)包括包括程序指令、數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等或程序指令、數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等的組合。介質(zhì)和程序指令可被專門地設(shè)計(jì)或構(gòu)造,或者介質(zhì)和程序指令可以是對計(jì)算機(jī)軟件領(lǐng)域的技術(shù)人員公知和可應(yīng)的。計(jì)算機(jī)可讀介質(zhì)的示例包括磁介質(zhì)(例如,硬盤、軟盤和磁帶)、光介質(zhì)(例如,⑶-ROM盤和DVD)、磁光介質(zhì)(例如,光盤)和特別地配置為存儲和執(zhí)行程序指令的硬件裝置(例如,只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、閃速存儲器等)。程序指令的示例包括(例如,由編譯器產(chǎn)生的)機(jī)器代碼和包含更高級代碼的文件,其中,可由計(jì)算機(jī)使用注釋器來執(zhí)行所述更高級代碼。為了執(zhí)行上述的操作和方法, 描述的硬件裝置可被配置為用作一個(gè)或多個(gè)軟件模塊,反之亦然。另外,計(jì)算機(jī)可讀存儲介質(zhì)可分布到通過網(wǎng)絡(luò)連接的計(jì)算機(jī)系統(tǒng),并且可以以分布式方式存儲和執(zhí)行計(jì)算機(jī)可讀代碼或程序指令。僅作為非窮舉性示例,在此描述的裝置可以整合到與在此公開的內(nèi)容一致的移動(dòng)裝置和裝置或移動(dòng)裝置和裝置一起使用,其中,所述移動(dòng)裝置的示例包括蜂窩電話、個(gè)人數(shù)字助理(PDA)、數(shù)碼相機(jī)、便攜式游戲機(jī)和MP3播放器、便攜式/個(gè)人多媒體播放器(PMP)、 手持式電子書、便攜式平板PC和/或膝上型PC、全球定位系統(tǒng)(GPQ導(dǎo)航儀,所述裝置的示例包括臺式PC、高清晰度電視機(jī)(HDTV)、光盤播放器、設(shè)置和/或機(jī)頂盒等。計(jì)算系統(tǒng)或計(jì)算機(jī)可包括電性連接到總線、用戶接口和存儲器控制器的微處理器。計(jì)算系統(tǒng)或計(jì)算機(jī)還可包括閃速存儲器裝置。閃速存儲器裝置可通過存儲器控制器存儲N比特?cái)?shù)據(jù)。所述N比特?cái)?shù)據(jù)被微處理器處理或?qū)⒈晃⑻幚砥魈幚恚琋可以是1或大于1 的整數(shù)。當(dāng)計(jì)算系統(tǒng)或計(jì)算機(jī)為移動(dòng)設(shè)備時(shí),可另外地提供電池以提供計(jì)算系統(tǒng)或計(jì)算機(jī)的操作電壓。本領(lǐng)域普通技術(shù)人員將理解的是,計(jì)算系統(tǒng)或計(jì)算機(jī)還可包括應(yīng)用芯片組、相機(jī)圖像處理器(CIS)、移動(dòng)動(dòng)態(tài)隨機(jī)訪問存儲器(DRAM)等。存儲器控制器和閃速存儲器裝置可構(gòu)成使用非易失性存儲器來存儲數(shù)據(jù)的固態(tài)驅(qū)動(dòng)/盤(SSD)。已描述了一些示例。然而,應(yīng)該明白,可進(jìn)行各種修改。例如,如果描述的技術(shù)以
14不同的順序被執(zhí)行和/或如果在描述的系統(tǒng)、體系結(jié)構(gòu)、裝置或電路中的部件以不同的地方式組合和/或由其它部件或其等同物替換或補(bǔ)充,則可獲得合適的結(jié)果。因此,其它實(shí)施方式在權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器,所述虛擬機(jī)監(jiān)控器包括 運(yùn)行隊(duì)列;多個(gè)調(diào)度器,所述多個(gè)調(diào)度器中的至少兩個(gè)調(diào)度器包括不同的調(diào)度特性; 控制器,該控制器被配置為 將從域接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)事件類型從所述多個(gè)調(diào)度器選擇用于調(diào)度插入到運(yùn)行隊(duì)列的任務(wù)的調(diào)度器。
2.如權(quán)利要求1所述的虛擬機(jī)監(jiān)控器,還包括表存儲器,該表存儲器被配置為存儲以下項(xiàng)目中的至少一項(xiàng)權(quán)重表,該權(quán)重表被配置為根據(jù)事件類型記錄任務(wù)的優(yōu)先級權(quán)重; 時(shí)間表,該時(shí)間表被配置為記錄任務(wù)的運(yùn)行時(shí)限;調(diào)度器列表,該調(diào)度器列表被配置為記錄根據(jù)事件類型將被選擇的調(diào)度器。
3.如權(quán)利要求2所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;通過使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序。
4.如權(quán)利要求3所述的虛擬機(jī)監(jiān)控器,其中,任務(wù)的屬性包括用于觸發(fā)任務(wù)的事件源。
5.如權(quán)利要求3所述的虛擬機(jī)監(jiān)控器,其中,優(yōu)先級權(quán)重根據(jù)調(diào)度器的類型而變化。
6.如權(quán)利要求2所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)對接收的任務(wù)的緊急處理的需求或?qū)邮盏娜蝿?wù)的實(shí)時(shí)處理的需求,確定接收的任務(wù)的優(yōu)先級的順序。
7.如權(quán)利要求2所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;產(chǎn)生或更新時(shí)間表。
8.如權(quán)利要求1所述的虛擬機(jī)監(jiān)控器,其中, 控制器還被配置為調(diào)用選擇的調(diào)度器;根據(jù)調(diào)用的調(diào)度器的特性對插入到運(yùn)行隊(duì)列的任務(wù)進(jìn)行調(diào)度。
9.如權(quán)利要求1所述的虛擬機(jī)監(jiān)控器,其中,多個(gè)運(yùn)行隊(duì)列被提供。
10.如權(quán)利要求9所述的虛擬機(jī)監(jiān)控器,其中,所述多個(gè)運(yùn)行隊(duì)列分別映射到由所述虛擬機(jī)監(jiān)控器管理的多個(gè)物理資源。
11.如權(quán)利要求9所述的虛擬機(jī)監(jiān)控器,其中,所述多個(gè)運(yùn)行隊(duì)列分別映射到所述多個(gè)調(diào)度器。
12.如權(quán)利要求9所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的運(yùn)行隊(duì)列。
13.如權(quán)利要求1所述的虛擬機(jī)監(jiān)控器,其中 以具有行和列的矩陣的形式提供運(yùn)行隊(duì)列;控制器還被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的行和列。
14.如權(quán)利要求1所述的虛擬機(jī)監(jiān)控器,其中 調(diào)度器包括期限調(diào)度器;以及控制器還被配置為響應(yīng)于時(shí)間中斷作為事件類型發(fā)生,調(diào)用期限調(diào)度器。
15.一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器的調(diào)度方法,所述調(diào)度方法包括如下步驟將從域接收的任務(wù)插入到運(yùn)行隊(duì)列;以及根據(jù)事件類型從包括在所述虛擬機(jī)監(jiān)控器中的多個(gè)調(diào)度器中選擇用于調(diào)度插入到運(yùn)行隊(duì)列的任務(wù)的調(diào)度器。
16.如權(quán)利要求15所述的調(diào)度方法,其中,所述插入任務(wù)的步驟包括使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序,其中,權(quán)重表記錄任務(wù)的優(yōu)先級權(quán)重。
17.如權(quán)利要求15所述的調(diào)度方法,其中,所述插入任務(wù)的步驟包括產(chǎn)生或更新記錄任務(wù)的運(yùn)行時(shí)限的時(shí)間表。
18.如權(quán)利要求15所述的調(diào)度方法,其中,所述插入任務(wù)的步驟包括根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的運(yùn)行隊(duì)列。
19.如權(quán)利要求15所述的調(diào)度方法,還包括步驟 調(diào)用選擇的調(diào)度器,其中,根據(jù)調(diào)用的調(diào)度器的特性對插入到運(yùn)行隊(duì)列的任務(wù)進(jìn)行調(diào)度。
20.一種用于提供在多個(gè)虛擬機(jī)中執(zhí)行的實(shí)時(shí)任務(wù)的實(shí)時(shí)特性的方法,所述方法包括如下步驟將實(shí)時(shí)任務(wù)包括到目標(biāo)中以在虛擬機(jī)監(jiān)控器VMM上進(jìn)行調(diào)度; 維持多個(gè)運(yùn)行隊(duì)列,每個(gè)運(yùn)行隊(duì)列包括關(guān)于VMM的不同特性; 通過多個(gè)虛擬機(jī)的狀態(tài)的指示調(diào)用調(diào)度器。
21.如權(quán)利要求20所述的方法,還包括步驟將調(diào)度實(shí)體、所述多個(gè)運(yùn)行隊(duì)列以及中央處理單元CPU進(jìn)行對應(yīng)來對實(shí)時(shí)任務(wù)進(jìn)行調(diào)度。
22.如權(quán)利要求20所述的方法,還包括步驟通過VMM的接納控制來測試調(diào)度實(shí)時(shí)任務(wù)的可能性。
23.如權(quán)利要求20所述的方法,還包括步驟基于事件權(quán)重表和時(shí)間圖表中的至少一個(gè)調(diào)整實(shí)時(shí)任務(wù)的優(yōu)先級順序。
24.如權(quán)利要求20所述的方法,還包括步驟通過對將被調(diào)度的目標(biāo)分組來以優(yōu)先方式調(diào)用并運(yùn)行調(diào)度器。
25.一種用于操作至少兩個(gè)域的虛擬機(jī)監(jiān)控器,所述虛擬機(jī)監(jiān)控器包括 控制器,該控制器被配置為將從域接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)事件類型從多個(gè)調(diào)度器中選擇用于對所述任務(wù)進(jìn)行調(diào)度的調(diào)度器,其中,所述多個(gè)調(diào)度器中的至少兩個(gè)調(diào)度器包括不同的調(diào)度特性。
26.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,還包括表存儲器,該表存儲器被配置為存儲以下項(xiàng)目中的至少一項(xiàng)權(quán)重表,該權(quán)重表被配置為根據(jù)事件類型記錄任務(wù)的優(yōu)先級權(quán)重; 時(shí)間表,該時(shí)間表被配置為記錄任務(wù)的運(yùn)行時(shí)限;調(diào)度器列表,該調(diào)度器列表被配置為記錄根據(jù)事件類型將被選擇的調(diào)度器。
27.如權(quán)利要求沈所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;使用任務(wù)的屬性和權(quán)重表確定任務(wù)的優(yōu)先級的順序。
28.如權(quán)利要求27所述的虛擬機(jī)監(jiān)控器,其中,任務(wù)的屬性包括用于觸發(fā)任務(wù)的事件源。
29.如權(quán)利要求27所述的虛擬機(jī)監(jiān)控器,其中,優(yōu)先級權(quán)重根據(jù)調(diào)度器的類型而變化。
30.如權(quán)利要求沈所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;根據(jù)對接收的任務(wù)的緊急處理的需求或?qū)邮盏娜蝿?wù)的實(shí)時(shí)處理的需求確定接收的任務(wù)的優(yōu)先級的順序。
31.如權(quán)利要求沈所述的虛擬機(jī)監(jiān)控器,其中,控制器還被配置為 將接收的任務(wù)插入到運(yùn)行隊(duì)列;以及產(chǎn)生或更新時(shí)間表。
32.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,其中 控制器還被配置為調(diào)用選擇的調(diào)度器;根據(jù)調(diào)用的調(diào)度器的特性調(diào)度插入到運(yùn)行隊(duì)列的任務(wù)。
33.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,其中 以具有行和列的矩陣的形式提供運(yùn)行隊(duì)列;控制器還被配置為根據(jù)接收的任務(wù)的屬性確定將插入該任務(wù)的行和列。
34.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,其中, 調(diào)度器包括期限調(diào)度器;以及控制器還被配置為響應(yīng)于時(shí)間中斷作為事件類型發(fā)生,調(diào)用期限調(diào)度器。
35.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,還包括多個(gè)運(yùn)行隊(duì)列,每個(gè)運(yùn)行隊(duì)列包括至少一個(gè)任務(wù),每個(gè)運(yùn)行隊(duì)列分別與所述多個(gè)調(diào)度器中的一個(gè)調(diào)度器相關(guān)聯(lián)。
36.如權(quán)利要求35所述的虛擬機(jī)監(jiān)控器,其中,選擇的調(diào)度器被配置為當(dāng)接收事件時(shí)該選擇的調(diào)度器被所述多個(gè)調(diào)度器中的中斷調(diào)度器中斷。
37.如權(quán)利要求36所述的虛擬機(jī)監(jiān)控器,其中,當(dāng)完成在與中斷調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列中的任務(wù)時(shí),所述虛擬機(jī)監(jiān)控器被配置為處理與中斷的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列。
38.如權(quán)利要求36所述的虛擬機(jī)監(jiān)控器,其中,當(dāng)完成在與中斷調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列中的任務(wù)時(shí),所述虛擬機(jī)監(jiān)控器被配置為處理與除選擇的調(diào)度器和中斷調(diào)度器之外的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列。
39.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,其中 運(yùn)行隊(duì)列與選擇的調(diào)度器相關(guān)聯(lián);選擇的調(diào)度器被配置為響應(yīng)于沒有事件觸發(fā)調(diào)度器的改變,處理與所述多個(gè)調(diào)度器中的另一調(diào)度器對應(yīng)的另一運(yùn)行隊(duì)列。
40.如權(quán)利要求39所述的虛擬機(jī)監(jiān)控器,其中,選擇的調(diào)度器還被配置為 處理與選擇的調(diào)度器相關(guān)聯(lián)的運(yùn)行隊(duì)列的一部分;以及然后處理與另一調(diào)度器對應(yīng)的另一運(yùn)行隊(duì)列。
41.如權(quán)利要求25所述的虛擬機(jī)監(jiān)控器,其中,緊急的任務(wù)或事件改變在運(yùn)行隊(duì)列中的多個(gè)任務(wù)的優(yōu)先級順序。
全文摘要
提供了一種虛擬機(jī)監(jiān)控器及其調(diào)度方法。所述虛擬監(jiān)控器可操作至少兩個(gè)域。虛擬機(jī)監(jiān)控器可包括至少一個(gè)運(yùn)行隊(duì)列以及多個(gè)調(diào)度器,所述多個(gè)調(diào)度器中的至少兩個(gè)調(diào)度器包括不同的調(diào)度特性。虛擬機(jī)監(jiān)控器可將從域接收的任務(wù)插入到運(yùn)行隊(duì)列,并且根據(jù)事件類型可從所述多個(gè)調(diào)度器選擇用于調(diào)度任務(wù)的調(diào)度器,其中,所述任務(wù)可被插入到運(yùn)行隊(duì)列。
文檔編號G06F11/30GK102193853SQ20111005851
公開日2011年9月21日 申請日期2011年3月11日 優(yōu)先權(quán)日2010年3月12日
發(fā)明者徐尚范, 柳在敏 申請人:三星電子株式會社