[發明專利]在多操作系統中共享顯示卡的方法和計算機系統有效
| 申請號: | 200810055938.8 | 申請日: | 2008-01-02 |
| 公開(公告)號: | CN101477510A | 公開(公告)日: | 2009-07-08 |
| 發明(設計)人: | 王碧波;劉永鋒;劉春梅;陳軍 | 申請(專利權)人: | 聯想(北京)有限公司 |
| 主分類號: | G06F15/167 | 分類號: | G06F15/167;G06F9/48 |
| 代理公司: | 北京銀龍知識產權代理有限公司 | 代理人: | 許 靜 |
| 地址: | 100085北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 操作系統 共享 顯示 方法 計算機系統 | ||
技術領域
本發明涉及一種顯示卡設備的共享技術,具體涉及一種在多操作系統中共享顯示卡的方法和計算機系統。
背景技術
使用虛擬化技術可以在同一硬件平臺上同時運行多個客戶操作系統(GOS,Guest?Operation?System)。多個客戶操作系統的顯示內容可以通過一張顯示卡設備輸出至外部的顯示裝置進行顯示,也就是說,多操作系統通過共享顯示卡設備來實現各自的顯示。
虛擬化領域的傳統技術是讓客戶操作系統都使用虛擬顯示卡,只有一個宿主操作系統使用物理顯示卡設備。這種方法的缺點是客戶操作系統的顯示性能特別差,并且很多加速特性都不支持。
新的技術可以讓客戶操作系統直接使用物理顯示卡設備,但其代價是只有一個客戶操作系統可以有顯示輸出,其他操作系統無法通過顯示卡來輸出。
為了解決這種問題,開始逐漸出現了一些多客戶操作系統都直接操作物理顯示卡設備,但是通過某種方式使之可以串行操作的技術。這些技術中較典型的實現方法是:顯存分離+寄存器模擬方式。讓各OS使用不同的顯存資源,并且各OS都有自己的一套模擬寄存器,當某個OS需要在前臺顯示時,則將其寄存器值寫入真實設備,以實現對該OS的顯示。
上述方法的缺點在于:由于各OS所使用的顯存資源是完全分離的,因此,需要對各OS的顯示卡的設備驅動程序進行修改,修改工作量較大。同時,由于當今顯示卡寄存器非常復雜,要模擬所有寄存器十分困難,工程化難度大。后臺OS在使用模擬的寄存器時,如果模擬不當,便會導致顯示卡出錯,甚至導致系統崩潰。
發明內容
本發明實施例的目的是提供一種在多操作系統中共享顯示卡的方法和計算機系統,無需修改所有操作系統的設備驅動程序,即可實現在多操作系統中共享顯示卡。
為了實現上述目的,本發明的一個實施例提供一種在多操作系統中共享顯示卡的方法,所述多操作系統包括一個主客戶操作系統和至少一個次客戶操作系統,所述方法包括:
檢測到有第一客戶操作系統需要被顯示,所述第一客戶操作系統屬于所述主客戶操作系統和至少一個次客戶操作系統中的一個客戶操作系統;
對所述第一客戶操作系統進行判斷:當所述第一客戶操作系統是所述主客戶操作系統時,為所述第一客戶操作系統分配顯示卡的所有顯示控制寄存器組和所有顯存資源;當所述第一客戶操作系統是所述次客戶操作系統時,為所述第一客戶操作系統分配一組顯示控制寄存器組和所有顯存資源中的部分顯存資源;
控制為所述第一客戶操作系統所分配的顯示控制寄存器組與顯示輸出端口連接;
根據為所述第一客戶操作系統所分配的顯存資源獲取所述第一客戶操作系統的顯示內容;
根據與所述顯示輸出端口連接的顯示控制寄存器組中顯示模式參數,對所述顯示內容進行顯示。
本發明的實施例還提供了一種計算機系統,包括:
一個主客戶操作系統和至少一個次客戶操作系統;
虛擬機管理器,每一所述一個主客戶操作系統和至少一個次客戶操作系統與所述虛擬機管理器連接;
顯示卡,所述顯示卡包括至少兩個顯示控制寄存器組;
所述主客戶操作系統與顯示卡的所有顯示控制寄存器組和所有顯存資源相對應,每一所述至少一個次客戶操作系統與顯示卡的其中一組顯示控制寄存器組和部分顯存資源相對應;
顯示輸出端口;
切換控制單元,在檢測到有第一客戶操作系統需要被顯示時,使所述第一客戶操作系統與所述顯示輸出端口連接,所述第一客戶操作系統屬于所述一個主客戶操作系統和至少一個次客戶操作系統中的一個客戶操作系統;
其中,通過所述顯示輸出端口對所述第一客戶操作系統進行顯示。
本發明的一個或多個實施例至少具有以下有益效果:
只需修改次客戶操作系統的驅動程序,不需要修改主客戶操作系統的驅動程序,并且,無需模擬或只需要模擬小部分顯示卡的寄存器,即可實現對顯示卡的共享訪問操作;在切換當前顯示的客戶操作系統之前,對該客戶操作系統相關的顯示模式參數、顯示輸出設置參數及顯存映射關系進行保存,以便于在重新切換回該客戶操作系統時,簡便、快速的恢復該客戶操作系統的原先的顯示狀態;在顯示控制寄存器組的數目少于客戶操作系統時,通過客戶操作系統模擬顯示卡,為其他客戶操作系統提供對顯示卡的訪問操作;當次客戶操作系統在前臺顯示時,攔截并模擬其他客戶操作系統對該次客戶操作系統的顯示卡資源的訪問操作,從而提供了次客戶操作系統顯示的可靠性。
附圖說明
圖1為本發明第一實施例的計算機系統的結構示意圖;
圖2為本發明第一實施例所述在多操作系統中共享顯示卡的方法的流程圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯想(北京)有限公司,未經聯想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810055938.8/2.html,轉載請聲明來源鉆瓜專利網。





