亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬機系統(tǒng)及其顯卡訪問方法

文檔序號:6558343閱讀:317來源:國知局
專利名稱:虛擬機系統(tǒng)及其顯卡訪問方法
技術(shù)領域
本發(fā)明涉及計算機領域,特別是涉及一種虛擬機系統(tǒng)及其顯卡訪問方法。
背景技術(shù)
隨著計算機系統(tǒng)的發(fā)展,虛擬化技術(shù)在計算機領域得到廣泛應用?,F(xiàn)代計算機已經(jīng)具有能力來利用虛擬化技術(shù)支持多個虛擬機,并在每個虛擬機上各自運行單獨的操作系統(tǒng)。
在虛擬機系統(tǒng)中,各操作系統(tǒng)都需要對硬件進行訪問,其中對顯卡的訪問相對來說是一個比較復雜的的問題,對顯卡的不同使用方法是影響用戶體驗的一個重要因素。目前,VMWare,Virtual PC以及Xen等主流虛擬化技術(shù)所采用的方案大同小異,都是為客戶操作系統(tǒng)(GOS)提供一個虛擬化了的顯卡。該虛擬顯卡是一個通用的顯卡,只能實現(xiàn)基本的顯示功能,與真實的顯卡差別很大。
圖1為現(xiàn)有技術(shù)的虛擬機系統(tǒng)的示意圖。該虛擬機系統(tǒng)包括虛擬機監(jiān)視器(VMM)、服務操作系統(tǒng)(SOS)和至少一個GOS。SOS啟動時,掃描PCI總線,發(fā)現(xiàn)真實顯卡,獲取真實顯卡信息,為真實顯卡分配資源(IRQ、IO、MMIO),SOS通過真實顯卡驅(qū)動對顯卡進行訪問。SOS包含一個設備模型(DM),DM為每個GOS提供一個虛擬顯卡。GOS啟動時,掃描虛擬PCI總線,發(fā)現(xiàn)虛擬顯卡,獲取虛擬顯卡信息,為虛擬顯卡分配資源(IRQ、IO、MMIO)。GOS通過虛擬顯卡的驅(qū)動訪問虛擬顯卡時,通過VMM將訪問數(shù)據(jù)發(fā)送到DM;DM對訪問數(shù)據(jù)進行轉(zhuǎn)換后,發(fā)送到真實顯卡驅(qū)動;真實顯卡驅(qū)動對接收到的數(shù)據(jù)進行處理后發(fā)送到顯卡。
該虛擬機系統(tǒng)包括多個GOS,各個GOS操作系統(tǒng)都是通過SOS使用顯卡。所以,除了SOS可以看到真實顯卡,并利用真實顯卡的驅(qū)動訪問顯卡外,每個GOS看到的都是由DM提供的虛擬顯卡,利用虛擬顯卡驅(qū)動對顯卡進行訪問,這樣,顯卡的硬件加速特性無法被用戶使用,甚至不支持3D動畫的功能,影響了顯示性能,用戶在顯卡上的感受也大打折扣。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種虛擬機系統(tǒng),在該虛擬機系統(tǒng)中的GOS能看到真實顯卡,并通過真實顯卡驅(qū)動訪問顯卡。
本發(fā)明的另一目在于提供一種虛擬機系統(tǒng)顯卡訪問方法。
本發(fā)明的虛擬機系統(tǒng),包括虛擬機監(jiān)視器(VMM)、服務操作系統(tǒng)(SOS)和至少一個客戶操作系統(tǒng)(GOS),其中所述VMM包括通信模塊,該通信模塊用于VMM和SOS及各個GOS之間的通信;所述SOS包括DM,該DM用于獲取顯卡信息;所述GOS通過通信模塊訪問DM,獲取顯卡信息,對顯卡進行資源配置,并將資源配置信息通過通信模塊發(fā)送到DM,所述GOS還包括顯卡驅(qū)動,用于將GOS的顯卡訪問數(shù)據(jù)發(fā)送到VMM;所述SOS中的DM還用于獲取SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息,并根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM;所述VMM還包括資源轉(zhuǎn)換模塊,用于根據(jù)資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO,并將處理后的數(shù)據(jù)發(fā)送到顯卡。
所述資源轉(zhuǎn)換模塊進一步將VMM接收到的顯卡的IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS;所述GOS進一步通過顯卡驅(qū)動處理由VMM發(fā)送過來的顯卡的IRQ。
所述資源轉(zhuǎn)換表中包括SOS和GOS分別對顯卡分配的IO的對應關系、IRQ的對應關系和MMIO的對應關系。
所述VMM運行在高端內(nèi)存,所述GOS運行在低端內(nèi)存。
進一步,所述SOS還包括鍵盤切換模塊,所述VMM還包括切換模塊和訪問控制模塊,所述SOS和所述GOS還包括顯卡寄存器保存/恢復模塊,所述鍵盤切換模塊用于接收鍵盤輸入信號,判斷該信號是否為系統(tǒng)切換信號,并將系統(tǒng)切換信號對應的切換信息通過通信模塊發(fā)送到切換模塊;所述切換模塊用于根據(jù)切換信息通過通信模塊發(fā)送顯卡寄存器保存/恢復信號到顯卡寄存器保存/恢復模塊,并且發(fā)送訪問控制信號到訪問控制模塊;所述訪問控制模塊用于根據(jù)訪問控制信號改變操作系統(tǒng)對顯卡的訪問權(quán)限;所述顯卡寄存器保存/恢復模塊用于根據(jù)顯卡寄存器保存/恢復信號對顯卡寄存器的值進行保存或恢復,并通過通信模塊發(fā)送顯卡寄存器保存成功信號或顯卡寄存器恢復成功信號到切換模塊。
所述訪問控制模塊在接收到訪問控制信號時,若前后臺狀態(tài)改變的操作系統(tǒng)是GOS,發(fā)送相應控制信號到資源轉(zhuǎn)換模塊,資源轉(zhuǎn)換模塊根據(jù)控制信號禁用后臺操作系統(tǒng)的資源轉(zhuǎn)換表并啟用前臺操作系統(tǒng)的資源轉(zhuǎn)換表。
所述訪問控制模塊在接收到訪問控制信號時,若前后臺狀態(tài)改變的操作系統(tǒng)是SOS,發(fā)送相應控制信號到SOS中的顯卡驅(qū)動,由該顯卡驅(qū)動打開或關閉SOS對顯卡的訪問權(quán)限。
所述切換模塊根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯卡寄存器保存信號到切換到后臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊,發(fā)送顯卡寄存器恢復信號到切換到前臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊。
進一步,所述GOS和SOS還包括顯存保存/恢復模塊,所述切換模塊進一步根據(jù)切換信息通過通信模塊發(fā)送顯存保存/恢復信號到顯存保存/恢復模塊;所述顯存保存/恢復模塊根據(jù)顯存保存/恢復信號對顯存的內(nèi)容進行保存或恢復。
所述切換模塊根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯存保存信號到切換到后臺的操作系統(tǒng)的顯存保存/恢復模塊,發(fā)送顯存恢復信號到切換到前臺的操作系統(tǒng)的顯存保存/恢復模塊。
本發(fā)明的虛擬機系統(tǒng)顯卡訪問方法,包括以下步驟a)GOS的顯卡訪問數(shù)據(jù)通過顯卡驅(qū)動發(fā)送到VMM;b)VMM根據(jù)預先配置的資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO;c)VMM將處理后的數(shù)據(jù)發(fā)送到顯卡。
進一步,在步驟c)后還包括步驟d)VMM接收顯卡的IRQ,并根據(jù)資源轉(zhuǎn)換表將該IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS。
所述資源轉(zhuǎn)換表的配置過程為1)SOS獲取顯卡信息,為顯卡分配資源;2)GOS通過SOS中的DM獲取顯卡信息,為顯卡分配資源;3)DM根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM。
進一步,在步驟a)之前還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯示模式,后臺操作系統(tǒng)切換到前臺時,恢復顯示模式。
進一步,在步驟a)之前還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯存的內(nèi)容,后臺操作系統(tǒng)切換到前臺時,恢復顯存的內(nèi)容。
與現(xiàn)有技術(shù)相比,本發(fā)明的虛擬機系統(tǒng)及其顯卡訪問方法中,每個操作系統(tǒng)看到的都是真實顯卡,各個操作系統(tǒng)之間通過切換的方式使用顯卡,可以利用顯卡的硬件加速特性,保證了顯示性能。


圖1為現(xiàn)有技術(shù)的虛擬機系統(tǒng)的示意圖;圖2為本發(fā)明虛擬機系統(tǒng)的示意圖;圖3為對圖2所示的虛擬機系統(tǒng)的改進的示意圖;圖4為改進的虛擬機系統(tǒng)中鍵盤切換模塊的處理流程圖;圖5為改進的虛擬機系統(tǒng)中切換模塊的處理流程圖;圖6為改進的虛擬機系統(tǒng)中寄存器保存/恢復模塊的處理流程圖;圖7為改進的虛擬機系統(tǒng)中訪問控制模塊的處理流程圖。
具體實施例方式
以下將結(jié)合附圖對本發(fā)明進行詳細描述。
如圖2所示,本發(fā)明的虛擬機系統(tǒng)包括虛擬機監(jiān)視器(VMM)、服務操作系統(tǒng)(SOS)和至少一個客戶操作系統(tǒng)(GOS),其中所述VMM包括通信模塊,該通信模塊用于VMM和SOS及各個GOS之間的通信;
所述SOS包括DM,該DM用于獲取顯卡信息;所述GOS通過通信模塊訪問DM,獲取顯卡信息,對顯卡進行資源配置,并將資源配置信息通過通信模塊發(fā)送到DM,所述GOS還包括顯卡驅(qū)動,用于將GOS的顯卡訪問數(shù)據(jù)發(fā)送到VMM;所述SOS中的DM還用于獲取SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息,并根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM;所述VMM還包括資源轉(zhuǎn)換模塊,用于根據(jù)資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO,并將處理后的數(shù)據(jù)發(fā)送到顯卡。
進一步,所述資源轉(zhuǎn)換模塊將VMM接收到的顯卡的IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS;所述GOS通過顯卡驅(qū)動處理由VMM發(fā)送過來的顯卡的IRQ。
在本發(fā)明中,為保證直接存儲器訪問(DMA),讓VMM運行在高端內(nèi)存,GOS運行在低端內(nèi)存。這樣GOS的物理內(nèi)存地址與機器的內(nèi)存地址一致,GOS不需要修改就能滿足DMA的需要,并且,SOS是修改過的系統(tǒng),也可以滿足DMA的需要。本領域的普通技術(shù)人員應該容易理解,GOS也可以不運行在低端內(nèi)存,特別是同時運行多個GOS時,可以通過在VMM中攔截DMA指令,修改內(nèi)存地址來解決DMA問題,或者直接修改GOS中關于內(nèi)存的處理。
其中,在通信模塊中,VMM通過中斷或事件通道(Event Channel)與SOS和GOS通信,SOS通過hypercall與VMM通信,GOS通過vmcall與VMM通信。
由于GOS對顯卡的資源配置可能與SOS對顯卡的資源配置不一致,GOS若要對顯卡直接進行訪問,就需要先進行資源轉(zhuǎn)換,這一工作由資源轉(zhuǎn)換模塊來完成。來自于GOS的顯卡訪問數(shù)據(jù)到達VMM時,資源轉(zhuǎn)換模塊在資源轉(zhuǎn)換表中查找資源轉(zhuǎn)換關系,將GOS的IO請求地址轉(zhuǎn)化成顯卡的真實IO地址,同時把GOS對顯卡分配的MMIO映射到顯卡的物理MMIO上,并把VMM接收到的顯卡的IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS。
資源轉(zhuǎn)換表是在對顯卡的資源配置過程中產(chǎn)生的。配置過程為SOS啟動,掃描PCI總線,獲取顯卡信息,為顯卡分配資源(IRQ、IO、MMIO);GOS啟動,掃描虛擬PCI總線,發(fā)現(xiàn)由DM提供的真實顯卡,獲取顯卡信息,為顯卡分配資源(IRQ、IO、MMIO);GOS對顯卡的資源分配由DM負責解析,DM根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM。該資源轉(zhuǎn)換表中包括SOS和GOS分別對顯卡分配的IO的對應關系、IRQ的對應關系和MMIO的對應關系。
這樣,通過DM和VMM的協(xié)助,GOS可以直接訪問到顯卡硬件,同時,SOS按照原來的單一系統(tǒng)的方式訪問顯卡硬件。
圖2所示的虛擬機系統(tǒng),可能會出現(xiàn)多個操作系統(tǒng)同時寫屏幕的現(xiàn)象,后臺操作系統(tǒng)切換到前臺時,顯示模式也可能會改變,需要重新設置顯示模式,這些都給使用帶來了不便。有鑒于此,以下提出一種改進方案。
圖3是圖2所示的虛擬機系統(tǒng)的改進,在該虛擬機系統(tǒng)中,SOS進一步包括鍵盤切換模塊,VMM進一步包括切換模塊和訪問控制模塊,SOS和GOS進一步包括顯卡寄存器保存/恢復模塊,其中所述鍵盤切換模塊用于接收鍵盤輸入信號,判斷該信號是否為系統(tǒng)切換信號,并將系統(tǒng)切換信號對應的切換信息通過通信模塊發(fā)送到切換模塊;所述切換模塊用于根據(jù)切換信息通過通信模塊發(fā)送顯卡寄存器保存/恢復信號到顯卡寄存器保存/恢復模塊,并且發(fā)送訪問控制信號到訪問控制模塊;所述訪問控制模塊用于根據(jù)訪問控制信號改變操作系統(tǒng)對顯卡的訪問權(quán)限;所述顯卡寄存器保存/恢復模塊用于根據(jù)顯卡寄存器保存/恢復信號對顯卡寄存器的值進行保存或恢復,并通過通信模塊發(fā)送顯卡寄存器保存成功信號或顯卡寄存器恢復成功信號到切換模塊。
下面分別對上述各模塊的處理流程進行具體描述。
如圖4所示,鍵盤切換模塊的處理流程為接收鍵盤輸入信號,鍵盤中斷處理程序判斷該信號是否為系統(tǒng)切換信號,若是,通過通信模塊發(fā)送對應的切換信息到切換模塊,否則,進行正常的輸入處理。
如圖5所示,切換模塊的處理流程為接收來自鍵盤切換模塊的切換信息后,根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯卡寄存器保存信號到切換到后臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊,接收到顯卡寄存器保存成功信號后,發(fā)送訪問控制信號到訪問控制模塊,然后,發(fā)送顯卡寄存器恢復信號到切換到前臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊,并接收顯卡寄存器恢復成功信號。
如圖6所示,顯卡寄存器保存/恢復模塊的處理流程為接收到顯卡寄存器保存/恢復信號后,判斷是否保存顯卡寄存器的值,若接收到顯卡寄存器保存信號,調(diào)用VGA BIOS服務對顯卡寄存器的值進行保存,并通過通信模塊發(fā)送顯卡寄存器保存成功信號到切換模塊;若接收到顯卡寄存器恢復信號,調(diào)用VGA BIOS服務對顯卡寄存器的值進行恢復,并通過通信模塊發(fā)送顯卡寄存器恢復成功信號到切換模塊。
如圖7所示,訪問控制模塊接收到訪問控制信號后,首先判斷前后臺狀態(tài)改變的操作系統(tǒng)是GOS還是SOS,對GOS和SOS執(zhí)行不同的處理。
對于GOS,發(fā)送相應控制信號到資源轉(zhuǎn)換模塊,資源轉(zhuǎn)換模塊根據(jù)控制信號禁用后臺操作系統(tǒng)的資源轉(zhuǎn)換表并啟用前臺操作系統(tǒng)的資源轉(zhuǎn)換表。對于SOS,發(fā)送相應控制信號到SOS中的顯卡驅(qū)動,由該顯卡驅(qū)動打開或關閉SOS對顯卡的訪問權(quán)限。若所述SOS切換到前臺,該SOS的顯卡驅(qū)動打開其對顯卡的訪問權(quán)限,若所述SOS切換到后臺,該SOS的顯卡驅(qū)動關閉其對顯卡的訪問權(quán)限。
改進的虛擬機系統(tǒng)解決了多個操作系統(tǒng)切換使用顯卡的問題,即只有位于前臺的操作系統(tǒng)才能訪問顯卡,不會出現(xiàn)多個操作系統(tǒng)同時寫屏幕的情況。并且,通過顯卡寄存器的保存和恢復,使得切換使用顯卡時各操作系統(tǒng)的顯示模式保持不變。
但是,在系統(tǒng)切換后,如果沒有進行屏幕刷新,由于顯存的內(nèi)容沒有更新,顯示器顯示的內(nèi)容為切換前的內(nèi)容。同顯卡寄存器的保存和恢復類似,通過顯存的保存和恢復可解決此問題。
即在GOS中和SOS中,還可以進一步包括顯存保存/恢復模塊,切換模塊發(fā)送顯存保存/恢復信號到顯存保存/恢復模塊,顯存保存/恢復模塊根據(jù)顯存保存/恢復信號對顯存的內(nèi)容進行保存或恢復。切換模塊根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯存保存信號到切換到后臺的操作系統(tǒng)的顯存保存/恢復模塊,發(fā)送顯存恢復信號到切換到前臺的操作系統(tǒng)的顯存保存/恢復模塊。顯存保存/恢復模塊在接收到顯存保存信號時,對顯存的內(nèi)容進行保存,在接收到顯存恢復信號時,對顯存的內(nèi)容進行恢復。
本發(fā)明的虛擬機系統(tǒng)顯卡訪問方法包括以下步驟a)GOS的顯卡訪問數(shù)據(jù)通過顯卡驅(qū)動發(fā)送到VMM;b)VMM根據(jù)預先配置的資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO;c)VMM將處理后的數(shù)據(jù)發(fā)送到顯卡。
進一步,在步驟c)后還包括步驟d)VMM接收顯卡的IRQ,并根據(jù)資源轉(zhuǎn)換表將該IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS。
其中,所述資源轉(zhuǎn)換表中包括SOS和GOS分別對顯卡分配的IO的對應關系、IRQ的對應關系和MMIO的對應關系。為保證DMA,讓VMM運行在高端內(nèi)存,GOS運行在低端內(nèi)存,前面已經(jīng)介紹到GOS也可以不運行在低端內(nèi)存,特別是同時運行多個GOS時,可以通過在VMM中攔截DMA指令,修改內(nèi)存地址來解決DMA問題,或者直接修改GOS中關于內(nèi)存的處理。
所述資源轉(zhuǎn)換表的配置過程為1)SOS獲取顯卡信息,為顯卡分配資源;2)GOS通過SOS中的DM獲取顯卡信息,為顯卡分配資源;3)DM根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM。
進一步,在步驟a)之前,還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯示模式,后臺操作系統(tǒng)切換到前臺時,恢復顯示模式。
進一步,在步驟a)之前,還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯存的內(nèi)容,后臺操作系統(tǒng)切換到前臺時,恢復顯存的內(nèi)容。
使用本發(fā)明的方法,前臺操作系統(tǒng)對顯卡的操作完全與獨立的操作系統(tǒng)對顯卡的操作相當,能用到顯卡的全部硬件加速特性。一個操作系統(tǒng)發(fā)生故障的時候,不會影響其它操作系統(tǒng)的顯示。可以通過切換,使其它操作系統(tǒng)獲得對顯卡的控制權(quán)。
本發(fā)明的虛擬機系統(tǒng)及其顯卡使用方法,不再提供虛擬的顯卡類型,GOS可以看到真實的物理顯卡,顯示器顯示的內(nèi)容由VMM根據(jù)系統(tǒng)的切換控制,始終顯示切換到前臺的系統(tǒng)內(nèi)容,并可以使用硬件加速特性,保證了顯示性能。
最后應當說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,本領域的普通技術(shù)人員應當理解,可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神范圍,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種虛擬機系統(tǒng),包括虛擬機監(jiān)視器VMM、服務操作系統(tǒng)SOS和至少一個客戶操作系統(tǒng)GOS,其中,所述VMM包括通信模塊,該通信模塊用于VMM和SOS及各個GOS之間的通信;所述SOS包括設備模型DM,該DM用于獲取顯卡信息;其特征在于所述GOS通過通信模塊訪問DM,獲取顯卡信息,對顯卡進行資源配置,并將資源配置信息通過通信模塊發(fā)送到DM,所述GOS還包括顯卡驅(qū)動,用于將GOS的顯卡訪問數(shù)據(jù)發(fā)送到VMM;所述SOS中的DM還用于獲取SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息,并根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM;所述VMM還包括資源轉(zhuǎn)換模塊,用于根據(jù)資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO,并將處理后的數(shù)據(jù)發(fā)送到顯卡。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于所述資源轉(zhuǎn)換模塊進一步將VMM接收到的顯卡的IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS;所述GOS進一步通過顯卡驅(qū)動處理由VMM發(fā)送過來的顯卡的IRQ。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于所述資源轉(zhuǎn)換表中包括SOS和GOS分別對顯卡分配的IO的對應關系、IRQ的對應關系和MMIO的對應關系。
4.如權(quán)利要求1或2所述的系統(tǒng),其特征在于所述VMM運行在高端內(nèi)存,所述GOS運行在低端內(nèi)存。
5.如權(quán)利要求1或2所述的系統(tǒng),其特征在于所述SOS進一步包括鍵盤切換模塊,所述VMM進一步包括切換模塊和訪問控制模塊,所述SOS和所述GOS進一步包括顯卡寄存器保存/恢復模塊,所述鍵盤切換模塊用于接收鍵盤輸入信號,判斷該信號是否為系統(tǒng)切換信號,并將系統(tǒng)切換信號對應的切換信息通過通信模塊發(fā)送到切換模塊;所述切換模塊用于根據(jù)切換信息通過通信模塊發(fā)送顯卡寄存器保存/恢復信號到顯卡寄存器保存/恢復模塊,并且發(fā)送訪問控制信號到訪問控制模塊;所述訪問控制模塊用于根據(jù)訪問控制信號改變操作系統(tǒng)對顯卡的訪問權(quán)限;所述顯卡寄存器保存/恢復模塊用于根據(jù)顯卡寄存器保存/恢復信號對顯卡寄存器的值進行保存或恢復,并通過通信模塊發(fā)送顯卡寄存器保存成功信號或顯卡寄存器恢復成功信號到切換模塊。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于所述訪問控制模塊在接收到訪問控制信號時,若前后臺狀態(tài)改變的操作系統(tǒng)是GOS,發(fā)送相應控制信號到資源轉(zhuǎn)換模塊,資源轉(zhuǎn)換模塊根據(jù)控制信號禁用后臺操作系統(tǒng)的資源轉(zhuǎn)換表并啟用前臺操作系統(tǒng)的資源轉(zhuǎn)換表。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于所述訪問控制模塊在接收到訪問控制信號時,若前后臺狀態(tài)改變的操作系統(tǒng)是SOS,發(fā)送相應控制信號到SOS中的顯卡驅(qū)動,由該顯卡驅(qū)動打開或關閉SOS對顯卡的訪問權(quán)限。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于所述切換模塊根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯卡寄存器保存信號到切換到后臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊,發(fā)送顯卡寄存器恢復信號到切換到前臺的操作系統(tǒng)的顯卡寄存器保存/恢復模塊。
9.如權(quán)利要求5所述的系統(tǒng),其特征在于所述GOS和SOS進一步包括顯存保存/恢復模塊;所述切換模塊進一步根據(jù)切換信息通過通信模塊發(fā)送顯存保存/恢復信號到顯存保存/恢復模塊;所述顯存保存/恢復模塊根據(jù)顯存保存/恢復信號對顯存的內(nèi)容進行保存或恢復。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于所述切換模塊根據(jù)切換信息判斷前后臺狀態(tài)改變的操作系統(tǒng),發(fā)送顯存保存信號到切換到后臺的操作系統(tǒng)的顯存保存/恢復模塊,發(fā)送顯存恢復信號到切換到前臺的操作系統(tǒng)的顯存保存/恢復模塊。
11.一種虛擬機系統(tǒng)顯卡訪問方法,其特征在于,包括以下步驟a)GOS的顯卡訪問數(shù)據(jù)通過顯卡驅(qū)動發(fā)送到VMM;b)VMM根據(jù)預先配置的資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO;c)VMM將處理后的數(shù)據(jù)發(fā)送到顯卡。
12.如權(quán)利要求11所述的方法,其特征在于,在步驟c)后還包括步驟d)VMM接收顯卡的IRQ,并根據(jù)資源轉(zhuǎn)換表將該IRQ轉(zhuǎn)換成GOS的中斷號后發(fā)送給GOS。
13.如權(quán)利要求11或12所述的方法,其特征在于所述資源轉(zhuǎn)換表中包括SOS和GOS分別對顯卡分配的IO的對應關系、IRQ的對應關系和MMIO的對應關系。
14.如權(quán)利要求11或12所述的方法,其特征在于所述VMM運行在高端內(nèi)存,所述GOS運行在低端內(nèi)存。
15.如權(quán)利要求11或12所述的方法,其特征在于,所述資源轉(zhuǎn)換表的配置過程為1)SOS獲取顯卡信息,為顯卡分配資源;2)GOS通過SOS中的DM獲取顯卡信息,為顯卡分配資源;3)DM根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM。
16.如權(quán)利要求11或12所述的方法,其特征在于,在步驟a)之前還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯示模式,后臺操作系統(tǒng)切換到前臺時,恢復顯示模式。
17.如權(quán)利要求11或12所述的方法,其特征在于,在步驟a)之前還包括步驟前臺操作系統(tǒng)切換到后臺時,保存顯存的內(nèi)容,后臺操作系統(tǒng)切換到前臺時,恢復顯存的內(nèi)容。
全文摘要
本發(fā)明公開了一種虛擬機系統(tǒng)及其顯卡訪問方法。該系統(tǒng)包括VMM、SOS和至少一個GOS。GOS通過SOS中的DM獲取顯卡信息,對顯卡進行資源配置,將資源配置信息發(fā)送到DM;DM根據(jù)SOS對顯卡的資源配置信息和GOS對顯卡的資源配置信息生成資源轉(zhuǎn)換表發(fā)送到VMM;VMM中的資源轉(zhuǎn)換模塊根據(jù)資源轉(zhuǎn)換表對來自GOS的顯卡訪問數(shù)據(jù)進行IO地址地轉(zhuǎn)換或?qū)MIO映射到顯卡的物理MMIO,并將處理后的數(shù)據(jù)發(fā)送到顯卡。本發(fā)明的虛擬機系統(tǒng)及其顯卡訪問方法,每個操作系統(tǒng)看到的都是真實顯卡,各個操作系統(tǒng)之間通過切換的方式使用顯卡,可以利用顯卡的硬件加速特性,保證了顯示性能。
文檔編號G06F3/14GK101059762SQ20061007639
公開日2007年10月24日 申請日期2006年4月20日 優(yōu)先權(quán)日2006年4月20日
發(fā)明者劉春梅, 劉永鋒, 陳軍 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1