專利名稱:一種計(jì)算機(jī)系統(tǒng)的電源管理方法及計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬機(jī)技術(shù)領(lǐng)域,具體涉及一種計(jì)算機(jī)系統(tǒng)的電源管理方法及計(jì)算 機(jī)系統(tǒng)。
背景技術(shù):
虛擬技術(shù)已經(jīng)在計(jì)算機(jī)領(lǐng)域得到廣泛應(yīng)用。采用虛擬技術(shù)的計(jì)算機(jī)系統(tǒng),通 常包括運(yùn)行在虛擬機(jī)管理器(VMM,Virtual Machine Monitor)之上的多個(gè)客戶操作系統(tǒng) (GOS,Guest Operation System)。其中,有的客戶操作系統(tǒng)具有直接硬件訪問權(quán)限,如 基于XEN架構(gòu)的虛擬機(jī)系統(tǒng)中的伺服操作系統(tǒng)(SOS,Service Operation System);而有
的客戶操作系統(tǒng)并不直接對真實(shí)硬件進(jìn)行訪問操作,而是由具有直接訪問權(quán)限的客戶操 作系統(tǒng)為其模擬對真實(shí)硬件的訪問。由于客戶操作系統(tǒng)之間缺少一定的通信機(jī)制和配合機(jī)制,當(dāng)具有直接硬件訪問 權(quán)限的客戶操作系統(tǒng)需要關(guān)機(jī)或重新啟動(dòng)的時(shí)候,用戶必須首先手動(dòng)關(guān)閉其它客戶操作 系統(tǒng),然后再對具有直接硬件訪問權(quán)限的客戶操作系統(tǒng)進(jìn)行關(guān)機(jī)或重啟。如果用戶忘記 關(guān)閉其它客戶操作系統(tǒng),或者用戶直接關(guān)機(jī)或重啟具有直接硬件訪問權(quán)限的客戶操作系 統(tǒng),此時(shí)由于其它客戶操作系統(tǒng)無法獲取關(guān)機(jī)或重啟命令,將會(huì)造成其它客戶操作系統(tǒng) 的硬關(guān)閉,導(dǎo)致其它客戶操作系統(tǒng)上的用戶數(shù)據(jù)丟失,嚴(yán)重時(shí)還會(huì)造成其它客戶操作系 統(tǒng)的文件丟失甚至計(jì)算機(jī)的硬盤損壞。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種計(jì)算機(jī)系統(tǒng)的電源管理方法及計(jì) 算機(jī)系統(tǒng),避免包括多個(gè)客戶操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)因執(zhí)行電源管理命令而造成的用戶 數(shù)據(jù)丟失或系統(tǒng)硬件損壞。為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供方案如下從以上所述可以看出,本發(fā)明實(shí)施例提供的一種計(jì)算機(jī)系統(tǒng)的電源管理方法及 計(jì)算機(jī)系統(tǒng),在客戶操作系統(tǒng)之間增加相應(yīng)的通信機(jī)制和配合機(jī)制,保證了第一客戶操 作系統(tǒng)在執(zhí)行電源管理命令之前,其它客戶操作系統(tǒng)均已執(zhí)行完相同的電源管理命令, 從而使得第一客戶操作系統(tǒng)在執(zhí)行電源管理命令時(shí),不會(huì)對其它客戶操作系統(tǒng)的用戶數(shù) 據(jù)帶來任何影響,也不會(huì)造成系統(tǒng)硬件的損壞。并且,本發(fā)明實(shí)施例使得用戶在對第一 客戶操作系統(tǒng)執(zhí)行電源管理命令時(shí),不必再首先手動(dòng)關(guān)閉其它客戶操作系統(tǒng),從而提高 了虛擬機(jī)的用戶使用性。
圖1為本發(fā)明實(shí)施例所述的計(jì)算機(jī)系統(tǒng)的電源管理方法的流程示意圖;圖2為為本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖;圖3為為本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的另一結(jié)構(gòu)示意圖4為為本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的又一結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例在客戶操作系統(tǒng)之間增加相應(yīng)的通信機(jī)制,具有直接硬件訪問權(quán) 限的客戶操作系統(tǒng)在執(zhí)行電源管理命令之前,通過虛擬機(jī)管理器向其它客戶操作系統(tǒng)發(fā) 送該電源管理命令,讓其它客戶操作系統(tǒng)先行執(zhí)行該電源管理命令,從而避免了硬關(guān)閉 造成的用戶數(shù)據(jù)丟失或系統(tǒng)硬件損壞的問題。以下將結(jié)合具體實(shí)施例,對本發(fā)明做進(jìn)一 步的說明。本實(shí)施例所述的計(jì)算機(jī)系統(tǒng)的電源管理方法,應(yīng)用在包括虛擬機(jī)管理器和至少 兩個(gè)客戶操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)中,其中,所述至少兩個(gè)客戶操作系統(tǒng)包括一個(gè)具有直 接硬件訪問權(quán)限的第一客戶操作系統(tǒng)。如圖1所示,所述電源管理方法,包括步驟11,攔截所述第一客戶操作系統(tǒng)發(fā)出的電源管理命令。這里,所述電源管理命令包括關(guān)機(jī)命令、重啟命令、待機(jī)命令和休眠命令。 本實(shí)施例可以在所述第一操作系統(tǒng)中設(shè)置一個(gè)攔截模塊,用于攔截所述第一客戶操作系 統(tǒng)發(fā)出的電源管理命令。具體的,當(dāng)用戶通過按壓所述計(jì)算機(jī)系統(tǒng)的電源開關(guān)或重啟 開關(guān),觸發(fā)相應(yīng)的關(guān)機(jī)或重啟事件時(shí),所述第一客戶操作系統(tǒng)的高級配置與電源接口 (ACPI, Advanced Configuration and Powerlnterface)模塊截獲到上述關(guān)機(jī)或重啟事件,進(jìn) 而傳遞給上述攔截模塊。或者是用戶在所述第一客戶操作系統(tǒng)下通過應(yīng)用程序(如系統(tǒng) 關(guān)機(jī)界面)輸入的針對所述第一客戶操作系統(tǒng)進(jìn)行關(guān)閉、重啟、待機(jī)或休眠等命令,上 述攔截模塊此時(shí)可以直接攔截這些命令。步驟12,在攔截到所述電源管理命令后,通過所述虛擬機(jī)管理器向除所述第一 客戶操作系統(tǒng)外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令。這里,在攔截到所述電源管理命令后,所述第一客戶操作系統(tǒng)可以進(jìn)一步檢測 所述計(jì)算機(jī)系統(tǒng)中是否存在除所述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng)如果存 在,則向所述其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;否則,控制所述第一客戶操作 系統(tǒng)執(zhí)行所述電源管理命令,并結(jié)束本流程。具體的,向所述其它客戶操作系統(tǒng)發(fā)送所述電源管理命令可以是向所述其它客 戶操作系統(tǒng)同時(shí)發(fā)送所述電源管理命令,還可以是向所述其它客戶操作系統(tǒng)中的每個(gè) 客戶操作系統(tǒng),逐個(gè)發(fā)送所述電源管理命令,其中,只有在所述其它客戶操作系統(tǒng)中的 上一個(gè)客戶操作系統(tǒng)執(zhí)行完所述電源管理命令后,才向下一個(gè)客戶操作系統(tǒng)發(fā)送所述電 源管理命令。步驟13,當(dāng)所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電源管理命令后,控制所述 第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。本實(shí)施例中,所述其它客戶操作系統(tǒng)接收到所述第一客戶操作系統(tǒng)通過虛擬機(jī) 管理器發(fā)送的電源管理命令后,則主動(dòng)地根據(jù)該電源管理命令,執(zhí)行相應(yīng)的電源管理操 作,例如執(zhí)行本操作系統(tǒng)的關(guān)閉、重啟、休眠或待機(jī)等操作。所述第一客戶操作系統(tǒng)包 括有分別對應(yīng)于每一所述其它客戶操作系統(tǒng)的設(shè)備模塊(DM,Device Model)。每一所述 其它客戶操作系統(tǒng)在執(zhí)行完所述電源管理命令時(shí),將通過虛擬機(jī)管理器向?qū)?yīng)的設(shè)備模 塊發(fā)送一個(gè)響應(yīng)消息,用以通知已執(zhí)行完所述電源管理命令。這樣第一客戶操作系統(tǒng)就可以根據(jù)每一所述其它客戶操作系統(tǒng)對應(yīng)的設(shè)備模塊是否接收到所述每一所述客戶操作 系統(tǒng)執(zhí)行完所述電源管理命令時(shí)返回的響應(yīng)消息,來判斷每一所述客戶操作系統(tǒng)是否執(zhí) 行完所述電源管理命令。本實(shí)施例中還可以預(yù)先設(shè)定一個(gè)超時(shí)時(shí)間,在向所述其它客戶操作系統(tǒng)發(fā)送所 述電源管理命令后的超時(shí)時(shí)間內(nèi),如果所述其它客戶操作系統(tǒng)尚未執(zhí)行完所述電源管理 命令,此時(shí)可以控制所述第一客戶操作系統(tǒng)放棄執(zhí)行所述電源管理命令。當(dāng)然,本實(shí)施 例中所述第一客戶操作系統(tǒng)還可以一直等待,直到所述其它客戶操作系統(tǒng)都執(zhí)行完所述 電源管理命令后,再自行執(zhí)行所述電源管理命令。本實(shí)施例中通過虛擬機(jī)管理器向其它客戶操作系統(tǒng)發(fā)送所述電源管理命令是 在所述虛擬機(jī)管理器中設(shè)置一個(gè)ACPI事件注射模塊,通過該ACPI事件注射模塊向其它 客戶操作系統(tǒng)發(fā)送ACPI事件,然后注射ACPI中斷,所述ACPI事件用于指示所述其它客 戶操作系統(tǒng)執(zhí)行所述電源管理命令。具體的,當(dāng)ACPI事件注射模塊被調(diào)用要向某個(gè)客戶 操作系統(tǒng)注射ACPI事件時(shí),他首先檢測被注射的客戶操作系統(tǒng)是否存在,如果不存在, 則返回操作失敗的消息;如果存在,則首先打開該客戶操作系統(tǒng)的ACPI PowerButtan使 能位,然后對ACPI的相應(yīng)寄存器進(jìn)行置位(例如,當(dāng)需要發(fā)送關(guān)機(jī)/重啟命令時(shí),將 PMl事件寄存器的Power/Sleep Button位置1),然后再向該客戶操作系統(tǒng)發(fā)送一個(gè)ACPI 中斷,這樣就完成了一個(gè)ACPI事件注射。當(dāng)該客戶操作系統(tǒng)收到上述ACPI中斷時(shí),它 讀取并判斷ACPI的PMl事件寄存器的Power/sleep Button位是否置1,如果置1,則開始 關(guān)閉自己。從以上所述可以看出,由于增加了客戶操作系統(tǒng)之間的通信機(jī)制和配合機(jī)制, 本實(shí)施例中第一客戶操作系統(tǒng)在執(zhí)行電源管理命令之前,其它客戶操作系統(tǒng)均已執(zhí)行完 相同的電源管理命令,這樣第一客戶操作系統(tǒng)在執(zhí)行電源管理命令時(shí),不會(huì)對其它客戶 操作系統(tǒng)的用戶數(shù)據(jù)帶來任何影響,也不會(huì)造成系統(tǒng)硬件的損壞。并且,采用本實(shí)施例 所述方法后,當(dāng)用戶需要在第一客戶操作系統(tǒng)中執(zhí)行電源管理命令時(shí),不需要用戶首先 手動(dòng)關(guān)閉其它客戶操作系統(tǒng)的操作,從而提高了虛擬機(jī)的用戶使用性?;谏鲜鲇?jì)算機(jī)系統(tǒng)的電源管理方法,本實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng)。如 圖2所示,該計(jì)算機(jī)系統(tǒng),包括虛擬機(jī)管理器;至少兩個(gè)客戶操作系統(tǒng),所述至少兩個(gè)客戶操作系統(tǒng)包括一個(gè)具有直接硬件訪 問權(quán)限的第一客戶操作系統(tǒng);所述計(jì)算機(jī)系統(tǒng)還包括攔截模塊,用于攔截所述第一客戶操作系統(tǒng)發(fā)出的電源管理命令,所述電源管 理命令包括針對第一客戶操作系統(tǒng)的關(guān)機(jī)、重啟、待機(jī)和休眠等命令。發(fā)送模塊,用于在攔截到所述電源管理命令后,通過所述虛擬機(jī)管理器向除所 述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令。執(zhí)行模塊,用于當(dāng)所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電源管理命令后,控 制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。再請參照圖3,本實(shí)施例所述計(jì)算機(jī)系統(tǒng)中,所述發(fā)送模塊具體包括檢測模塊,用于在攔截到所述電源管理命令后,檢測所述計(jì)算機(jī)系統(tǒng)中是否存在除所述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng),并輸出一檢測結(jié)果; 第一處理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中存在所述其它客戶 操作系統(tǒng)時(shí),向所述其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;第二處理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中不存在所述其它客 戶操作系統(tǒng)時(shí),控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。再請參照圖4,本實(shí)施例所述計(jì)算機(jī)系統(tǒng)中,所述虛擬機(jī)管理器包括一 ACPI事 件注射模塊,用于向所述其它客戶操作系統(tǒng)注射ACPI中斷,所述ACPI中斷用于指示所 述其它客戶操作系統(tǒng)執(zhí)行所述電源管理命令。所述第一處理模塊具體包括虛擬電源管理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中存在所述其它 客戶操作系統(tǒng)時(shí),將預(yù)定的標(biāo)志位置位,并從所述其它客戶操作系統(tǒng)中隨機(jī)選擇出第二 客戶操作系統(tǒng),并調(diào)用所述ACPI事件注射模塊向所述第二客戶操作系統(tǒng)注射所述ACPI 中斷;分別對應(yīng)于每一所述其它客戶操作系統(tǒng)的設(shè)備模塊,用于在接收本設(shè)備模塊對 應(yīng)的客戶操作系統(tǒng)在執(zhí)行完所述電源管理命令時(shí)返回的響應(yīng)消息、且所述標(biāo)志位被置位 時(shí),判斷所述其它客戶操作系統(tǒng)是否都已執(zhí)行完所述電源管理命令若是,則啟動(dòng)所述 執(zhí)行模塊;否則,從所述其它客戶操作系統(tǒng)中尚未執(zhí)行所述電源管理命令的客戶操作系 統(tǒng)中隨機(jī)選擇出第三客戶操作系統(tǒng),并調(diào)用所述ACPI事件注射模塊向所述第三客戶操作 系統(tǒng)注射所述ACPI中斷。所述設(shè)備模塊在接收到本設(shè)備模塊對應(yīng)的客戶操作系統(tǒng)在執(zhí)行完所述電源管理 命令時(shí)返回的響應(yīng)消息后,如果讀取所述標(biāo)志位發(fā)現(xiàn)所述標(biāo)志位并沒有被置位,則說明 本設(shè)備模塊對應(yīng)的客戶操作系統(tǒng)所執(zhí)行的電源管理命令并非來自所述第一客戶操作系統(tǒng) 的,此時(shí)所述設(shè)備模塊不執(zhí)行上述判斷等操作。優(yōu)選地,本實(shí)施例所述的計(jì)算機(jī)系統(tǒng)中,所述執(zhí)行模塊包括超時(shí)判斷模塊,用于判斷在預(yù)定的超時(shí)時(shí)間內(nèi),所述其它客戶操作系統(tǒng)是否已 執(zhí)行完所述電源管理命令,并輸出一判斷結(jié)果;命令執(zhí)行模塊,用于在所述判斷結(jié)果指示所述其它客戶操作系統(tǒng)都已執(zhí)行完所 述電源管理命令時(shí),控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令;命令放棄模塊,用于在所述判斷結(jié)果指示所述其它客戶操作系統(tǒng)尚未執(zhí)行完所 述電源管理命令時(shí),控制所述第一客戶操作系統(tǒng)放棄執(zhí)行所述電源管理命令。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù) 人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤 飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)的電源管理方法,所述計(jì)算機(jī)系統(tǒng)包括虛擬機(jī)管理器和至少兩個(gè) 客戶操作系統(tǒng),其中,所述至少兩個(gè)客戶操作系統(tǒng)包括一個(gè)具有直接硬件訪問權(quán)限的第 一客戶操作系統(tǒng),其特征在于,所述電源管理方法包括攔截所述第一客戶操作系統(tǒng)發(fā)出的電源管理命令;在攔截到所述電源管理命令后,通過所述虛擬機(jī)管理器向除所述第一客戶操作系統(tǒng) 外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;當(dāng)所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電源管理命令后,控制所述第一客戶操作 系統(tǒng)執(zhí)行所述電源管理命令。
2.如權(quán)利要求1所述的電源管理方法,其特征在于,在所述攔截到所述電源管理命令 后,所述電源管理方法還包括檢測所述計(jì)算機(jī)系統(tǒng)中是否存在除所述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng) 如果存在,則向所述其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;否則,控制所述第一客 戶操作系統(tǒng)執(zhí)行所述電源管理命令。
3.如權(quán)利要求1所述的電源管理方法,其特征在于,所述向除所述第一客戶操作系統(tǒng) 外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令,包括向所述其它客戶操作系統(tǒng)中的每個(gè)客戶操作系統(tǒng),逐個(gè)發(fā)送所述電源管理命令, 其中,只有在所述其它客戶操作系統(tǒng)中的上一個(gè)客戶操作系統(tǒng)執(zhí)行完所述電源管理命令 后,才向下一個(gè)客戶操作系統(tǒng)發(fā)送所述電源管理命令。
4.如權(quán)利要求1所述的電源管理方法,其特征在于,所述向除所述第一客戶操作系統(tǒng) 外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令,包括向所述其它客戶操作系統(tǒng)同時(shí)發(fā)送所述電源管理命令。
5.如權(quán)利要求1所述的電源管理方法,其特征在于,所述第一客戶操作系統(tǒng)包括有分 別對應(yīng)于每一所述其它客戶操作系統(tǒng)的設(shè)備模塊;進(jìn)一步根據(jù)所述每一所述其它客戶操作系統(tǒng)對應(yīng)的設(shè)備模塊是否接收到所述每一所 述客戶操作系統(tǒng)執(zhí)行完所述電源管理命令時(shí)返回的響應(yīng)消息,判斷所述每一所述客戶操 作系統(tǒng)是否執(zhí)行完所述電源管理命令。
6.如權(quán)利要求1所述的電源管理方法,其特征在于,在向所述其它客戶操作系統(tǒng)發(fā)送 所述電源管理命令之后,所述電源管理方法還包括如果在預(yù)定的超時(shí)時(shí)間內(nèi),所述其它客戶操作系統(tǒng)尚未執(zhí)行完所述電源管理命令, 控制所述第一客戶操作系統(tǒng)放棄執(zhí)行所述電源管理命令。
7.—種計(jì)算機(jī)系統(tǒng),包括虛擬機(jī)管理器;至少兩個(gè)客戶操作系統(tǒng),所述至少兩個(gè)客戶操作系統(tǒng)包括一個(gè)具有直接硬件訪問權(quán) 限的第一客戶操作系統(tǒng);其特征在于,所述計(jì)算機(jī)系統(tǒng)還包括攔截模塊,用于攔截所述第一客戶操作系統(tǒng)發(fā)出的電源管理命令;發(fā)送模塊,用于在攔截到所述電源管理命令后,通過所述虛擬機(jī)管理器向除所述第 一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;執(zhí)行模塊,用于當(dāng)所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電源管理命令后,控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述發(fā)送模塊包括檢測模塊,用于在攔截到所述電源管理命令后,檢測所述計(jì)算機(jī)系統(tǒng)中是否存在除 所述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng),并輸出一檢測結(jié)果;第一處理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中存在所述其它客戶操作 系統(tǒng)時(shí),通過所述虛擬機(jī)管理器向所述其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;第二處理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中不存在所述其它客戶操 作系統(tǒng)時(shí),控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。
9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述虛擬機(jī)管理器包括一ACPI 事件注射模塊,用于向所述其它客戶操作系統(tǒng)注射ACPI中斷,所述ACPI中斷用于指示 所述其它客戶操作系統(tǒng)執(zhí)行所述電源管理命令。
10.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述第一處理模塊包括虛擬電源管理模塊,用于在所述檢測結(jié)果指示所述計(jì)算機(jī)系統(tǒng)中存在所述其它客戶操作系統(tǒng)時(shí),將預(yù)定的標(biāo)志位置位,并從所述其它客戶操作系統(tǒng)中隨機(jī)選擇出第二客戶 操作系統(tǒng),并調(diào)用所述ACPI事件注射模塊向所述第二客戶操作系統(tǒng)注射所述ACPI中 斷;分別對應(yīng)于每一所述其它客戶操作系統(tǒng)的設(shè)備模塊,用于在接收本設(shè)備模塊對應(yīng)的 客戶操作系統(tǒng)在執(zhí)行完所述電源管理命令時(shí)返回的響應(yīng)消息、且所述標(biāo)志位被置位時(shí), 判斷所述其它客戶操作系統(tǒng)是否都已執(zhí)行完所述電源管理命令若是,則啟動(dòng)所述執(zhí)行 模塊;否則,從所述其它客戶操作系統(tǒng)中尚未執(zhí)行所述電源管理命令的客戶操作系統(tǒng)中 隨機(jī)選擇出第三客戶操作系統(tǒng),并調(diào)用所述ACPI事件注射模塊向所述第三客戶操作系統(tǒng) 注射所述ACPI中斷。
11.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述執(zhí)行模塊包括超時(shí)判斷模塊,用于判斷在預(yù)定的超時(shí)時(shí)間內(nèi),所述其它客戶操作系統(tǒng)是否已執(zhí)行 完所述電源管理命令,并輸出一判斷結(jié)果;命令執(zhí)行模塊,用于在所述判斷結(jié)果指示所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電 源管理命令時(shí),控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令;命令放棄模塊,用于在所述判斷結(jié)果指示所述其它客戶操作系統(tǒng)尚未執(zhí)行完所述電 源管理命令時(shí),控制所述第一客戶操作系統(tǒng)放棄執(zhí)行所述電源管理命令。
全文摘要
本發(fā)明提供了一種計(jì)算機(jī)系統(tǒng)的電源管理方法及計(jì)算機(jī)系統(tǒng)。所述電源管理方法包括攔截所述第一客戶操作系統(tǒng)發(fā)出的電源管理命令;在攔截到所述電源管理命令后,通過所述虛擬機(jī)管理器向除所述第一客戶操作系統(tǒng)外的其它客戶操作系統(tǒng)發(fā)送所述電源管理命令;當(dāng)所述其它客戶操作系統(tǒng)都已執(zhí)行完所述電源管理命令后,控制所述第一客戶操作系統(tǒng)執(zhí)行所述電源管理命令。按照本發(fā)明,可以避免包括多個(gè)客戶操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)因執(zhí)行電源管理命令而造成的用戶數(shù)據(jù)丟失或系統(tǒng)硬件損壞。
文檔編號(hào)G06F12/16GK102023887SQ20091009382
公開日2011年4月20日 申請日期2009年9月21日 優(yōu)先權(quán)日2009年9月21日
發(fā)明者陳軍, 陳博 申請人:聯(lián)想(北京)有限公司