專利名稱:一種虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種虛擬機(jī)技術(shù),特別涉及一種虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法及其設(shè)備。
背景技術(shù):
目前,在服務(wù)器上同時(shí)運(yùn)行多種操作系統(tǒng)的應(yīng)用越來越廣泛,在IBM、Sun和惠普公司推出的大型主機(jī)和Unix操作系統(tǒng)上,這已經(jīng)成為標(biāo)準(zhǔn)的功能。不同的操作系統(tǒng)能夠以最高的性能運(yùn)行單獨(dú)的任務(wù),而各個(gè)任務(wù)之間彼此互不干擾。英特爾公司和AMD公司已將這一技術(shù)移植到x86架構(gòu)計(jì)算機(jī)系統(tǒng)上,。Gartner公司的最新研究稱,虛擬化將成為十年內(nèi)PC遇到的最具殺傷力的技術(shù)。通過分離PC軟硬件,允許多操作系統(tǒng)同時(shí)運(yùn)行在同一桌面,PC虛擬化技術(shù)將使企業(yè)桌面發(fā)生革命。
虛擬化使平臺(tái)能夠在獨(dú)立分區(qū)或“設(shè)備”中運(yùn)行多種操作系統(tǒng)。一個(gè)物理計(jì)算系統(tǒng)可作為多個(gè)“虛擬”系統(tǒng)運(yùn)行。用戶可在各自分離的平臺(tái)上進(jìn)行單獨(dú)的分區(qū),從而降低了一個(gè)分區(qū)上的病毒可能感染其它分區(qū)甚至整個(gè)網(wǎng)絡(luò)的風(fēng)險(xiǎn)。
圖1為現(xiàn)有技術(shù)中虛擬機(jī)系統(tǒng)的結(jié)構(gòu)圖,該虛擬機(jī)系統(tǒng)包括ServiceOS(服務(wù)操作系統(tǒng))系統(tǒng)、至少一個(gè)Guest OS(客戶機(jī)操作系統(tǒng))系統(tǒng)和一個(gè)Hypervisor(虛擬機(jī)監(jiān)控器,也叫VMM)系統(tǒng),其中Service OS系統(tǒng)包括Devicemodel(設(shè)備模型模塊)、Control Panel(控制面板模塊)和Native device driver(本地設(shè)備驅(qū)動(dòng)模塊),控制面板模塊用于創(chuàng)建一個(gè)Guest OS,刪除一個(gè)GuestOS,為Guest OS的配置文件中指定設(shè)備信息,每個(gè)Guest OS在被創(chuàng)建的同時(shí)都產(chǎn)生一個(gè)相應(yīng)的配置文件和一個(gè)Device model,Device model(設(shè)備模型模塊)根據(jù)配置文件設(shè)置與該Device model對(duì)應(yīng)的Guest OS中設(shè)備的啟用和禁用狀態(tài),Guest OS系統(tǒng)在啟動(dòng)時(shí)搜索硬件,通過Hypervisor從Device model(設(shè)備模型模塊)中獲得該Guest OS的設(shè)備配置信息,Device model(設(shè)備模型模塊)位于Service OS上為相應(yīng)的Guest OS提供完整的硬件平臺(tái)信息,即提供虛擬的硬件平臺(tái),Guest OS看到的硬件設(shè)備全部是由設(shè)備模型虛擬出來的;Hypervisor(虛擬機(jī)監(jiān)控器)為Guest OS訪問設(shè)備模型模塊提供通道,所有的Guest OS對(duì)硬件設(shè)備的訪問,請(qǐng)求及各種操作,都是通過虛擬機(jī)監(jiān)控器傳遞給設(shè)備模型模塊的,設(shè)備模型模塊再通過真正的硬件驅(qū)動(dòng)與硬件交互,并把硬件的響應(yīng)及操作結(jié)果通過虛擬機(jī)監(jiān)視器再傳遞給Guest OS。這樣,Guest OS就能正常訪問真正的硬件設(shè)備。
虛擬系統(tǒng)實(shí)現(xiàn)的關(guān)鍵就是為各個(gè)操作系統(tǒng)提供“獨(dú)立的、彼此分離的”硬件平臺(tái),由于PC上硬件的限制,這種技術(shù)主要還是由軟件來實(shí)現(xiàn)。而現(xiàn)有技術(shù)的實(shí)現(xiàn)方式上只能是靜態(tài)地分配硬件I/O設(shè)備,如果需要改變虛擬系統(tǒng)的I/O設(shè)備的配置狀況,必須首先在控制面板模塊中修改配置文件然后重新啟動(dòng)系統(tǒng)才能使配置生效。這樣就限制了虛擬系統(tǒng)實(shí)現(xiàn)上對(duì)I/O設(shè)備的靈活分配。
發(fā)明內(nèi)容
本發(fā)明的目的就是提供了一種在系統(tǒng)運(yùn)行過程中動(dòng)態(tài)地改變虛擬系統(tǒng)所擁有的I/O設(shè)備的方法,使虛擬系統(tǒng)在運(yùn)行過程中可以動(dòng)態(tài)地分配硬件資源,使得I/O設(shè)備在虛擬系統(tǒng)中的歸屬可以動(dòng)態(tài)地改變,而不必重新啟動(dòng)系統(tǒng)。避免了資源改變后系統(tǒng)的重新啟動(dòng)。為此,本發(fā)明采用如下技術(shù)方案達(dá)到本發(fā)明的目的本發(fā)明提供一種虛擬機(jī)系統(tǒng),包括服務(wù)操作系統(tǒng)、虛擬機(jī)監(jiān)控器和至少一個(gè)客戶機(jī)操作系統(tǒng),其中服務(wù)操作系統(tǒng)包含設(shè)備模型模塊,所述設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供輸入/輸出設(shè)備訪問平臺(tái),所述客戶機(jī)操作系統(tǒng)是由所述服務(wù)操作系統(tǒng)利用虛擬技術(shù)產(chǎn)生的,每個(gè)客戶機(jī)操作系統(tǒng)在服務(wù)操作系統(tǒng)中有對(duì)應(yīng)的一個(gè)設(shè)備模型模塊和一個(gè)記載設(shè)備配置信息的配置文件,客戶機(jī)操作系統(tǒng)通過虛擬機(jī)監(jiān)控器訪問設(shè)備模型模塊,所述設(shè)備模型模塊能夠動(dòng)態(tài)控制客戶機(jī)操作系統(tǒng)對(duì)輸入/輸出設(shè)備的訪問。
所述設(shè)備模型模塊還包括一個(gè)設(shè)備狀態(tài)模塊,所述設(shè)備狀態(tài)模塊能夠動(dòng)態(tài)反映輸入/輸出設(shè)備的禁用與啟用。
當(dāng)所述設(shè)備狀態(tài)模塊中對(duì)應(yīng)于客戶機(jī)操作系統(tǒng)發(fā)出訪問請(qǐng)求的輸入/輸出設(shè)備狀態(tài)為啟用時(shí),設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供正常的設(shè)備訪問。
當(dāng)所述設(shè)備狀態(tài)模塊中對(duì)應(yīng)于客戶機(jī)操作系統(tǒng)發(fā)出訪問請(qǐng)求的輸入/輸出設(shè)備狀態(tài)為禁用時(shí),設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)返回一個(gè)出錯(cuò)信息。
所述服務(wù)操作系統(tǒng)包含一個(gè)控制模塊,該控制模塊能夠動(dòng)態(tài)改變?cè)O(shè)備狀態(tài)模塊中輸入/輸出設(shè)備的狀態(tài)。
所述控制模塊可以是服務(wù)操作系統(tǒng)中的控制面板。
所述控制模塊包含一個(gè)動(dòng)態(tài)分配設(shè)備命令程序。
所述動(dòng)態(tài)分配設(shè)備命令程序能夠同時(shí)修改配置文件和設(shè)備狀態(tài)模塊中輸入/輸出設(shè)備的狀態(tài)。
所述客戶機(jī)操作系統(tǒng)包括一個(gè)代理模塊,用于根據(jù)設(shè)備修改的消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
本發(fā)明還提供一種虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法,其中該虛擬機(jī)系統(tǒng)包括服務(wù)操作系統(tǒng)、虛擬機(jī)監(jiān)控器和至少一個(gè)客戶機(jī)操作系統(tǒng),其中服務(wù)操作系統(tǒng)包含設(shè)備模型模塊,所述設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供輸入/輸出設(shè)備訪問平臺(tái),客戶機(jī)操作系統(tǒng)通過虛擬機(jī)監(jiān)控器訪問設(shè)備模型模塊,所述方法包括,在設(shè)備模型模塊中設(shè)置一個(gè)可以動(dòng)態(tài)改變輸入/輸出設(shè)備狀態(tài)的設(shè)備狀態(tài)模塊,當(dāng)客戶機(jī)操作系統(tǒng)發(fā)出訪問設(shè)備請(qǐng)求時(shí),設(shè)備模型模塊首先判斷該設(shè)備在設(shè)備狀態(tài)模塊中的狀態(tài),如果是啟用,則為客戶機(jī)操作系統(tǒng)提供正常的訪問;如果是禁用,則給客戶機(jī)操作系統(tǒng)返回一個(gè)出錯(cuò)信息。
在所述服務(wù)操作系統(tǒng)中的控制面板中增加一個(gè)動(dòng)態(tài)分配設(shè)備命令,該命令能夠隨時(shí)改變?cè)O(shè)備狀態(tài)模塊中設(shè)備的狀態(tài)。
所述動(dòng)態(tài)分配設(shè)備命令同時(shí)對(duì)客戶機(jī)操作系統(tǒng)的配置文件進(jìn)行操作修改設(shè)備的啟用與禁止?fàn)顟B(tài)。
在所述客戶機(jī)操作系統(tǒng)中增加一個(gè)代理模塊,當(dāng)設(shè)備狀態(tài)模塊中的設(shè)備狀態(tài)發(fā)生改變時(shí),設(shè)備模型模塊向代理模塊發(fā)送該消息事件,代理模塊根據(jù)該消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
本發(fā)明是在現(xiàn)有的VMM基礎(chǔ)框架以及現(xiàn)有的虛擬I/O設(shè)備實(shí)現(xiàn)基礎(chǔ)上的改進(jìn),只不過在設(shè)備虛擬化的過程中,通過軟件的方式使虛擬出來的設(shè)備根據(jù)配置信息對(duì)某個(gè)操作系統(tǒng)不可用,以此來控制操作系統(tǒng)對(duì)于I/O設(shè)備的訪問權(quán)限。
下面將參考附圖來描述本發(fā)明的優(yōu)選實(shí)施方式,其中圖1為現(xiàn)有技術(shù)中虛擬機(jī)系統(tǒng)的結(jié)構(gòu)圖;圖2為本發(fā)明中虛擬機(jī)系統(tǒng)的結(jié)構(gòu)圖;圖3為本發(fā)明中對(duì)設(shè)備分配的流程圖;圖4為本發(fā)明中Guest OS對(duì)設(shè)備的訪問流程圖;圖5為本發(fā)明中外部設(shè)備中斷處理的流程圖;圖6為本發(fā)明中Guest OS上設(shè)備狀態(tài)與虛擬化硬件平臺(tái)一致的處理流程。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說明。
參照?qǐng)D2,本實(shí)施例中的虛擬機(jī)系統(tǒng)包括,一個(gè)服務(wù)操作系統(tǒng)(Service OS)系統(tǒng)、兩個(gè)客戶機(jī)操作系統(tǒng)(Guest OS)系統(tǒng)和一個(gè)虛擬機(jī)監(jiān)控器(Hypervisor)系統(tǒng),其中Service OS系統(tǒng)包括設(shè)備模型模塊(Device model)、控制面板模塊(Control Panel)和本地設(shè)備驅(qū)動(dòng)模塊(Native device driver),設(shè)備模型模塊(Device model)還包括一個(gè)設(shè)備狀態(tài)模塊(Device state);控制面板模塊用于創(chuàng)建和刪除一個(gè)Guest OS,為對(duì)應(yīng)于Guest OS的配置文件中指定設(shè)備配置信息,每個(gè)Guest OS在被創(chuàng)建的同時(shí)都產(chǎn)生一個(gè)相應(yīng)的配置文件和一個(gè)Device model,配置文件中配置了所有硬件對(duì)相應(yīng)Guest OS的啟用和禁用狀態(tài);Device model根據(jù)配置文件虛擬所有的硬件信息,在設(shè)備狀態(tài)模塊中設(shè)置相應(yīng)Guest OS中設(shè)備的啟用和禁用狀態(tài),Guest OS系統(tǒng)在啟動(dòng)時(shí)搜索硬件,通過Hypervisor從設(shè)備模型模塊中獲得該Guest OS的設(shè)備配置信息,設(shè)備模型模塊位于Service OS上為多個(gè)Guest OS提供完整的硬件平臺(tái)信息,即提供所有虛擬的硬件平臺(tái),Guest OS看到的硬件設(shè)備全部是由設(shè)備模型虛擬出來的;虛擬機(jī)監(jiān)控器(Hypervisor)為Guest OS訪問設(shè)備模型模塊提供通道,所有的Guest OS對(duì)硬件設(shè)備的訪問,請(qǐng)求及各種操作,都是通過虛擬機(jī)監(jiān)控器傳遞給設(shè)備模型模塊的,設(shè)備模型模塊再通過真正的硬件驅(qū)動(dòng)與硬件交互,并把硬件的響應(yīng)及操作結(jié)果通過虛擬機(jī)監(jiān)視器再傳遞給Guest OS,Devicestate模塊是為了實(shí)現(xiàn)記錄設(shè)備的啟用與禁止?fàn)顟B(tài)而增加的,每個(gè)I/O請(qǐng)求通過都由Device state模塊來確認(rèn)設(shè)備的狀態(tài),并根據(jù)設(shè)備狀態(tài)決定請(qǐng)求是否通過;配置文件中在每個(gè)設(shè)備的描述中,有相應(yīng)的字段表示設(shè)備的啟用與禁止?fàn)顟B(tài),在Device model啟動(dòng)時(shí),由Device state模塊讀取配置文件中設(shè)備狀態(tài)字段,設(shè)置設(shè)備的相應(yīng)狀態(tài)。本發(fā)明中在控制面板模塊中包含有改變?cè)O(shè)備狀態(tài)的動(dòng)態(tài)分配設(shè)備命令程序,系統(tǒng)啟動(dòng)后,可以通過該命令程序直接改變配置文件中設(shè)備的狀態(tài)以及Device state中設(shè)備的狀態(tài),這種命令的實(shí)現(xiàn)是本領(lǐng)域技術(shù)人員所公知的,這樣在運(yùn)行過程中,就可以通過Control Panel中的命令隨時(shí)地改變?cè)O(shè)備的啟用與禁止?fàn)顟B(tài)來動(dòng)態(tài)地分配設(shè)備給Guest OS。
下面參照?qǐng)D3中描述的流程圖對(duì)設(shè)備分配流程進(jìn)行詳細(xì)的說明,開機(jī)首先啟動(dòng)基本輸入輸出系統(tǒng)BIOS,然后啟動(dòng)虛擬機(jī)監(jiān)控器,接著啟動(dòng)服務(wù)操作系統(tǒng),在啟動(dòng)客戶機(jī)操作系統(tǒng)的過程中,首先由設(shè)備模型模塊提供完全的硬件平臺(tái)信息,并根據(jù)配置文件中對(duì)設(shè)備的禁用和啟動(dòng)狀況在虛擬的設(shè)備模型中標(biāo)記該設(shè)備對(duì)相應(yīng)客戶機(jī)操作系統(tǒng)是否可用;客戶機(jī)操作系統(tǒng)從設(shè)備模型模塊獲取硬件平臺(tái)信息,客戶機(jī)操作系統(tǒng)啟動(dòng)完成后,需要分配設(shè)備就調(diào)用控制面板模塊中的動(dòng)態(tài)分配設(shè)備命令,如果在命令中添加一個(gè)設(shè)備,則在對(duì)應(yīng)客戶機(jī)操作系統(tǒng)的設(shè)備狀態(tài)模塊中啟用該設(shè)備,同時(shí)在相應(yīng)的配置文件改變?cè)O(shè)備的狀態(tài)為啟用;如果在命令中刪除一個(gè)設(shè)備,則在對(duì)應(yīng)客戶機(jī)操作系統(tǒng)(Guest OS)的設(shè)備狀態(tài)模塊(Device state)中禁止該設(shè)備,同時(shí)在相應(yīng)的配置文件中改變?cè)O(shè)備的狀態(tài)為禁用。
參考圖4,詳細(xì)描述Guest OS對(duì)設(shè)備的訪問流程,首先Guest OS需要對(duì)設(shè)備訪問時(shí)發(fā)送一個(gè)訪問請(qǐng)求,Hypervisor截獲該請(qǐng)求,并把該請(qǐng)求傳送給相應(yīng)的Device model,Device model判斷Device state模塊中該設(shè)備是否禁用,如果是禁用,Device model對(duì)于該請(qǐng)求返回出錯(cuò)信息,Guest OS則不能對(duì)該設(shè)備進(jìn)行操作;如果不是禁用,Device model對(duì)于該請(qǐng)求產(chǎn)生一個(gè)回應(yīng),GuestOS對(duì)該設(shè)備操作正常。
圖5中給出了外部設(shè)備中斷處理的流程圖,外部設(shè)備中斷信號(hào)產(chǎn)生后,首先由Hypervisor獲得該外部設(shè)備中斷信號(hào)信息,并把該信息通過事件機(jī)制傳遞給服務(wù)操作系統(tǒng),服務(wù)操作系統(tǒng)找到相應(yīng)的中斷向量對(duì)應(yīng)的中斷處理程序(如本地驅(qū)動(dòng)模塊中的驅(qū)動(dòng)程序),進(jìn)行外部設(shè)備中斷的處理,如把數(shù)據(jù)讀入到隊(duì)列或buffer(緩沖存儲(chǔ)器)中,Device model每隔一段時(shí)間會(huì)主動(dòng)訪問這些隊(duì)列或buffer,如果對(duì)列或buffer中有數(shù)據(jù),相應(yīng)的Device model讀取這些數(shù)據(jù),Device model獲得該信息后,判斷Device state中相應(yīng)的設(shè)備是否禁用,如果該設(shè)備禁用,對(duì)相應(yīng)的Guest OS屏蔽該中斷,Device model丟棄這些數(shù)據(jù);如果該設(shè)備不禁用,則產(chǎn)生中斷信息并傳遞給Hypervisor,Hypervisor將該消息傳遞給相應(yīng)的Guest OS,由Guest OS中相應(yīng)的驅(qū)動(dòng)處理該中斷。
圖6中給出了Guest OS上設(shè)備狀態(tài)與虛擬化硬件平臺(tái)一致的處理流程,其中在Guest OS上增加了一個(gè)Agent(代理)模塊,該模塊執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息的功能。具體流程如下,當(dāng)控制面板模塊將與Guest OS對(duì)應(yīng)的Device model中的Devicestate中的設(shè)備狀態(tài)做了修改時(shí),Device model發(fā)送該消息事件到Hypervisor,Hypervisor將該消息事件發(fā)送到Agent,Agent獲得該消息事件后判斷是否有設(shè)備被禁止,如果是設(shè)備被禁止,則Agent執(zhí)行撤銷注冊(cè)函數(shù),并保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息,Guest OS中的設(shè)備狀態(tài)顯示禁用或該設(shè)備消失;如果是設(shè)備被啟用,則Agent執(zhí)行注冊(cè)函數(shù),并恢復(fù)操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息,Guest OS中的設(shè)備狀態(tài)顯示正常。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種虛擬機(jī)系統(tǒng),包括服務(wù)操作系統(tǒng)、虛擬機(jī)監(jiān)控器和至少一個(gè)客戶機(jī)操作系統(tǒng),其中服務(wù)操作系統(tǒng)包含設(shè)備模型模塊,所述設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供輸入/輸出設(shè)備訪問平臺(tái),所述客戶機(jī)操作系統(tǒng)是由所述服務(wù)操作系統(tǒng)利用虛擬技術(shù)產(chǎn)生的,每個(gè)客戶機(jī)操作系統(tǒng)在服務(wù)操作系統(tǒng)中有對(duì)應(yīng)的一個(gè)設(shè)備模型模塊和一個(gè)記載設(shè)備配置信息的配置文件,客戶機(jī)操作系統(tǒng)通過虛擬機(jī)監(jiān)控器訪問設(shè)備模型模塊,其特征在于,所述設(shè)備模型模塊能夠動(dòng)態(tài)控制客戶機(jī)操作系統(tǒng)對(duì)輸入/輸出設(shè)備的訪問。
2.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于,所述設(shè)備模型模塊還包括一個(gè)設(shè)備狀態(tài)模塊,所述設(shè)備狀態(tài)模塊能夠動(dòng)態(tài)反映設(shè)備模型中的輸入/輸出設(shè)備對(duì)客戶機(jī)操作系統(tǒng)的禁用與啟用。
3.根據(jù)權(quán)利要求2所述的虛擬機(jī)系統(tǒng),其特征在于,當(dāng)所述設(shè)備狀態(tài)模塊中對(duì)應(yīng)于客戶機(jī)操作系統(tǒng)發(fā)出訪問請(qǐng)求的輸入/輸出設(shè)備狀態(tài)為啟用時(shí),設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供正常的設(shè)備訪問。
4.根據(jù)權(quán)利要求2所述的虛擬機(jī)系統(tǒng),當(dāng)所述設(shè)備狀態(tài)模塊中對(duì)應(yīng)于客戶機(jī)操作系統(tǒng)發(fā)出訪問請(qǐng)求的輸入/輸出設(shè)備狀態(tài)為禁用時(shí),設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)返回一個(gè)出錯(cuò)信息。
5.根據(jù)權(quán)利要求2至4中任一項(xiàng)的所述虛擬機(jī)系統(tǒng),其特征在于,所述服務(wù)操作系統(tǒng)包含一個(gè)控制模塊,該控制模塊能夠動(dòng)態(tài)改變?cè)O(shè)備狀態(tài)模塊中輸入/輸出設(shè)備的狀態(tài)。
6.根據(jù)權(quán)利要求5所述的虛擬機(jī)系統(tǒng),其特征在于,所述控制模塊包含一個(gè)動(dòng)態(tài)分配設(shè)備命令程序。
7.根據(jù)權(quán)利要求6所述的虛擬機(jī)系統(tǒng),其特征在于,所述動(dòng)態(tài)分配設(shè)備命令程序能夠同時(shí)修改配置文件和設(shè)備狀態(tài)模塊中輸入/輸出設(shè)備的狀態(tài)。
8.根據(jù)權(quán)利要求1至4中任一項(xiàng)的所述虛擬機(jī)系統(tǒng),其特征在于,所述客戶機(jī)操作系統(tǒng)包括一個(gè)代理模塊,用于根據(jù)設(shè)備狀態(tài)修改的消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
9.根據(jù)權(quán)利要求5所述的虛擬機(jī)系統(tǒng),其特征在于,所述客戶機(jī)操作系統(tǒng)包括一個(gè)代理模塊,用于根據(jù)設(shè)備狀態(tài)修改的消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
10.根據(jù)權(quán)利要求6所述的虛擬機(jī)系統(tǒng),其特征在于,所述客戶機(jī)操作系統(tǒng)包括一個(gè)代理模塊,用于根據(jù)設(shè)備狀態(tài)修改的消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
11.根據(jù)權(quán)利要求7所述的虛擬機(jī)系統(tǒng),其特征在于,所述客戶機(jī)操作系統(tǒng)包括一個(gè)代理模塊,用于根據(jù)設(shè)備狀態(tài)修改的消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
12.一種虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法,其中該虛擬機(jī)系統(tǒng)包括服務(wù)操作系統(tǒng)、虛擬機(jī)監(jiān)控器和至少一個(gè)客戶機(jī)操作系統(tǒng),其中服務(wù)操作系統(tǒng)包含設(shè)備模型模塊,所述設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供輸入/輸出設(shè)備訪問平臺(tái),客戶機(jī)操作系統(tǒng)通過虛擬機(jī)監(jiān)控器訪問設(shè)備模型模塊,其特征在于,所述方法包括,在設(shè)備模型模塊中設(shè)置一個(gè)可以動(dòng)態(tài)改變客戶機(jī)系統(tǒng)輸入/輸出設(shè)備狀態(tài)的設(shè)備狀態(tài)模塊,當(dāng)客戶機(jī)操作系統(tǒng)發(fā)出訪問設(shè)備請(qǐng)求時(shí),設(shè)備模型模塊首先判斷該設(shè)備在設(shè)備狀態(tài)模塊中的狀態(tài),如果是啟用,則為客戶機(jī)操作系統(tǒng)提供正常的訪問;如果是禁用,則給客戶機(jī)操作系統(tǒng)返回一個(gè)出錯(cuò)信息。
13.根據(jù)權(quán)利要求12的所述虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法,其特征在于,在服務(wù)操作系統(tǒng)中的控制面板中增加一個(gè)動(dòng)態(tài)分配設(shè)備命令,該命令能夠隨時(shí)改變?cè)O(shè)備狀態(tài)模塊中設(shè)備的狀態(tài)。
14.根據(jù)權(quán)利要求13的所述虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法,其特征在于,所述動(dòng)態(tài)分配設(shè)備命令同時(shí)對(duì)客戶機(jī)操作系統(tǒng)的配置文件進(jìn)行操作,修改對(duì)應(yīng)設(shè)備的啟用/禁用狀態(tài)。
15.根據(jù)權(quán)利要求12至13中任一項(xiàng)的虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法,其特征在于,在所述客戶機(jī)操作系統(tǒng)中增加一個(gè)代理模塊,當(dāng)設(shè)備狀態(tài)模塊中的設(shè)備狀態(tài)發(fā)生改變時(shí),設(shè)備模型模塊向代理模塊發(fā)送該消息事件,代理模塊根據(jù)該消息事件,執(zhí)行注冊(cè)或撤銷注冊(cè)函數(shù)并相應(yīng)的恢復(fù)或保存操作系統(tǒng)對(duì)該設(shè)備配置的初始化信息。
全文摘要
本發(fā)明涉及一種虛擬機(jī)系統(tǒng)輸入/輸出設(shè)備動(dòng)態(tài)分配的方法及其設(shè)備,所述虛擬機(jī)系統(tǒng)包括服務(wù)操作系統(tǒng)、虛擬機(jī)監(jiān)控器和至少一個(gè)客戶機(jī)操作系統(tǒng),其中服務(wù)操作系統(tǒng)包含設(shè)備模型模塊,所述設(shè)備模型模塊為客戶機(jī)操作系統(tǒng)提供輸入/輸出設(shè)備訪問平臺(tái),客戶機(jī)操作系統(tǒng)通過虛擬機(jī)監(jiān)控器訪問設(shè)備模型模塊,在所述設(shè)備模型模塊中增加一個(gè)動(dòng)態(tài)反映設(shè)備狀態(tài)的設(shè)備狀態(tài)模塊,通過服務(wù)操作系統(tǒng)中的控制面板動(dòng)態(tài)改變?cè)O(shè)備狀態(tài)模塊中的設(shè)備狀態(tài),能夠動(dòng)態(tài)控制客戶機(jī)操作系統(tǒng)對(duì)輸入/輸出設(shè)備的訪問,在客戶機(jī)操作系統(tǒng)中增加一個(gè)代理模塊,根據(jù)上述設(shè)備狀態(tài)的改變隨時(shí)改變客戶機(jī)操作系統(tǒng)中的設(shè)備狀態(tài)。
文檔編號(hào)G06F9/46GK1936845SQ20051010306
公開日2007年3月28日 申請(qǐng)日期2005年9月19日 優(yōu)先權(quán)日2005年9月19日
發(fā)明者劉春梅, 劉建成, 宋春雨 申請(qǐng)人:聯(lián)想(北京)有限公司