專利名稱:一種基于虛擬化系統(tǒng)的usb設(shè)備管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機應用領(lǐng)域,具體涉及一種基于虛擬化系統(tǒng)的USB設(shè)備自動管理方法。
背景技術(shù):
目前的電腦虛擬化技術(shù)日趨成熟,虛擬化系統(tǒng)不僅指v醒,虛擬平臺還包括硬件和上 層虛擬系統(tǒng),基于VMM (虛擬機平臺)技術(shù),1臺電腦安裝VMM后可以虛擬成多臺電腦 分別運行不同的操作系統(tǒng)。
運行在VMM上的各操作系統(tǒng)需要獲取系統(tǒng)設(shè)備的控制權(quán),有些設(shè)備分時使用(如CPU, 內(nèi)存),有些外接接口設(shè)備經(jīng)虛擬化后(USB無線網(wǎng)卡)可以被虛擬系統(tǒng)同時使用;有些 設(shè)備必須被指定給某個操作系統(tǒng)使用,不能同時被其他系統(tǒng)使用,比如USB硬盤設(shè)備,只 有一個文件系統(tǒng),通過USB接口連接到電腦系統(tǒng)后,不能同時提供給2個虛擬系統(tǒng)同時使 用,只能由一個虛擬系統(tǒng)專用。
這樣存在一個確定外接設(shè)備,特別是外接USB設(shè)備如何歸屬某個虛擬系統(tǒng)管理的問題。
一種方法是當USB設(shè)備接入時,VMM激活并確定USB設(shè)備歸屬哪個系統(tǒng)。這樣每次接 入USB設(shè)備,每次都要手動配置,用戶使用會很麻煩。
另一種方法是如果釆用首次指定虛擬系統(tǒng)的方法首次USB設(shè)備接入時,指定由某個 虛擬系統(tǒng)使用后,下次USB設(shè)備接入時,自動分配給上次指定的虛擬系統(tǒng)獨占使用。首次 USB接入時分配給一個系統(tǒng),仍有問題需要用戶每次在新USB設(shè)備接入時進行配置。還 有一個問題是相同的USB設(shè)備,用戶無法分配給另一個虛擬系統(tǒng)使用的問題(按此方法仍 分配給原來的系統(tǒng))
一個主板USB接口是由USB控制器控制連接到主板上的, 一般主板有若干個USB控制 器。USB設(shè)備接入電腦USB接口后,必須經(jīng)USB控制器連接到主板上
V應可以通過公知技術(shù),可以知道電腦中有那些USB控制器,并且知道USB設(shè)備是通 過哪個USB控制器的USB接口連接到主板上的。
因此,我們可以事先讓VMM把主板的USB控制器下屬的USB接口分配給不同的操作系 統(tǒng),解決USB設(shè)備接入時,如何分配給哪個虛擬系統(tǒng)的問題。
發(fā)明內(nèi)容
本發(fā)明克服了現(xiàn)有技術(shù)中的不足,提供了電腦系統(tǒng)虛擬成多個系統(tǒng)時,USB設(shè)備接入 時自動管理,配置的方法。
根據(jù)公知技術(shù), 一個主板的USB接口是由USB控制器控制連接到主板上的, 一般主板 有若干個USB控制器,這些USB控制是PNP設(shè)備,USB設(shè)備接入電腦時必須經(jīng)USB控制器 連接到主板上,V麗可以通過公知技術(shù)枚舉PNP(參考文獻PCI規(guī)范2.3),發(fā)現(xiàn)主板上 有多少個USB控制器,及USB設(shè)備是通過哪個USB控制器的USB接口連接到主板上的。
因此,我們可以利用本發(fā)明的方法,讓VMM把主板的USB控制器及所屬的USB接口分 配給的VMM上運行的某個虛擬系統(tǒng),其USB控制器所屬的USB設(shè)備接入時,被此虛擬系統(tǒng) 使用。
本發(fā)明的技術(shù)方案概述如下
一種基于虛擬化系統(tǒng)的USB設(shè)備管理方法,其步驟包括
1) 在電腦上安裝虛擬機平臺,同時運行多個虛擬系統(tǒng);
2) 虛擬機平臺收集電腦主板上USB控制器信息及虛擬系統(tǒng)信息,列出列表;
3) 根據(jù)列表進行配置,建立USB控制器與虛擬系統(tǒng)的對應關(guān)系;
4) 用標記區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口 ;
5) 根據(jù)標記直接判斷出USB設(shè)備在指定虛擬系統(tǒng)下應當接入的USB接口。 所述步驟2) VMM (虛擬機平臺)利用公知技術(shù)收集主板USB控制器信息,在VMM
的USB管理界面列出,并列出VMM上運行的虛擬系統(tǒng),供用戶(或電腦廠商)配置—— 建立USB控制器和虛擬系統(tǒng)的對應關(guān)系。
所述步驟3) USB控制器和虛擬系統(tǒng)的對應關(guān)系為 一個USB控制器只能由一個虛擬 系統(tǒng)使用。而一個虛擬系統(tǒng)可以使用多個USB控制器。配置完成后,USB控制器所屬的 USB接口接入的USB設(shè)備歸屬相關(guān)虛擬系統(tǒng)使用。如USB控制器1和USB控制器3歸 屬虛擬系統(tǒng)l, USB控制器2歸屬虛擬系統(tǒng)2時,接入USB控制器1和USB控制器3所 屬USB接口的USB設(shè)備歸屬虛擬系統(tǒng)1使用。接入USB控制器2所屬USB接口的USB 設(shè)備歸屬虛擬系統(tǒng)2使用。
所述步驟4)用顏色標識區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口 。 這種顏色標識,可以是把一個USB控制器所屬的USB接口用顏色表示出來,如機 箱的USB接口根據(jù)控制器不同,用不同顏色標出此USB控制器所屬USB接口如主板有 5個USB控制器,USB控制器1 口拉出的USB接口用紅色,USB控制器2拉出的USB接口用綠色,USB控制器3拉出的USB接口用藍色,當然為了方便使用,也可以把2種 控制器用相關(guān)顏色表示比如控制器4和USB控制器5未來歸一個虛擬系統(tǒng)使用,拉出的 USB接口統(tǒng)一用黃色表示。
這種顏色標識,在VMM的USB管理界面中,可以根據(jù)真實的USB接口表示方式, 并用對應的方式來表示USB控制器比如USB控制器1所屬的USB接口用紅色表示, USB控制器2所屬的USB接口用綠色,USB控制器3所屬的USB接口用藍色表示的情況 下,在管理界面中USB控制器1用紅色表示,USB控制器2用綠色表示,USB控制器3 用藍色表示。
這種顏色標識,為了方便用戶直觀地了解USB接口與虛擬系統(tǒng)對應關(guān)系,使用VMM 將虛擬系統(tǒng)1表示成與對應USB接口對應顏色如VMM配置虛擬系統(tǒng)1與USB控制器 1建立對應關(guān)系,USB控制器1所有USB接口接入的設(shè)備只能被虛擬系統(tǒng)1使用,并且 USB控制器1所有USB接口用紅色表示;虛擬系統(tǒng)2與USB控制器2建立對應關(guān)系,USB 控制器2所有USB接口接入的設(shè)備只能被虛擬系統(tǒng)2使用,并且USB控制器2所有USB 接口用綠色表示。VMM也用相同顏色表示虛擬系統(tǒng)——用紅色表示虛擬系統(tǒng)1,用綠色 表示虛擬系統(tǒng)2。
進一步,如果一個虛擬系統(tǒng)對應多個不同顏色的USB控制器,則這些控制器的顏色都 用來表示同一虛擬系統(tǒng)。如USB控制器3用藍色表示,USB控制器4和USB控制器5用 黃色表示,USB控制器3, 4, 5被虛擬系統(tǒng)1使用,則用藍色和黃色表示虛擬系統(tǒng)l。
這種顏色標識,還包括在VMM啟動虛擬系統(tǒng)前,VMM提示用戶啟動虛擬系統(tǒng)的界 面中表示虛擬系統(tǒng)的圖片或文字,還包括在虛擬系統(tǒng)運行過程中,用相同顏色邊框或用圖 形,或文字諸如此類的方法表示操作系統(tǒng)和對應的USB接口關(guān)系。
所述步驟4)用文字或數(shù)字編號區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB 接口。
這種用文字或數(shù)字編號區(qū)別各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口的方 式,可以是標識USB所屬的控制器,如USB控制器1所屬的USB接口用1表示,USB 控制器2所屬的USB接口用數(shù)字2表示。
這種用文字或數(shù)字編號區(qū)別各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口的方 式,也可以是標識USB接口的順序號,如USB控制器1所屬的4個USB接口分別用1、 2、 3、 4表示,USB控制器2所屬的4個USB接口分別用5、 6、 7、 8表示。USB控制器 3所屬的2個USB接口分別用9、 IO表示。所述步驟4)用不同顏色的發(fā)光二極管區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬 的USB接口。
通過上述方法,在虛擬系統(tǒng)運行過程中,當有USB設(shè)備接入電腦時,相應的虛擬系統(tǒng) 會獲取對應USB控制器所屬USB接口接入的USB設(shè)備的控制權(quán),獨立使用該USB設(shè)備。
另外VMM還可以進行更復雜的設(shè)置策略,比如一個系統(tǒng)未啟動時,對應USB控制 器分配給另一個虛擬系統(tǒng),其所屬USB接口歸此虛擬系統(tǒng)使用。
此外,VMM也可以按上述方法把電腦中其他需要獨立使用設(shè)備(如E-SATA接口 硬盤,1394接口)用顏色標識出來進行管理,并且為方便用戶,在顯示時也用相同顏色或 文字標識該虛擬系統(tǒng)。如果有系統(tǒng)中其他USB控制設(shè)備(如PCI-USB轉(zhuǎn)接設(shè)備,PCIE-USB 轉(zhuǎn)接設(shè)備,這些設(shè)備是通過主板PCI或PCI-E接口接入的),VMM也配置、管理這些USB 控制設(shè)備中的USB控制器,并把他們分配給虛擬系統(tǒng)。相關(guān)設(shè)備的USB接口連接的設(shè)備 在指定在虛擬化系統(tǒng)下識別與使用。
這種USB控制器和虛擬系統(tǒng)建立對應關(guān)系的配置過程,可以在電腦生產(chǎn)過程中,由電 腦廠家在電腦生產(chǎn)線,通過工廠生產(chǎn)用本發(fā)明方法開發(fā)的虛擬化管理器(軟件)自動完成。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是
1、 僅需要進行一次初始配置,這種配置是針對USB控制器的,不需要接入USB設(shè)備, 就可以完成。這種配置可以在電腦生產(chǎn)廠家進行,而無需用戶介入,USB就能方便直觀地 使用;用戶僅需要根據(jù)虛擬系統(tǒng)的顏色就可以知其對應的USB接口,插接USB設(shè)備。
2、 用戶如果想把USB設(shè)備在同一電腦的其他虛擬系統(tǒng)使用時,僅需把USB設(shè)備從當 前接口撥出,然后再接到和虛擬系統(tǒng)顏色相同的USB接口上。
圖1為ICH10主板硬件邏輯圖
圖2為USB主控制器芯片組與USB接口對應關(guān)系圖
圖3為VMM的USB管理界面中USB控制器與虛擬系統(tǒng)的對應關(guān)系配置
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細描述
如圖1所示,以intel ICH10主板為例,ICH10下面有2組EHCI (Enhanced Host Controller Interface, USB主控制器芯片組),ECHI下面還有若干個UHCI (通用主機控制器接口 )連接到USB接口 。虛擬化時把ECHI作為USB控制器來區(qū)別USB接口 。
主板在設(shè)計開發(fā)時,可以根據(jù)EHCI設(shè)計主板USB接口把EHCI 1拉出的USB接口 的顏色置成紅色,把EHCI2拉出的USB口置成藍色,這樣用戶很容易從接口顏色上區(qū)分 相關(guān)的USB接口對應的控制器(EHCI),如圖2所示。
電腦虛擬化后,電腦中運行了 VMM虛擬平臺,在VMM虛擬平臺上電腦虛擬了兩個 電腦系統(tǒng)分別運行XP (虛擬系統(tǒng)l)和VISTA (虛擬系統(tǒng)2) 。 VMM虛擬平臺中裝有 利用本發(fā)明方法開發(fā)的虛擬化管理器軟件,該軟件負責管理VMM管理的真實硬件設(shè)備和虛 擬系統(tǒng)的虛擬的硬件設(shè)備,VMM管理的一些真實硬件設(shè)備共享給兩個虛擬系統(tǒng)同時使用, 如網(wǎng)卡; 一些硬件被虛擬后,給兩個虛擬系統(tǒng)使用,如一塊真實的硬盤被虛擬成兩個虛擬 硬盤,分別由兩個虛擬系統(tǒng)使用。還有一些硬件設(shè)備被直接分配給兩個虛擬系統(tǒng)直接使用, 如系統(tǒng)中有兩個顯示卡,虛擬化管理器將第一個顯示卡控制權(quán)分配給第一個虛擬系統(tǒng)使 用,另一個顯示卡分配給另一個虛擬系統(tǒng)使用。同樣虛擬化管理器把真實系統(tǒng)中的USB控 制器及所屬的USB接口,直接分配給兩個虛擬系統(tǒng),具體實現(xiàn)方式如下
電腦在出廠前,電腦廠家使用本發(fā)明方法開發(fā)的虛擬化管理器把掃描到系統(tǒng)中的兩個 ECHI (EHCI 1和EHCI 2),將ECHI 1設(shè)置成紅色,分配給虛擬系統(tǒng)1,然后虛擬系統(tǒng)1 也表示成紅色。EHCI 2設(shè)置成藍色分配給虛擬系統(tǒng)2,然后虛擬系統(tǒng)2也表示成藍色,如 圖3所示,可以通過VMM的USB管理界面中直觀顯示。這樣以后電腦運行時,系統(tǒng)l能訪 問ECHI1及所屬USB接口中的USB設(shè)備,系統(tǒng)2能訪問ECHI2及所屬USB接口中的USB設(shè) 備。
電腦啟動時,虛擬機VMM (或稱為Supervisor)先啟動后。此時VMM擁有EHCI和UHCI -的訪問控制權(quán),然后VMM控制兩個虛擬電腦系統(tǒng)啟動。當虛擬系統(tǒng)1 (XP)啟動時,VMM 把EHCI 1所屬USB接口的訪問權(quán)限交給虛擬系統(tǒng)1,虛擬系統(tǒng)1可以訪問EHCI 1所屬USB 設(shè)備。同樣,虛擬系統(tǒng)2 (VISTA)啟動后,擁有EHCI 2所屬USB接口的訪問權(quán)限,可以 訪問EHCI2所屬USB設(shè)備。例如在ECHI 1所屬USB接口 (紅色USB接口)中接入的鍵盤、 鼠標可以在虛擬系統(tǒng)l中使用,在ECHI 2所屬USB接口 (藍色USB接口)中接入的鍵盤、 鼠標可以在虛擬系統(tǒng)2中使用。
VMM將虛擬系統(tǒng)1表示成紅色,與EHCI 1所屬的紅色USB接口對應,虛擬系統(tǒng)2 ' 用藍色表示,與EHCI2所屬的藍色USB接口對應。這種顏色表示包括在VMM啟動操 作系統(tǒng)前,提示用戶啟動虛擬系統(tǒng)時,也包括在操作系統(tǒng)運行過程中,用相同的邊框或界 面顏色表示操作系統(tǒng)和對應的USB接口。當然還可以用相同的圖形、文字等諸如此類的方法表示虛擬系統(tǒng)與對應USB接口的關(guān)系。 具體實現(xiàn)方法為
VMM在啟動操作系統(tǒng)1時,利用公知技術(shù),把EHCI 1控制權(quán)和Memory-mapped I/O, 和Port-mapped 1/0.地址交給操作系統(tǒng)1,而不告知操作系統(tǒng)1系統(tǒng)中存在EHCI 2。虛擬' 系統(tǒng)1上運行的操作系統(tǒng)獲取ECHI1及所接USB接口上USB設(shè)備的訪問權(quán)限,這樣虛擬 系統(tǒng)1上操作系統(tǒng)可以訪問ECHI 1及其所屬USB接口上設(shè)備。
同樣在啟動啟動操作系統(tǒng)2時,把EHCI 2控制權(quán)和Memory-mapped 1/0,和Port-mapped 1/0.地址交給虛擬系統(tǒng)2,而不告知操作系統(tǒng)2系統(tǒng)中存在EHCI 1。虛擬系統(tǒng)2上運行的 操作系統(tǒng)獲取ECHI 2及所屬設(shè)備的訪問權(quán)限,這樣操作系統(tǒng)2可以訪問EHCI 2及其所屬 USB接口上的USB設(shè)備。
同樣在系統(tǒng)運行過程中,接入EHCI 1所屬USB接口的USB設(shè)備可以被虛擬系統(tǒng)1 ' 上運行的操作系統(tǒng)識別和使用。接入EHCI 2所屬USB接口的USB設(shè)備可以被虛擬系統(tǒng)2 上運行的操作系統(tǒng)識別和使用。
這樣用戶可以直觀地看到,想在藍色操作系統(tǒng)中使用的USB設(shè)備,即把USB設(shè)備插 到藍色USB接口 。想在紅色操作系統(tǒng)中使用的USB設(shè)備,即把USB設(shè)備連接到紅色USB 接口。
權(quán)利要求
1、一種基于虛擬化系統(tǒng)的USB設(shè)備管理方法,其步驟包括1)在電腦上安裝虛擬機平臺,同時運行多個虛擬系統(tǒng);2)虛擬機平臺收集電腦主板上USB控制器信息及虛擬系統(tǒng)信息,列出列表;3)根據(jù)列表進行配置,建立USB控制器與虛擬系統(tǒng)的對應關(guān)系;4)用標記區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口;5)根據(jù)標記直接判斷出USB設(shè)備在指定虛擬系統(tǒng)下應當接入的USB接口。
2、 如權(quán)利要求l所述的方法,其特征在于,所述步驟2)在虛擬機平臺的USB管理 界面列出主板上USB控制器信息及虛擬系統(tǒng)信息。
3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟3) USB控制器與虛擬系統(tǒng)的對 應關(guān)系為一個USB控制器對應一個虛擬系統(tǒng),而一個虛擬系統(tǒng)能夠?qū)鄠€USB控制器。
4、 如權(quán)利要求3所述的方法,其特征在于,對應的過程為把一個USB控制器的控制 權(quán)交給一個虛擬系統(tǒng),而不告知其他虛擬系統(tǒng)。
5、 如權(quán)利要求l所述的方法,其特征在于,所述步驟4)用顏色區(qū)別出各虛擬系統(tǒng)與 對應的USB控制器及所屬的USB接口 。
6、 如權(quán)利要求5所述的方法,其特征在于,在管理界面中USB控制器與所屬的USB 接口用相同的顏色表示。
7、 如權(quán)利要求5所述的方法,其特征在于,將虛擬系統(tǒng)啟動界面的邊框或圖形或文 字與對應USB接口用相同顏色表示。
8、 如權(quán)利要求l所述的方法,其特征在于,所述步驟4)用文字或數(shù)字編號區(qū)別出各 虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口 。
9、 如權(quán)利要求8所述的方法,其特征在于,同一USB控制器所屬的USB接口用同樣 的文字或數(shù)字表示,或者將USB接口按順序用文字或數(shù)字表示。
10、 如權(quán)利要求1所述的方法,其特征在于,所述步驟4)用不同顏色的發(fā)光二極管 區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口 。
全文摘要
本發(fā)明公開了一種基于虛擬化系統(tǒng)的USB設(shè)備管理方法,其步驟包括1)在電腦上安裝虛擬機平臺,同時運行多個虛擬系統(tǒng);2)虛擬機平臺收集電腦主板上USB控制器信息及虛擬系統(tǒng)信息,列出列表;3)根據(jù)列表進行配置,建立USB控制器與虛擬系統(tǒng)的對應關(guān)系;4)用標記區(qū)別出各虛擬系統(tǒng)與對應的USB控制器及所屬的USB接口;5)根據(jù)標記直接判斷出USB設(shè)備在指定虛擬系統(tǒng)下應當接入的USB接口。本發(fā)明的方法是針對USB控制器的,不需要接入USB設(shè)備,就可以完成USB設(shè)備的管理,用戶僅需要根據(jù)虛擬系統(tǒng)的標記就可以知其對應USB接口,插接USB設(shè)備。
文檔編號G06F13/10GK101620578SQ200910053669
公開日2010年1月6日 申請日期2009年6月23日 優(yōu)先權(quán)日2009年6月23日
發(fā)明者楊文兵 申請人:上海北大方正科技電腦系統(tǒng)有限公司