本發(fā)明專利技術(shù)實(shí)施例提供一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和裝置,該方法包括:待切入第一虛擬機(jī)時(shí),判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào);所述當(dāng)前虛擬機(jī)號(hào)是在待切入第一虛擬機(jī)之前,在宿主機(jī)上運(yùn)行完成的虛擬機(jī)所對(duì)應(yīng)的虛擬機(jī)號(hào);若是,則確定虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值為切入所述第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)數(shù)據(jù);若否,將所述虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值存儲(chǔ)至所述預(yù)設(shè)空間內(nèi)存儲(chǔ)的虛擬機(jī)號(hào)所對(duì)應(yīng)的虛擬機(jī)暫存空間;將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間內(nèi)的第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述虛擬機(jī)專用寄存器;通過本發(fā)明專利技術(shù)提供的虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和裝置,優(yōu)化了虛擬機(jī)的切換過程,提高了虛擬機(jī)切換速度。
【技術(shù)實(shí)現(xiàn)步驟摘要】
虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和裝置
本專利技術(shù)實(shí)施例涉及計(jì)算機(jī)
,尤其涉及一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和>J-U ρ?α裝直。
技術(shù)介紹
隨著云計(jì)算的應(yīng)用,系統(tǒng)虛擬化得到了越來越快的發(fā)展,越來越多的架構(gòu)嘗試著增加虛擬化的支持,除了 Χ86架構(gòu)之外,精簡(jiǎn)指令集架構(gòu)(Micropr-ocessor withoutinterlocked piped stages,簡(jiǎn)稱MIPS)也提出了一套硬件輔助虛擬化規(guī)范,MIPS架構(gòu)下的系統(tǒng)虛擬化也得到了長(zhǎng)足的發(fā)展。MIPS架構(gòu)硬件輔助虛擬化規(guī)范中提出了一種專門供虛擬機(jī)的額外模式,即專門供虛擬機(jī)運(yùn)行的一種操作模式,在這種模式下?lián)碛泻芏鄬9┨摂M機(jī)使用的專用寄存器,可以稱之為虛擬機(jī)專用寄存器,通過這種方式可以很大程度上提升虛擬機(jī)的運(yùn)行速度。一般來說,切換虛擬機(jī)的方式如下:當(dāng)前時(shí)刻準(zhǔn)備切入虛擬機(jī),將當(dāng)前時(shí)刻的物理CPU(Central Processing Unit,中央處理器)內(nèi)部宿主機(jī)通用寄存器、部分宿主機(jī)控制寄存器中的數(shù)據(jù)保存至宿主機(jī)的暫存空間,并將該虛擬機(jī)運(yùn)行所需的現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至物理CPU ;舉例來說,在當(dāng)前時(shí)刻之前的上一時(shí)刻,該虛擬機(jī)在宿主機(jī)上運(yùn)行過,且在運(yùn)行過程中該虛擬機(jī)訪問了寄存器(具體可以為通用寄存器、控制寄存器或?qū)S眉拇嫫?,將該寄存器中的值進(jìn)行了更新,例如更新了該虛擬機(jī)運(yùn)行所需的文件的存放路徑,為使該虛擬機(jī)在之后的運(yùn)行過程中可使用正確的存放路徑查找到上述運(yùn)行所需的文件,則將寄存器中的值作為現(xiàn)場(chǎng)數(shù)據(jù)保存至虛擬機(jī)暫存空間;因此,在當(dāng)前時(shí)刻準(zhǔn)備切入虛擬機(jī)時(shí),需要將虛擬機(jī)暫存空間存儲(chǔ)的現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行恢復(fù);依次類推,在切入虛擬機(jī)之后,進(jìn)行了該虛擬機(jī)的本次運(yùn)行,且下一個(gè)時(shí)刻準(zhǔn)備退出該虛擬機(jī)時(shí),則將寄存器中的當(dāng)前值(針對(duì)此次運(yùn)行過程中產(chǎn)生的值)作為新的現(xiàn)場(chǎng)數(shù)據(jù)保存至虛擬機(jī)暫存空間,并將之前保存至宿主機(jī)暫存空間的寄存器值恢復(fù)到物理CPU中。影響虛擬機(jī)切換速度主要是這些寄存器的保存和恢復(fù),且在擁有硬件輔助虛擬化支持的情況下,由于增加了虛擬機(jī)專用寄存器,因此虛擬機(jī)切換時(shí)寄存器保存和恢復(fù)的開銷進(jìn)一步增大了,導(dǎo)致虛擬機(jī)切換速度的下降。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)實(shí)施例提供一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和裝置,用于優(yōu)化虛擬機(jī)的切換過程,以提高虛擬機(jī)切換速度。第一方面,本專利技術(shù)實(shí)施例提供一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法,包括:待切入第一虛擬機(jī)時(shí),判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào);所述當(dāng)前虛擬機(jī)號(hào)是在待切入第一虛擬機(jī)之前,在宿主機(jī)上運(yùn)行完成的虛擬機(jī)所對(duì)應(yīng)的虛擬機(jī)號(hào);若是,則確定虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值為切入所述第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)數(shù)據(jù);若否,將所述虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值存儲(chǔ)至所述預(yù)設(shè)空間內(nèi)存儲(chǔ)的虛擬機(jī)號(hào)所對(duì)應(yīng)的虛擬機(jī)暫存空間;將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間內(nèi)的第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述虛擬機(jī)專用寄存器。結(jié)合第一方面,在第一實(shí)施方式中,所述處理方法還包括:當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第一虛擬機(jī)的虛擬機(jī)號(hào)作為新的所述當(dāng)前虛擬機(jī)號(hào),存儲(chǔ)至所述宿主機(jī)的預(yù)設(shè)空間內(nèi);并將運(yùn)行所述第一虛擬機(jī)產(chǎn)生的更新后的第一現(xiàn)場(chǎng)數(shù)據(jù)作為新的當(dāng)前值,保留至所述虛擬機(jī)專用寄存器中。結(jié)合第一方面第一實(shí)施方式,在第二實(shí)施方式中,在判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào)之前,所述控制方法還包括:將第一寄存器中的宿主機(jī)的現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述宿主機(jī)暫存空間;將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中的所述第二現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至第二寄存器中。結(jié)合第一方面第二實(shí)施方式,在第三實(shí)施方式中,所述控制方法還包括:當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第二寄存器中更新后的值作為新的第二現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中;將所述宿主機(jī)暫存空間存儲(chǔ)的所述宿主機(jī)當(dāng)前現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述第一寄存器。結(jié)合第一方面第三實(shí)施方式,在第四實(shí)施方式中,所述第二寄存器為運(yùn)行虛擬機(jī)過程中,所述虛擬機(jī)訪問的通用寄存器和控制寄存器。第二方面,本專利技術(shù)實(shí)施例提供一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理裝置,包括:判斷模塊、第一存儲(chǔ)模塊和確定模塊,所述確定模塊與所述判斷模塊相連接,所述第一存儲(chǔ)模塊與所述判斷模塊相連接;所述判斷模塊,用于待切入第一虛擬機(jī)時(shí),判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào);所述當(dāng)前虛擬機(jī)號(hào)是在待切入第一虛擬機(jī)之前,在宿主機(jī)上運(yùn)行完成的虛擬機(jī)所對(duì)應(yīng)的虛擬機(jī)號(hào);所述確定模塊,用于在所述判斷模塊判斷所述宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)為所述第一虛擬機(jī)的虛擬機(jī)號(hào)時(shí),確定虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值為切入所述第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)數(shù)據(jù);所述第一存儲(chǔ)模塊,用于在所述判斷模塊判斷所述宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)不為所述第一虛擬機(jī)的虛擬機(jī)號(hào)時(shí),將所述虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值存儲(chǔ)至所述預(yù)設(shè)空間內(nèi)存儲(chǔ)的虛擬機(jī)號(hào)所對(duì)應(yīng)的虛擬機(jī)暫存空間;將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間內(nèi)的第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述虛擬機(jī)專用寄存器。結(jié)合第二方面,在第一實(shí)施方式中,所述處理裝置還包括第二存儲(chǔ)模塊,所述第二存儲(chǔ)模塊,用于當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第一虛擬機(jī)的虛擬機(jī)號(hào)作為新的所述當(dāng)前虛擬機(jī)號(hào),存儲(chǔ)至所述宿主機(jī)的預(yù)設(shè)空間內(nèi);并將運(yùn)行所述第一虛擬機(jī)產(chǎn)生的更新后的第一現(xiàn)場(chǎng)數(shù)據(jù)作為新的當(dāng)前值,保留至所述虛擬機(jī)專用寄存器中。結(jié)合第二方面第一實(shí)施方式,在第二實(shí)施方式中,所述處理裝置還包括第三存儲(chǔ)模塊所述第三存儲(chǔ)模塊,用于將第一寄存器中的宿主機(jī)當(dāng)前現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述宿主機(jī)暫存空間;并將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中的所述第二現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至第二寄存器中。結(jié)合第二方面第二實(shí)施方式,在第三實(shí)施方式中,所述處理裝置還包括第四存儲(chǔ)模塊所述第四存儲(chǔ)模塊,用于當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第二寄存器中更新后的值作為新的第二現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中;并將所述宿主機(jī)暫存空間存儲(chǔ)的所述宿主機(jī)當(dāng)前現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述第一寄存器。結(jié)合第二方面第三實(shí)施方式,在第四實(shí)施方式中,所述第二寄存器為運(yùn)行虛擬機(jī)過程中,所述虛擬機(jī)訪問的通用寄存器和控制寄存器。本專利技術(shù)實(shí)施例提供的虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法和裝置,在待切入第一虛擬機(jī)時(shí),通過判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)為第一虛擬機(jī)的虛擬機(jī)號(hào),則可獲知虛擬機(jī)專用寄存器中的當(dāng)前值是可用于正確運(yùn)行第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)信息,即切入第一虛擬機(jī)之前,宿主機(jī)運(yùn)行了第一虛擬機(jī)并將用于該第一虛擬機(jī)再次運(yùn)行所需的第一現(xiàn)場(chǎng)數(shù)據(jù)未存儲(chǔ)至虛擬機(jī)暫存空間,而是保留在虛擬機(jī)專用寄存器中,則在本次運(yùn)行時(shí),不需要從虛擬機(jī)暫存空間中將第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至虛擬機(jī)專用寄存器,節(jié)省了虛擬機(jī)專用寄存器保存和恢復(fù)的開銷,提高了虛擬機(jī)的切換速度?!靖綀D說明】圖1為本專利技術(shù)虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法實(shí)施例一的流程圖;圖2為本專利技術(shù)虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法實(shí)施例二的流程圖;圖3為本專利技術(shù)虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理裝置實(shí)施例一的結(jié)構(gòu)圖;圖4為本專利技術(shù)虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理裝置實(shí)施例二的結(jié)構(gòu)圖。【具體實(shí)施方式】圖1為本專利技術(shù)虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法實(shí)施例一的流程圖。如圖1所示,本實(shí)施例的執(zhí)行主體為虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理裝置,該處理裝置可以采用硬件和/或軟件的方式實(shí)現(xiàn),具體的,本實(shí)施例的具體步驟如下:S1本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法,其特征在于,包括:待切入第一虛擬機(jī)時(shí),判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào);所述當(dāng)前虛擬機(jī)號(hào)是在待切入第一虛擬機(jī)之前,在宿主機(jī)上運(yùn)行完成的虛擬機(jī)所對(duì)應(yīng)的虛擬機(jī)號(hào);若是,則確定虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值為切入所述第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)數(shù)據(jù);若否,將所述虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值存儲(chǔ)至所述預(yù)設(shè)空間內(nèi)存儲(chǔ)的虛擬機(jī)號(hào)所對(duì)應(yīng)的虛擬機(jī)暫存空間;將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間內(nèi)的第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述虛擬機(jī)專用寄存器。
【技術(shù)特征摘要】
1.一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理方法,其特征在于,包括: 待切入第一虛擬機(jī)時(shí),判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào);所述當(dāng)前虛擬機(jī)號(hào)是在待切入第一虛擬機(jī)之前,在宿主機(jī)上運(yùn)行完成的虛擬機(jī)所對(duì)應(yīng)的虛擬機(jī)號(hào); 若是,則確定虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值為切入所述第一虛擬機(jī)所需的第一現(xiàn)場(chǎng)數(shù)據(jù); 若否,將所述虛擬機(jī)專用寄存器內(nèi)的當(dāng)前值存儲(chǔ)至所述預(yù)設(shè)空間內(nèi)存儲(chǔ)的虛擬機(jī)號(hào)所對(duì)應(yīng)的虛擬機(jī)暫存空間; 將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間內(nèi)的第一現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述虛擬機(jī)專用寄存器。2.根據(jù)權(quán)利要求1所述的處理方法,其特征在于,還包括: 當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第一虛擬機(jī)的虛擬機(jī)號(hào)作為新的所述當(dāng)前虛擬機(jī)號(hào),存儲(chǔ)至所述宿主機(jī)的預(yù)設(shè)空間內(nèi); 并將運(yùn)行所述第一虛擬機(jī)產(chǎn)生的更新后的第一現(xiàn)場(chǎng)數(shù)據(jù)作為新的當(dāng)前值,保留至所述虛擬機(jī)專用寄存器中。3.根據(jù)權(quán)利要求2所述的處理方法,其特征在于,在判斷宿主機(jī)的預(yù)設(shè)空間內(nèi)存儲(chǔ)的當(dāng)前虛擬機(jī)號(hào)是否為所述第一虛擬機(jī)的虛擬機(jī)號(hào)之前,所述處理方法還包括: 將第一寄存器中的宿主機(jī)的現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述宿主機(jī)暫存空間; 將所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中的所述第二現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至第二寄存器中。4.根據(jù)權(quán)利要求3所述的處理方法,其特征在于,所述還包括: 當(dāng)所述第一虛擬機(jī)待退出時(shí),將所述第二寄存器中更新后的值作為新的第二現(xiàn)場(chǎng)數(shù)據(jù)存儲(chǔ)至所述第一虛擬機(jī)對(duì)應(yīng)的虛擬機(jī)暫存空間中; 將所述宿主機(jī)暫存空間存儲(chǔ)的所述宿主機(jī)當(dāng)前現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)至所述第一寄存器。5.根據(jù)權(quán)利要求4所述的處理方法,其特征在于,所述第二寄存器為運(yùn)行虛擬機(jī)過程中,所述虛擬機(jī)訪問的通用寄存器和控制寄存器。6.一種虛擬機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的處理裝置,其特征在于,包括: 判斷模塊、第一存儲(chǔ)模塊和確定模塊,所述確定模塊與所述判斷模塊相連接,所述第一存儲(chǔ)模塊與所述判斷模塊相連接; 所述判斷模塊,用于待切入...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:臺(tái)運(yùn)方,蔡萬偉,劉奇,張戈,
申請(qǐng)(專利權(quán))人:龍芯中科技術(shù)有限公司,
類型:發(fā)明
國(guó)別省市:北京;11
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。