多作業系統之間切換顯示的控制方法和計算機系統的製作方法
2023-04-28 09:31:41
專利名稱:多作業系統之間切換顯示的控制方法和計算機系統的製作方法
技術領域:
本發明涉及多作業系統顯示技術領域,尤其涉及一種多作業系統之間切換 顯示的控制方法和計算機系統。
背景技術:
使用虛擬化技術可以在同一硬體平臺上同時運行多個客戶作業系統
(GOS , Guest Operation System )。多個客戶作業系統的顯示內容可以通過一 張顯示卡設備輸出至外部的顯示裝置進行顯示,也就是說,多作業系統通過共 享顯示卡設備來實現各自的顯示。
虛擬化領域的傳統技術是讓客戶作業系統都使用虛擬顯示卡,只有一個宿 主作業系統使用物理顯示卡設備。這種方法的缺點是客戶作業系統的顯示性能 特別差,並且很多加速特性都不支持。
新的技術可以讓客戶作業系統直接使用物理顯示卡設備,但其代價是只有 一個客戶作業系統可以有顯示輸出,其他作業系統無法通過顯示卡來輸出。
為了解決這種問題,開始逐漸出現了 一些多客戶作業系統都直接操作物理 顯示卡設備,但是通過某種方式使之可以串行操作的技術。這些技術具體可以 分為修改設備驅動程序分離各GOS所使用的顯示資源(例如顯存資源)和 不分離顯示資源兩種類別。
無論使用上述哪種類別的技術,在由一個GOS切換到另一 GOS的過程中, 所顯示的畫面都可能出現花屏,有時候甚至出現系統崩潰的情況。
發明內容
本發明實施例的目的是提供一種多作業系統之間切換顯示的控制方法和 計算機系統,避免在對多作業系統之前進行切換顯示的過程中出現畫面花屏或 系統崩潰的情況。為了實現上述目的,本發明的一個實施例提供了一種多作業系統之間切換顯示的控制方法,包括
檢測到需要將當前顯示的客戶作業系統由第 一客戶作業系統切換為第二
客戶作業系統;
判斷所述第一客戶作業系統是否滿足預定的切換條件,在滿足預定的切換條件時,將當前顯示的客戶操作切換為所述第二客戶作業系統;否則,禁止進行當前顯示的客戶作業系統的切換。
本發明的實施例還提供了一種計算機系統,包括
至少兩個客戶作業系統;
虛擬機管理器,每一所述至少兩個客戶作業系統與所述虛擬機管理器連
接;
用於對所述至少兩個客戶作業系統進行顯示輸出的顯示卡;
第 一客戶作業系統包括有切換監控單元,用於在檢測到需要將當前顯示的
客戶作業系統由第 一客戶作業系統切換為第二客戶作業系統時,判斷所述第一
客戶作業系統是否滿足預定的切換條件,在滿足預定的切換條件時,允許進行
作業系統的切換;否則,禁止進行作業系統的切換;
所述計算機系統還包括有切換單元,用於在所述切換監控單元允許進行操
作系統的切換時,將顯示卡所顯示的客戶作業系統從所述第 一客戶作業系統切
換到第二客戶作業系統。
本發明的一個或多個實施例至少具有以下有益效果
在切換之前,判斷是否滿足預定的切換條件,滿足所述切換條件才可以進行切換,從而保證了切換的可靠性,避免出現畫面花屏或系統崩潰的情況;
在各客戶作業系統使用分離的顯示資源的情況下,禁止用戶或其他程序對設備驅動程序的修改,保證了後臺客戶作業系統根據正確版本的設備驅動程序使用顯示資源,不會對前臺客戶作業系統對顯示產生影響。
在各客戶作業系統所使用的顯示資源存在部分共用的情況下,如果當前顯示的客戶作業系統所運行的程序是佔用共用顯示資源的程序,則不允許進行切換,保證了切換的可靠性。並且,通過禁止後臺客戶作業系統使用所述第一系統功能和為後臺客戶作業系統升起切換保護窗口 ,進一步保證了後臺客戶作業系統不會對前臺客戶作業系統對顯示產生影響。
圖1為本發明第一實施例的計算機系統的結構示意圖;圖2為本發明第一實施例所述多作業系統之間切換顯示的控制方法的流程圖3為本發明第二實施例的計算機系統的結構示意圖。
具體實施例方式
本發明實施例的多作業系統之間切換顯示的控制方法和計算機系統,在多個虛擬作業系統都使用物理顯示卡的環境下,通過增加顯示切換監控單元,在需要進行客戶作業系統的顯示切換之前,對當前顯示的客戶作業系統是否滿足預定的切換條件進行判斷,從而保證了切換的安全性,避免出現畫面花屏或系統崩潰的情況。
下面結合附圖對本發明不同的實施例進行進一步詳細說明。<第一實施例〉
在本實施例中,以各GOS使用不同的顯示資源為例進行說明。這裡,所述顯示資源包括顯存資源和顯示通道(Display Pipe)等。所述顯示通道是顯示卡中的一組顯示控制寄存器組,其中保存有顯示模式參數信息。所述顯示模式參數包括解析度、刷新率、色深(Color Depth)、顯示內容所使用的顯存信息等。目前的顯示卡通常具有兩組或兩組以上的顯示通道資源。
為了使各GOS能夠使用不同的顯示資源,需要事先修改各GOS的設備驅動程序,將各GOS與各自對應的顯示資源進行綁定,從而各GOS可以根據其設備驅動程序訪問其所對應的顯示資源。
如圖l所示,本發明第一實施例的計算機系統包括兩個客戶作業系統客戶作業系統201和202,還包括有虛擬機管理器100和顯示卡000,其中,客戶作業系統201和202與所述虛擬機管理器100連接,虛擬機管理器100和顯示卡000連接。客戶作業系統201和202都是通過虛擬機管理器100直接訪問顯示卡,通過顯示卡對客戶作業系統進行顯示輸出,輸出至外部的顯像設備(如
7顯示器)。
顯示卡000中包括有顯示資源010,具體的,顯示資源可以是顯存或顯示
通道等資源。客戶作業系統201和202分別包括有設備驅動單元2011和2021 ,分別用於保存本客戶作業系統的設備驅動程序中關於顯示資源的配置信息,為本客戶作業系統操作顯示卡提供服務。各客戶作業系統根據各自的設備驅動程序使用顯示卡的不同的顯示資源。
這裡,在客戶作業系統202中還設置有切換單元2022和切換監控單元2023。
以下以將當前顯示的客戶作業系統從客戶作業系統202切換為客戶作業系統201為例,說明本實施例是如何對切換過程進行控制的。
所述切換監控單元2023,用於在檢測到需要將當前顯示的客戶作業系統由客戶作業系統202切換為客戶作業系統201時,判斷所述客戶作業系統202是否滿足預定的切換條件,在滿足預定的切換條件時,允許進行作業系統的切換;否則,禁止進行作業系統的切換。
這裡,由於各客戶作業系統都事先修改了設備驅動程序,各客戶作業系統分別根據各自的設備驅動程序訪問顯示卡的不同的顯示資源。因此,只有在該設備驅動程序的版本正確且處於正常的工作狀態,才能夠保證處於後臺的客戶
卡的顯示資源),才不會對前臺客戶作業系統的顯示產生影響,避免出現花屏或系統崩潰的情況。因此,所述預定的切換條件是所述客戶作業系統202的所述設備驅動程序的版本正確,且所述設備驅動程序的處於正常工作狀態。如果用戶或其他程序又重新修改了設備驅動程序,導致客戶作業系統無法訪問其所對應的顯示資源時,此時,設備驅動程序的版本即是錯誤的。而設備驅動程序處於異常狀態的典型例子是用戶改變了註冊表中關於顯存位置的配置等。所述切換單元2022,用於在所述切換監控單元2023允許進行作業系統的切換時,將顯示卡所顯示的客戶作業系統從所述客戶作業系統202切換到客戶作業系統201。
為了避免用戶或其他程序對設備驅動程序的不當操作,圖1中,在客戶作業系統202中,所述切換監控單元2023中包括有驅動程序維護單元20231,用於在所述切換單元2022將當前顯示的客戶操作切換為所述客戶作業系統 201之後,調用所述客戶作業系統202的設備管理程序,打開所述客戶操作系 統202的設備驅動程序的屬性設置界面,並通過所述屬性設置界面設置禁止更 新屬性,以禁止對所述客戶作業系統202的設備驅動程序的更新操作。
類似的,在所述客戶操:作系統201中設置有切換監控單元2013,所述切 換監控單元2013中設置有驅動程序維護單元20131。在客戶作業系統201由 前臺顯示切換到後臺時,所述切換監控單元2013和驅動程序維護單元20131 分別與所述切換監控單元2023和驅動程序維護單元20231 —樣,實現類似的 功能。
基於上述計算機系統,本實施例提供的多作業系統之間切換顯示的控制方 法的流程圖如圖2所示,包括以下步驟
步驟21 ,檢測到需要將當前顯示的客戶作業系統由客戶作業系統202切 換為客戶作業系統201;
步驟22,判斷所述客戶作業系統202的設備驅動程序的版本是否正確, 以及設備驅動程序的工作狀態是否正常,如果版本正確且工作正常,則進入步 驟24;否則,則進入步驟23;
步驟23,禁止進行當前顯示的客戶作業系統的切換,結束流程;
步驟24,允許對當前顯示的客戶作業系統進行切換。
在對當前顯示的客戶作業系統進行切換之後,在步驟24之後還可以包括
步驟25,調用所述客戶作業系統202的設備管理程序,打開所述客戶操 作系統202的設備驅動程序的屬性設置界面,通過所述屬性設置界面設置禁止 更新屬性,以禁止對所述客戶作業系統202的設備驅動程序的更新操作。
從以上所述可以看出,通過在作業系統切換之前進行判斷,保證了客戶操 作系統202在切換到後臺後,該客戶作業系統202是根據合法的設備驅動版本 使用其所對應的顯示資源,因而不會對前臺顯示的客戶作業系統201產生影 響,保證了前臺顯示的可靠性和安全性。
本實施例以各客戶作業系統共用部分顯示資源為例,進行說明。
如圖3所示,本發明第二實施例的計算機系統也包括兩個客戶搡作系統客戶作業系統201和202,還包括有虛擬機管理器100和顯示卡000,其中, 客戶作業系統201和202與所述虛擬機管理器100連接,虛擬機管理器100 和顯示卡000連接。客戶作業系統201和202都是通過虛擬機管理器100直接 訪問顯示卡,通過顯示卡對客戶作業系統進行顯示輸出,輸出至外部的顯像設 備(如顯示器)。與圖1類似,顯示卡000中包括有顯示資源010,具體的, 顯示資源可以是顯存和顯示通道等資源。
這裡,客戶才喿作系統201和202分別包括有設備驅動單元2011和2021, 分別用於保存本客戶作業系統的設備驅動程序中關於顯示資源的配置信息,為 本客戶作業系統操作顯示卡提供服務。本實施例中,各客戶作業系統根據各自 的設備驅動程序使用顯示卡的顯示資源,各客戶作業系統所對應的顯示資源之 間存在共用部分,例如,使用完全相同或部分相同的顯存資源(顯示通道)。
這裡,在客戶^l喿作系統201和202中分別設置有切換監控單元2012和 2022,在虛擬機管理器100中設置有切換單元101。在客戶作業系統202中設 置有系統功能禁用單元2023和切換保護窗口單元2024。
以下以將當前顯示的客戶作業系統從客戶作業系統202切換為客戶操作 系統201為例,說明本實施例是如何對切換過程進行控制的。
所述切換監控單元2012,用於在檢測到需要將當前顯示的客戶作業系統 由客戶作業系統202切換為客戶作業系統201時,判斷所述客戶作業系統202 是否滿足預定的切換條件,在滿足預定的切換條件時,允許進行作業系統的切 換;否則,禁止進行作業系統的切換。
這裡,由於各客戶作業系統之間所使用的顯示資源存在共用部分,因此, 當某個客戶作業系統從前臺切換到後臺前,不能運行第一類型程序。這裡,所 述第一類型程序在其運行時將佔用所述第一、第二客戶作業系統的共用的顯示 資源。因此,本實施例中所述預定的切換條件是所述第一客戶作業系統當前 沒有運行第一類型程序。具體的,所述第一類型程序包括Direct3D等程序。
所述系統功能禁用單元2023,用於在所述切換監控單元2022判斷所述客 戶作業系統202滿足預定的切換條件後,將所述客戶作業系統202的第一系統 功能設置為禁用狀態,以禁止所述客戶作業系統202使用第 一 系統功能,其中, 所述第 一 系統功能在被所述客戶作業系統202在後臺使用時,將破壞所述客戶
10作業系統201在前臺的正常顯示。具體的,所述第一系統功能包括屏幕保護功 能、顯示器定時電源管理功能、三維顯示加速功能或對顯示輸出埠的配置功 能等
所述切換保護窗口單元2024,用於在所述切換監控單元2022判斷所述客 戶作業系統202滿足預定的切換條件後,升起切換保護窗口,以及在所述客戶 作業系統202切換到後臺後,禁止所述客戶作業系統202升起所述切換保護窗 口外的其他窗口。這裡,所述切換保護窗口具體的可以是全屏黑屏窗口、 Ctrl+Alt+Del窗口等使用顯卡資源較少的窗口,通過上述切換保護窗口,阻止 後臺作業系統的任何輸出顯示請求。
所述切換單元101,用於在所述切換監控單元2012允許進行作業系統的 切換時,將顯示卡所顯示的客戶作業系統從所述客戶作業系統202切換到客戶 作業系統201。
基於上述計算機系統,本實施例提供的多作業系統之間切換顯示的控制方 法,包括以下步驟
步驟41,檢測到需要將當前顯示的客戶作業系統由客戶作業系統202切 換為客戶作業系統201;
步驟42,判斷所述客戶作業系統202是否有第一類型程序在運行,如果 有,則進入步驟43;否則,則進入步驟44;
步驟43,禁止進行當前顯示的客戶作業系統的切換,結束流程;
步驟44,客戶作業系統202將其第一系統功能設置為禁用狀態,以禁止 使用第 一 系統功能,所述第 一 系統功能在被所述客戶作業系統202在後臺使用 時,將破壞所述客戶作業系統201在前臺的正常顯示;
步驟45,客戶作業系統202升起切換保護窗口 ;
步驟46,對當前顯示的客戶作業系統202進行切換,切換為客戶搡作系 統201;
步驟47,在客戶作業系統202切換到後臺後,禁止客戶作業系統202升 起所述切換保護窗口外的其他窗口 。
以上說明了在各客戶作業系統使用的顯示資源存在共用部分時,如何進行 切換動作之前的判斷。本實施例中還通過禁用所述第 一系統功能和切換保護窗口 ,可靠的保證了後臺客戶作業系統不會對前臺客戶作業系統的顯示產生幹擾。
以上所述僅是本發明的實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1. 一種多作業系統之間切換顯示的控制方法,其特徵在於,包括檢測到需要將當前顯示的客戶作業系統由第一客戶作業系統切換為第二客戶作業系統;判斷所述第一客戶作業系統是否滿足預定的切換條件,在滿足預定的切換條件時,將當前顯示的客戶作業系統從所述第一客戶作業系統切換到所述第二客戶作業系統;否則,禁止進行當前顯示的客戶作業系統的切換。
2. 如權利要求1所述的方法,其特徵在於,在所述第一、第二客戶操作的切換條件為所述第一客戶作業系統的設備驅動程序的版本正確,且所述第 一客戶作業系統的設備驅動程序處於正常工作狀態。
3. 如權利要求2所述的方法,其特徵在於,所述顯示資源包括顯存資源 和顯示通道。
4. 如權利要求2所述的方法,其特徵在於,在所述將當前顯示的客戶操 作系統從所述第 一客戶作業系統切換到所述第二客戶作業系統後還包括調用所述第一客戶作業系統的設備管理程序,打開所述第一客戶作業系統 的設備驅動程序的屬性設置界面;通過所述屬性設置界面設置禁止更新屬性,以禁止對所述第一客戶操作系 統的設備驅動程序的更新操作。
5. 如權利要求1所述的方法,其特徵在於,在所述第一、第二客戶操作 系統共用部分顯示資源時,所述預定的切換條件為所述第一客戶作業系統當 前沒有運行第一類型程序,所述第一類型程序在運行時將佔用所述第一、第二 客戶作業系統共用的顯示資源。
6. 如權利要求5所述的方法,其特徵在於,在所述在滿足預定切換條件 時,所述方法還包括將所述第一客戶作業系統的第一系統功能設置為禁用狀態,以禁止所述第 一客戶作業系統使用第一系統功能,其中,所述第一系統功能在被所述第一客 戶作業系統在後臺使用時,將破壞所述第二客戶作業系統在前臺的正常顯示。
7. 如權利要求6所述的方法,其特徵在於,所述第一系統功能包括屏幕保護功能、顯示器定時電源管理功能、三維顯示加速功能或對顯示輸出埠 的配置功能。
8. 如權利要求5所述的方法,其特徵在於,在所述在滿足預定切換條件 時,所述方法還包括所述第一客戶作業系統升起切換保護窗口。
9. 如權利要求8所述的方法,其特徵在於,在所述將當前顯示的客戶操 作系統從所述第 一客戶作業系統切換到所述第二客戶作業系統後還包括禁止 所述第 一客戶作業系統升起所述切換保護窗口外的其他窗口 。
10. —種計算機系統,包括 至少兩個客戶作業系統;虛擬機管理器,每一所述至少兩個客戶作業系統與所述虛擬機管理器連接;用於對所述至少兩個客戶作業系統進行顯示輸出的顯示卡,其特徵在於, 所述計算機系統還包括切換監控單元,用於在檢測到需要將當前顯示的客戶作業系統由第一客戶 作業系統切換為第二客戶作業系統時,判斷所述第一客戶作業系統是否滿足預 定的切換條件,在滿足預定的切換條件時,允許進行作業系統的切換;否則, 禁止進行作業系統的切換;切換單元,用於在所述切換監控單元允許進行作業系統的切換時,將顯示 卡所顯示的客戶作業系統從所述第 一客戶作業系統切換到第二客戶作業系統。
11. 如權利要求10所述的計算機系統,其特徵在於,在所述第一、第二 客戶作業系統分別根據各自的設備驅動程序使用顯示卡的不同的顯示資源時, 所述預定的切換條件為所述第一客戶作業系統的所述設備驅動程序的版本正 確,且所述設備驅動程序的處於正常工作狀態。
12. 如權利要求11所述的計算機系統,其特徵在於,所述顯示資源包括 顯存資源或顯示通道。
13. 如權利要求11所述的計算機系統,其特徵在於,所述切換監控單元 包括驅動程序維護單元,用於在所述切換單元將顯示卡所顯示的客戶作業系統 從所述第 一客戶作業系統切換到第二客戶作業系統之後,調用所述第 一客戶作業系統的設備管理程序,打開所述第 一客戶作業系統的設備驅動程序的屬性設置界面,並通過所述屬性設置界面設置禁止更新屬性,以禁止對所述第一客戶作業系統的設備驅動程序的更新操作。
14. 如權利要求10所述的計算機系統,其特徵在於,在所述第一、第二客戶作業系統共用部分顯示資源時,所述預定的切換條件為所述第一客戶作業系統當前沒有運行第 一類型程序,所述第 一類型程序在其運行時將佔用所述第一、第二客戶作業系統的共用的顯示資源。
15. 如權利要求14所述的計算機系統,其特徵在於,所述第一客戶作業系統還包括系統功能禁用單元,用於在所述切換監控單元判斷所述第 一客戶作業系統滿足預定的切換條件後,將所述第一客戶作業系統的第一系統功能設置為禁用狀態,以禁止所述第一客戶作業系統使用第一系統功能,其中,所述第一系統功能在被所述第 一客戶作業系統在後臺使用時,將破壞所述第二客戶作業系統在前臺的正常顯示。
16. 如權利要求14所述的計算機系統,其特徵在於,所述第一客戶作業系統包括切換保護窗口單元,用於在所述切換監控單元判斷所述第 一客戶作業系統滿足預定的切換條件後,升起切換保護窗口,以及在所述第一客戶作業系統切換到後臺後,禁止所述第 一客戶作業系統升起所述切換保護窗口外的其他
全文摘要
本發明提供了多作業系統之間切換顯示的控制方法和計算機系統。其中,所述方法包括檢測到需要將當前顯示的客戶作業系統由第一客戶作業系統切換為第二客戶作業系統;判斷所述第一客戶作業系統是否滿足預定的切換條件,在滿足預定的切換條件時,將當前顯示的客戶作業系統從所述第一客戶作業系統切換到所述第二客戶作業系統;否則,禁止進行當前顯示的客戶作業系統的切換。按照本發明所述方法及計算機系統,可以避免在對多作業系統之間進行切換顯示的過程中出現畫面花屏或系統崩潰的情況。
文檔編號G06F9/48GK101477476SQ200810055940
公開日2009年7月8日 申請日期2008年1月2日 優先權日2008年1月2日
發明者劉春梅, 劉永鋒, 王碧波, 王竹強, 軍 陳 申請人:聯想(北京)有限公司