亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法及裝置的制作方法

文檔序號(hào):6609989閱讀:204來源:國知局

專利名稱::虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及進(jìn)程監(jiān)控技術(shù),特別是一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中運(yùn)行進(jìn)程的方法及裝置。
背景技術(shù)
:在虛擬環(huán)境下,VMM(VirtualMachineMonitor,虛擬機(jī)監(jiān)視器)中只能看到其上GOS('GuestOperationSystem,客戶操作系統(tǒng))的整體運(yùn)行情況,如GOS的資源占用情況,運(yùn)行狀態(tài)情況等,但難以識(shí)別和定位GOS中運(yùn)行進(jìn)程。但定位和監(jiān)控GOS中的運(yùn)行進(jìn)程又具有非常重要的作用,如對GOS系統(tǒng)負(fù)載監(jiān)視、對GOS系統(tǒng)進(jìn)程資源使用情況監(jiān)控、對GOS系統(tǒng)進(jìn)程死鎖檢測和解鎖、對GOS中給定進(jìn)程打補(bǔ)丁等都需要定位GOS中的運(yùn)行進(jìn)程。因此,有必要開發(fā)一種識(shí)別客戶操作系統(tǒng)中運(yùn)行進(jìn)程的方法及裝置,以定位和監(jiān)控GOS中的運(yùn)行進(jìn)程。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法及裝置,定位和監(jiān)控GOS中的運(yùn)行進(jìn)程。為了實(shí)現(xiàn)上述方法,本發(fā)明提供了一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法,包括步驟IOI,客戶操作系統(tǒng)進(jìn)行進(jìn)程切換時(shí),虛擬機(jī)監(jiān)視器紀(jì)錄待運(yùn)行進(jìn)程的頁表信息;步驟102,虛擬機(jī)監(jiān)視器獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;步驟103,虛擬機(jī)監(jiān)視器存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系。上述的方法,其中,所述頁表信息為頁目錄基地址。上述的方法,其中,步驟101具體包括步驟IOII,客戶操作系統(tǒng)進(jìn)行進(jìn)程切換,訪問CR3寄存器;步驟1012,虛擬機(jī)監(jiān)視器捕獲客戶操作系統(tǒng)訪問CR3寄存器的操作;步驟1013,虛擬才幾監(jiān)視器獲取待運(yùn)行進(jìn)程的頁目錄物理基地址。上述的方法,其中,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符中的進(jìn)程可讀標(biāo)識(shí);或虛擬機(jī)監(jiān)一見器為當(dāng)前運(yùn)行進(jìn)程分配的唯一標(biāo)識(shí)。上述的方法,其中,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程可讀標(biāo)識(shí)時(shí),所述進(jìn)程描述符由虛擬機(jī)監(jiān)視器從底層硬件獲取,或通過特定接口/A^戶操作系統(tǒng)獲取。上述的方法,其中,所述步驟101中,還包括一判斷步驟,判斷獲取的頁目錄基地址是否已經(jīng)保存,如果是,則結(jié)束處理,否則進(jìn)入步驟102。上述的方法,其中,所述步驟103中,上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系以鍵值對方式存儲(chǔ)。為了更好的實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的裝置,其中,包括頁目錄基地址紀(jì)錄模塊,用于在客戶操作系統(tǒng)進(jìn)行進(jìn)程切換時(shí),紀(jì)錄待運(yùn)行進(jìn)程的頁表信息;進(jìn)程標(biāo)識(shí)信息獲取模塊,用于獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;存儲(chǔ)模塊,用于存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁表信息和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息之間的對應(yīng)關(guān)系。上述的裝置,其中,所述頁表信息為頁目錄基地址。上述的裝置,其中,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符中的進(jìn)程可讀標(biāo)識(shí);或進(jìn)程標(biāo)識(shí)信息獲^^莫塊為當(dāng)前運(yùn)行進(jìn)程分配的唯一標(biāo)識(shí)。本發(fā)明的方法和裝置,通過存儲(chǔ)進(jìn)程頁目錄基地址和進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系,實(shí)現(xiàn)了虛擬機(jī)監(jiān)視器對GOS中的運(yùn)行進(jìn)程的定位和監(jiān)控,將虛擬機(jī)監(jiān)視器對GOS的管理力度提高為進(jìn)程級(jí)。在本發(fā)明的基礎(chǔ)上,可實(shí)現(xiàn)很多虛擬環(huán)境管理的高級(jí)功能,如VMM對GOS進(jìn)程控制;以進(jìn)程為單位的資源分配;死鎖;險(xiǎn)測;虛擬環(huán)境中的進(jìn)程遷移,GuestOS系統(tǒng)加固,以及為GOS中給定進(jìn)程打patch等重要應(yīng)用。圖1為本發(fā)明的方法的實(shí)施例的流程示意圖。具體實(shí)施方式本發(fā)明通過在進(jìn)程切換時(shí),由VMM記錄待運(yùn)行進(jìn)程頁表信息和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息后,然后根據(jù)頁表信息和標(biāo)識(shí)信息來識(shí)別進(jìn)程。下面以頁目錄基地址為例對本發(fā)明的方法和裝置進(jìn)行詳細(xì)說明,但應(yīng)當(dāng)理解的是,利用頁表信息中的其他信息也可實(shí)現(xiàn)本發(fā)明。如圖1所殺,為本發(fā)明的方法的實(shí)施例的流程示意圖,其包括步驟101,GOS進(jìn)行進(jìn)程切換時(shí),VMM紀(jì)錄待運(yùn)行進(jìn)程的頁目錄基地址;步驟102,VMM獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;步驟103,VMM存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系。下面對每個(gè)步驟進(jìn)行進(jìn)一步詳細(xì)說明。在步驟101中,GOS進(jìn)行進(jìn)程切換,有可能在內(nèi)核態(tài)的非中斷上下文調(diào)用,如系統(tǒng)調(diào)用或驅(qū)動(dòng)程序中等,也可能在內(nèi)核態(tài)的中斷上下文調(diào)用,如時(shí)鐘中斷的timekeeping階段。在步驟101中,GOS進(jìn)行進(jìn)程切換時(shí),會(huì)載入待運(yùn)行進(jìn)程的頁目錄,而載入待運(yùn)行進(jìn)程的頁目錄需要執(zhí)行以下操作從CR3寄存器中獲取頁目錄的物理基地址和載入對應(yīng)的頁表。很明顯,一旦GOS訪問CR3寄存器,就會(huì)被VMM捕獲,引發(fā)GOS到VMM運(yùn)行環(huán)境的切換,此時(shí),VMM即可獲取待運(yùn)行進(jìn)程的頁目錄物理基地址。在步驟102中,當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息可以包括兩種情況1、當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程可讀標(biāo)識(shí);2、VMM為當(dāng)前運(yùn)4亍進(jìn)程分配唯一的標(biāo)識(shí)。在第二種情況下,只需要保證為當(dāng)前運(yùn)行進(jìn)程分配的標(biāo)識(shí)與已分配給其他已運(yùn)行進(jìn)程的標(biāo)識(shí)不同即可實(shí)現(xiàn),在此不進(jìn)行詳細(xì)描述。但很明顯,利用進(jìn)程可讀標(biāo)識(shí)來標(biāo)識(shí)當(dāng)前運(yùn)行進(jìn)程可以更有效地根據(jù)進(jìn)程名稱來監(jiān)控進(jìn)程。下面就針對這種情況,即進(jìn)程的標(biāo)識(shí)信息為進(jìn)程可讀標(biāo)識(shí)這一種情況進(jìn)行詳細(xì)i兌明??蛻舨僮飨到y(tǒng)為每個(gè)進(jìn)程都對應(yīng)維護(hù)一個(gè)進(jìn)程描述符,而該進(jìn)程描述符中包括進(jìn)程可讀標(biāo)識(shí)。以Linux操作系統(tǒng)為例,Linux進(jìn)程管理中當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描迷符可通過內(nèi)核或中斷堆棧指針信息解析出,因?yàn)槎褩P畔⒑瓦M(jìn)程信息被安排在相連的頁面中存儲(chǔ)。因此,可通過如下代碼獲取當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符。movl$0xffffe000,%ecx/*or0xfffff000for4KBstacks*/andl%esp,%ecxmovl(%ecx),p而對于Windows操作系統(tǒng)來講,當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符可從prcb(processorcontrolblock)解析獲得,對于每一種處理器來說,prcb的地址是固定的,因此VMM可根據(jù)該地址方便的獲取當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符。在獲取了當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符后,即可從中獲取當(dāng)前運(yùn)行進(jìn)程的進(jìn)禾呈可讀標(biāo)識(shí)。當(dāng)然,VMM獲取該進(jìn)程描述符還可以是,由GOS通過特定接口將進(jìn)程描述符表暴露給VMM,如通過虛擬設(shè)備的方式告訴VMM。上述兩種獲取進(jìn)程描述符的方式的不同之處在于,前一種方式不需要GOS的參與,而后一種方式需要與GOS交互獲取進(jìn)程描述符,因此需要對GOS作出修改。同時(shí),為了避免重復(fù)存儲(chǔ),在步驟101中,在VMM獲取了待運(yùn)行進(jìn)程的頁目錄基地址之后,還可包括一判斷步驟,判斷待運(yùn)行進(jìn)程的頁目錄基地址是否已經(jīng)保存,如果是,則說明前面的處理中已經(jīng)保存了頁目錄基地址和進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系,表明該待運(yùn)行進(jìn)程已經(jīng)為VMM所識(shí)別,不需要繼續(xù)處理,否則表明該待運(yùn)行進(jìn)程還沒有-皮VMM所識(shí)別,因此,進(jìn)入步驟102中,進(jìn)行進(jìn)一步的識(shí)別處理。在步驟103中,VMM對應(yīng)存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息,根據(jù)該存儲(chǔ)的對應(yīng)信息即可識(shí)別和跟蹤客戶操作系統(tǒng)中的運(yùn)行進(jìn)程。待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息可以按鍵值對的方式存儲(chǔ)。在步驟103中,可以發(fā)現(xiàn),對應(yīng)存儲(chǔ)的是上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息,因?yàn)橄鄬Ξ?dāng)前運(yùn)行進(jìn)程來說,在上一輪的進(jìn)程切換中,其身份為待運(yùn)行進(jìn)程,因此,在103中,對應(yīng)存儲(chǔ)的是上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息,以保證二者之間的正確對應(yīng)。下面以實(shí)際例子來說明。假設(shè)目前VMM中已經(jīng)保存了進(jìn)程A的信息,如下表所示:<table>tableseeoriginaldocumentpage8</column></row><table>且假設(shè)目前在運(yùn)行的進(jìn)程為進(jìn)程B,同時(shí)待運(yùn)行進(jìn)程為進(jìn)程C。下面以上述的情況進(jìn)行說明。從上面的情況可以知道,在進(jìn)行進(jìn)程B到進(jìn)程C的切換之前已經(jīng)發(fā)生進(jìn)程A到進(jìn)程B的切換,利用本發(fā)明的方法可以獲取以下信息GOS進(jìn)行進(jìn)程A到進(jìn)程B的切換,VMM紀(jì)錄待運(yùn)行進(jìn)程(進(jìn)程B)的頁目錄基地址(在此,4艮設(shè)為地址2);VMM獲取當(dāng)前運(yùn)行進(jìn)程(進(jìn)程A)的標(biāo)識(shí)信息;此時(shí),進(jìn)行進(jìn)程B到進(jìn)程C的切換,利用本發(fā)明的方法如下GOS進(jìn)行進(jìn)程B到進(jìn)程C的切換,VMM紀(jì)錄待運(yùn)行進(jìn)程(進(jìn)程C)的頁目錄基地址(在此,布支設(shè)為地址3);VMM獲取當(dāng)前運(yùn)行進(jìn)程(進(jìn)程B)的標(biāo)識(shí)信息(在此,假設(shè)為BCD)。在此之后,VMM會(huì)對應(yīng)存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程(進(jìn)程B)頁目錄基地址(地址2)和當(dāng)前運(yùn)行進(jìn)程(進(jìn)程B)的標(biāo)識(shí)信息(BCD)。因此,更新后,保存的對應(yīng)關(guān)系如下:<table>tableseeoriginaldocumentpage9</column></row><table>依此類推,可以發(fā)現(xiàn),后續(xù)的進(jìn)程C、進(jìn)程D、…都可以利用本發(fā)明的方法,由VMM進(jìn)4亍識(shí)別。本發(fā)明具體實(shí)施例中的裝置包括頁目錄基地址紀(jì)錄模塊,用于在GOS進(jìn)行進(jìn)程切換時(shí),紀(jì)錄待運(yùn)行進(jìn)程的頁目錄基地址;進(jìn)程標(biāo)識(shí)信息獲取模塊,用于獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;存儲(chǔ)模塊,用于存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息之間的對應(yīng)關(guān)系。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)^L為本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法,其特征在于,包括步驟101,客戶操作系統(tǒng)進(jìn)行進(jìn)程切換時(shí),虛擬機(jī)監(jiān)視器紀(jì)錄待運(yùn)行進(jìn)程的頁表信息;步驟102,虛擬機(jī)監(jiān)視器獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;步驟103,虛擬機(jī)監(jiān)視器存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁表信息和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系。2.根據(jù)權(quán),要求1所述的方法,其特征在于,所述頁表信息為頁目錄基地址。.3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟101具體包括步驟IOII,客戶操作系統(tǒng)進(jìn)行進(jìn)程切換,訪問CR3寄存器;步驟1012,虛擬機(jī)監(jiān)視器捕獲客戶操作系統(tǒng)訪問CR3寄存器的操作;步驟1013,虛擬機(jī)監(jiān)視器獲取待運(yùn)行進(jìn)程的頁目錄物理基地址。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符中的進(jìn)程可讀標(biāo)識(shí);或虛擬機(jī)監(jiān)^f見器為當(dāng)前運(yùn)行進(jìn)程分配的唯一標(biāo)識(shí)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)行進(jìn)程的進(jìn)程可讀標(biāo)識(shí)時(shí),所述進(jìn)程描述符由虛擬機(jī)監(jiān)視器從底層硬件獲取,或通過特定接口從客戶操作系統(tǒng)獲取。6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟101中,還包括一判斷步驟,判斷獲取的頁目錄基地址是否已經(jīng)保存,如果是,則結(jié)束處理,否則進(jìn)入步驟102。7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟103中,上輪記錄的待運(yùn)行進(jìn)程頁目錄基地址和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系以鍵值對方式存儲(chǔ)。8.—種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的裝置,其特征在于,包括頁目錄基地址紀(jì)錄模塊,用于在客戶操作系統(tǒng)進(jìn)行進(jìn)程切換時(shí),紀(jì)錄待運(yùn)行進(jìn)程的頁表信息;進(jìn)程標(biāo)識(shí)信息獲取模塊,用于獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;存儲(chǔ)模塊,用于存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁表信息和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息之間的對應(yīng)關(guān)系。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述頁表信息為頁目錄基地址。10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息為當(dāng)前運(yùn)4亍進(jìn)程的進(jìn)程描述符中的進(jìn)程可讀標(biāo)識(shí);或進(jìn)程標(biāo)識(shí)信息獲取模塊為當(dāng)前運(yùn)行進(jìn)程分配的唯一標(biāo)識(shí)。全文摘要本發(fā)明提供一種虛擬機(jī)監(jiān)視器識(shí)別客戶操作系統(tǒng)中進(jìn)程的方法及裝置,其中,該方法包括步驟101,客戶操作系統(tǒng)進(jìn)行進(jìn)程切換時(shí),虛擬機(jī)監(jiān)視器紀(jì)錄待運(yùn)行進(jìn)程的頁表信息;步驟102,虛擬機(jī)監(jiān)視器獲取當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息;步驟103,虛擬機(jī)監(jiān)視器存儲(chǔ)上輪記錄的待運(yùn)行進(jìn)程頁表信息和當(dāng)前運(yùn)行進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系。本發(fā)明的方法和裝置,通過存儲(chǔ)進(jìn)程頁表信息和進(jìn)程的標(biāo)識(shí)信息的對應(yīng)關(guān)系,實(shí)現(xiàn)了虛擬機(jī)監(jiān)視器對GOS中的運(yùn)行進(jìn)程的定位和監(jiān)控,將虛擬機(jī)監(jiān)視器對GOS的管理力度提高為進(jìn)程級(jí)。文檔編號(hào)G06F11/34GK101334751SQ20071011818公開日2008年12月31日申請日期2007年6月29日優(yōu)先權(quán)日2007年6月29日發(fā)明者華康申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1