[發(fā)明專利]使用仿真對(duì)物理硬件的運(yùn)行時(shí)替換有效
| 申請(qǐng)?zhí)枺?/td> | 200980139424.3 | 申請(qǐng)日: | 2009-09-15 |
| 公開(kāi)(公告)號(hào): | CN102165431A | 公開(kāi)(公告)日: | 2011-08-24 |
| 發(fā)明(設(shè)計(jì))人: | D·L·格林;J·奧辛斯 | 申請(qǐng)(專利權(quán))人: | 微軟公司 |
| 主分類號(hào): | G06F15/16 | 分類號(hào): | G06F15/16;G06F9/06;G06F3/06;G06F13/38 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 蔡悅 |
| 地址: | 美國(guó)華*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 使用 仿真 物理 硬件 運(yùn)行 替換 | ||
技術(shù)領(lǐng)域
當(dāng)前公開(kāi)的主題涉及計(jì)算領(lǐng)域,且更具體而言,涉及計(jì)算機(jī)虛擬化,但虛擬化只是示例性且非限制性領(lǐng)域。
背景技術(shù)
諸如管理程序等虛擬機(jī)監(jiān)控程序是創(chuàng)建虛擬機(jī)的程序,每一個(gè)虛擬機(jī)帶有可由底層物理硬件資源支持的虛擬化硬件資源。當(dāng)直接將硬件控制接口分配給虛擬機(jī)時(shí),該虛擬機(jī)通常經(jīng)由看起來(lái)像(對(duì)寄存器、卡上RAM等的)存儲(chǔ)器訪問(wèn)的方式被給予對(duì)硬件的直接控制。然而,當(dāng)虛擬機(jī)沒(méi)有以及時(shí)方式對(duì)放棄硬件控制接口的請(qǐng)求作出響應(yīng)時(shí),可能需要最終從虛擬機(jī)上移除硬件控制接口。這一方法存在的問(wèn)題是,當(dāng)接口被移除時(shí)虛擬機(jī)中的設(shè)備驅(qū)動(dòng)程序可能正在使用硬件控制接口,并且由此,虛擬機(jī)中相關(guān)聯(lián)的驅(qū)動(dòng)程序在試圖從先前由硬件支持的存儲(chǔ)器位置中讀取時(shí)可能接收非預(yù)期值。例如,存儲(chǔ)器訪問(wèn)的非預(yù)期丟失可留下現(xiàn)在每一字節(jié)被當(dāng)作0xFF的存儲(chǔ)器位置。非預(yù)期值可能導(dǎo)致子驅(qū)動(dòng)程序崩潰、循環(huán)、或死鎖。
另一問(wèn)題是虛擬處理器可能在任何兩個(gè)指令之間的邊界上被暫停,并且難以編寫以及測(cè)試處理在任何這樣的任意指令邊界處的硬件移除的驅(qū)動(dòng)程序。真實(shí)物理處理器通常以指令在其中被快速執(zhí)行并且沒(méi)有中斷的模式操作。由此,本領(lǐng)域中需要解決上述問(wèn)題的其他技術(shù)。
發(fā)明內(nèi)容
此處公開(kāi)了用于用支持機(jī)制來(lái)替換支持與虛擬機(jī)相關(guān)聯(lián)的存儲(chǔ)器位置的硬件的各種方法和系統(tǒng)。該支持機(jī)制可具有表現(xiàn)為包含便于虛擬機(jī)中的驅(qū)動(dòng)程序的數(shù)據(jù)的存儲(chǔ)器位置,通常包含如果從存儲(chǔ)器中讀取則硬件將返回的內(nèi)容。通過(guò)提供這樣的支持機(jī)制,驅(qū)動(dòng)程序可以低得多的頻率來(lái)檢查硬件移除,從而使得驅(qū)動(dòng)程序更容易編寫和測(cè)試。即使虛擬機(jī)移動(dòng)到不包含與最近從虛擬機(jī)中移除的硬件等效的任何硬件的不同物理機(jī)器,從存儲(chǔ)器位置返回的數(shù)據(jù)映像現(xiàn)在也可以與虛擬機(jī)一起移動(dòng)。
除了上述方面,構(gòu)成本發(fā)明一部分的權(quán)利要求、附圖、以及文本中描述了其他方面本領(lǐng)域技術(shù)人員將理解,本發(fā)明的一個(gè)或多個(gè)方面可包括但不限于用于實(shí)現(xiàn)本發(fā)明的本文所述方面的電路和/或編程;該電路和/或編程實(shí)質(zhì)上可以是被配置成實(shí)現(xiàn)本文所述方面的硬件、軟件和/或固件的任何組合,這取決于系統(tǒng)設(shè)計(jì)者的設(shè)計(jì)選擇。
應(yīng)當(dāng)注意,提供本概述是為了以簡(jiǎn)化的形式介紹下面在詳細(xì)描述中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
附圖說(shuō)明
以上的概述以及以下的詳細(xì)描述在結(jié)合附圖閱讀時(shí)能更好地理解。為例示本發(fā)明,示出了本發(fā)明的各方面。然而,本發(fā)明不限于所討論的各特定方面。包括以下附圖:
圖1a示出了具有包括多個(gè)虛擬處理器以及對(duì)應(yīng)的客操作系統(tǒng)的多個(gè)虛擬機(jī)的虛擬機(jī)環(huán)境;虛擬機(jī)由可包括調(diào)度器和其他組件的虛擬化層來(lái)維護(hù),其中虛擬化層虛擬化多個(gè)虛擬機(jī)的硬件;
圖1b示出了表示計(jì)算機(jī)系統(tǒng)中用于虛擬化環(huán)境的硬件和軟件體系結(jié)構(gòu)的邏輯分層的框圖;
圖1c描繪了其中可實(shí)現(xiàn)本發(fā)明的各方面的示例計(jì)算機(jī)系統(tǒng);
圖2示出了示例性虛擬化計(jì)算系統(tǒng);
圖3示出了替換虛擬化計(jì)算系統(tǒng);
圖4描繪了示出輸入/輸入(I/O)空間和存儲(chǔ)器映射的I/O(MMIO)的示例性系統(tǒng)框圖,例如它與外圍組件互連(PCI)設(shè)備有關(guān);
圖5是示出隨機(jī)存取存儲(chǔ)器(RAM)可以駐留在其中的地址空間的示例性框圖;
圖6示出了用于維護(hù)對(duì)存儲(chǔ)器區(qū)域的可訪問(wèn)性的操作過(guò)程的示例,該存儲(chǔ)器區(qū)域?qū)?yīng)于駐留在虛擬機(jī)環(huán)境中的驅(qū)動(dòng)程序的硬件設(shè)備;
圖7示出了用于維護(hù)對(duì)存儲(chǔ)器區(qū)域的可訪問(wèn)性的操作過(guò)程的示例,該存儲(chǔ)器區(qū)域?qū)?yīng)于駐留在虛擬機(jī)環(huán)境中的驅(qū)動(dòng)程序的硬件設(shè)備;
圖8示出了用于維護(hù)對(duì)存儲(chǔ)器區(qū)域的可訪問(wèn)性的操作過(guò)程的示例,該存儲(chǔ)器區(qū)域?qū)?yīng)于駐留在虛擬機(jī)環(huán)境中的驅(qū)動(dòng)程序的硬件設(shè)備;
圖9描繪了用于維護(hù)對(duì)存儲(chǔ)器區(qū)域的可訪問(wèn)性的示例性操作過(guò)程,該存儲(chǔ)器區(qū)域?qū)?yīng)于駐留在虛擬機(jī)環(huán)境中的驅(qū)動(dòng)程序的硬件設(shè)備;
圖10描繪了用于維護(hù)對(duì)存儲(chǔ)器區(qū)域的可訪問(wèn)性的示例性操作過(guò)程,該存儲(chǔ)器區(qū)域?qū)?yīng)于駐留在虛擬機(jī)環(huán)境中的驅(qū)動(dòng)程序的硬件設(shè)備;
圖11示出了承載參考以上圖1-10討論的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
具體實(shí)施方式
概括的虛擬機(jī)
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟公司,未經(jīng)微軟公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200980139424.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F15-00 通用數(shù)字計(jì)算機(jī)
G06F15-02 .通過(guò)鍵盤輸入的手動(dòng)操作,以及應(yīng)用機(jī)內(nèi)程序的計(jì)算,例如,袖珍計(jì)算器
G06F15-04 .在引入被處理的數(shù)據(jù)的同時(shí),進(jìn)行編制程序的,例如,在同一記錄載體上
G06F15-08 .應(yīng)用插接板編制程序的
G06F15-16 .兩個(gè)或多個(gè)數(shù)字計(jì)算機(jī)的組合,其中每臺(tái)至少具有一個(gè)運(yùn)算器、一個(gè)程序器及一個(gè)寄存器,例如,用于數(shù)個(gè)程序的同時(shí)處理
G06F15-18 .其中,根據(jù)計(jì)算機(jī)本身在一個(gè)完整的運(yùn)行期間內(nèi)所取得的經(jīng)驗(yàn)來(lái)改變程序的;學(xué)習(xí)機(jī)器
- 一種針對(duì)紅外成像系統(tǒng)的全數(shù)字仿真系統(tǒng)及其仿真方法
- 支持船舶建造過(guò)程仿真的樹(shù)形目錄結(jié)構(gòu)數(shù)據(jù)及仿真系統(tǒng)
- 一種99A主戰(zhàn)坦克仿真模型
- 作為母乳喂養(yǎng)科普器具的新生兒模型
- 一種多仿真器協(xié)同的仿真方法、仿真主控平臺(tái)和仿真系統(tǒng)
- 為控制器開(kāi)發(fā)提供實(shí)時(shí)仿真的方法以及仿真裝置
- 一種仿真方法及仿真平臺(tái)
- 一種長(zhǎng)嘴仿真魚餌
- 一種H橋驅(qū)動(dòng)電路的熱仿真模型及熱仿真方法
- 仿真模型的運(yùn)行控制方法、裝置及電子設(shè)備





