欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

加載高級(jí)配置與電源接口命名空間的方法及計(jì)算機(jī)系統(tǒng)的制作方法

文檔序號(hào):6472212閱讀:125來源:國知局
專利名稱:加載高級(jí)配置與電源接口命名空間的方法及計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及虛擬機(jī)技術(shù)領(lǐng)域,具體涉及一種在虛擬機(jī)環(huán)境下加載高級(jí)配置與電源 接口 (ACPI,Advanced Configuration and Power Interface)命名空間的方法及計(jì)算機(jī)系 統(tǒng)。
背景技術(shù)
ACPI是一種開放式工業(yè)規(guī)范,它能夠能使軟、硬件、操作系統(tǒng)(OS),主機(jī)板和外圍 設(shè)備依照一定的方式管理硬件設(shè)備的用電情況。 ACPI體系架構(gòu)中的ACPI層,在受操作系統(tǒng)控制的一段內(nèi)存中維持一個(gè)目錄形式 的指向每個(gè)設(shè)備以及一般目的事件的名字空間,即ACPI命名空間(ACPI Name Space)。 ACPI命名空間是一種樹狀層次結(jié)構(gòu),包含有命名對(duì)象(named objects)等內(nèi)容。這些對(duì) 象(objects)可以是數(shù)據(jù)對(duì)象,控制方法對(duì)象,總線/設(shè)備包對(duì)象等。每個(gè)硬件設(shè)備在 ACPI層中都被描述成一個(gè)對(duì)象,包含有對(duì)這個(gè)設(shè)備特性和操作策略的描述列表,計(jì)算機(jī)系 統(tǒng)中所有類型設(shè)備都是保存在同一個(gè)名字樹下。在計(jì)算機(jī)系統(tǒng)初始化過程中,可以通過 從駐留在物理ACPI BIOS模塊中的ACPI表(ACPI Table)中載入?yún)^(qū)分系統(tǒng)描述表(DSDT, Differentiated System Description Table),以初始化ACPI名字空間。其中,DSDT通常 是OEM廠商提供給ACPI所兼容的操作系統(tǒng)的,DSDT中包含有基本的計(jì)算機(jī)系統(tǒng)的實(shí)現(xiàn)和 配置信息。 ACPI規(guī)范在虛擬機(jī)環(huán)境下使用存在一些問題由于目前的ACPI規(guī)范是為單機(jī)單 操作系統(tǒng)制定的,而在虛擬機(jī)環(huán)境下通常有2個(gè)或者2個(gè)以上的客戶操作系統(tǒng)(GOS,Guest OS)在同時(shí)運(yùn)行。每個(gè)GOS都有各自可以直接或間接訪問的物理硬件設(shè)備或者虛擬硬件設(shè) 備,各個(gè)GOS之間的硬件設(shè)備可能并不完全相同。而對(duì)于包括兩個(gè)或多個(gè)G0S的計(jì)算機(jī)系 統(tǒng)來說,虛擬機(jī)目前的支持還不夠完善不同的G0S所使用的ACPI命名空間是相同的,均是 從物理ACPI BIOS模塊中獲得的,因此是相同的。S卩,在虛擬機(jī)環(huán)境下,現(xiàn)有技術(shù)中GOS的 ACPI命名空間并沒有與該GOS的硬件設(shè)備相一致。例如,當(dāng)某個(gè)GOS包括一個(gè)或多個(gè)虛擬 硬件設(shè)備時(shí),物理ACPI BIOS模塊并沒有與該虛擬硬件設(shè)備對(duì)應(yīng)的對(duì)象。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種加載ACPI命名空間的方法及計(jì)算
機(jī)系統(tǒng),為客戶操作系統(tǒng)加載與該客戶操作系統(tǒng)相一致的ACPI命名空間。 為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供方案如下 —種虛擬機(jī)環(huán)境下加載高級(jí)配置與電源接口 ACPI命名空間的方法,包括以下步 驟 加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件設(shè)備的原始ACPI命名空間; 加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置文件,所述客戶操作系統(tǒng) 硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與所述計(jì)算機(jī)本地物理硬件設(shè)備之間的差
4異信息; 根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處 理,得到一過濾結(jié)果; 將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,上述方法中,所述客戶操作系統(tǒng)硬件差異信息具體包括相對(duì)于所述計(jì)算 機(jī)本地物理硬件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、硬件設(shè)備資源配置的變 化信息和硬件設(shè)備操作策略的變化信息。
優(yōu)選地,上述方法中,所述對(duì)原始ACPI命名空間中的內(nèi)容進(jìn)行過濾處理包括
在所述原始ACPI命名空間的內(nèi)容中,根據(jù)所述硬件設(shè)備的增減信息,刪除所述 客戶操作系統(tǒng)中已裁減的硬件設(shè)備的命名對(duì)象和增加所述客戶操作系統(tǒng)中新增的硬件設(shè) 備的命名對(duì)象,以及根據(jù)所述硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作策略的變化信 息,修改對(duì)應(yīng)的硬件設(shè)備的資源配置和控制方法對(duì)象。 優(yōu)選地,上述方法中,所述將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空 間包括 所述客戶操作系統(tǒng)在初始化ACPI命名空間時(shí),直接將所述過濾結(jié)果載入所述客 戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,上述方法中,所述將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空 間包括 將所述過濾結(jié)果保存到所述客戶操作系統(tǒng)的內(nèi)存段中; 將所述客戶操作系統(tǒng)的區(qū)分系統(tǒng)描述表DSDT的地址修改為所述內(nèi)存段; 所述客戶操作系統(tǒng)在初始化ACPI命名空間時(shí),從所述DSDT的地址對(duì)應(yīng)的內(nèi)存段
中載入所述客戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,上述方法中,所述配置文件中包括多個(gè)客戶操作系統(tǒng)硬件差異信息,所述 多個(gè)客戶操作系統(tǒng)的硬件設(shè)備操作策略的變化信息使得所述多個(gè)客戶操作系統(tǒng)之間不存 在相互沖突的硬件設(shè)備操作策略; 進(jìn)一步根據(jù)所述多個(gè)客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容
進(jìn)行過濾處理,得到對(duì)應(yīng)于所述多個(gè)客戶操作系統(tǒng)的多個(gè)過濾結(jié)果。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng),包括 硬件平臺(tái),所述硬件平臺(tái)包括多個(gè)硬件設(shè)備; 運(yùn)行在所述硬件平臺(tái)上的虛擬機(jī)管理器;以及, 運(yùn)行在所述虛擬機(jī)監(jiān)視器上的客戶操作系統(tǒng), 所述計(jì)算機(jī)系統(tǒng)還包括 系統(tǒng)BIOS模塊,用于加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件設(shè)備的原始ACPI命名空 間; 配置文件加載模塊,用于加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置 文件,所述客戶操作系統(tǒng)硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與所述計(jì)算機(jī)本地 物理硬件設(shè)備之間的差異信息; 過濾模塊,用于根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi) 容進(jìn)行過濾處理,得到一過濾結(jié)果;
第一加載模塊,用于將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述客戶操作系統(tǒng)硬件差異信息具體包括相對(duì)于所
述計(jì)算機(jī)本地物理硬件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、硬件設(shè)備資源配
置的變化信息和硬件設(shè)備操作策略的變化信息。
優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述過濾模塊包括 處理子模塊,用于在所述原始ACPI命名空間的內(nèi)容中,根據(jù)所述硬件設(shè)備的增減
信息,刪除所述客戶操作系統(tǒng)中已裁減的硬件設(shè)備的命名對(duì)象和增加所述客戶操作系統(tǒng)中
新增的硬件設(shè)備的命名對(duì)象,以及根據(jù)所述硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作
策略的變化信息,修改對(duì)應(yīng)的硬件設(shè)備的資源配置信息和控制方法對(duì)象。 優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述第一加載模塊包括直接加載子模塊,用于在所
述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),直接將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的
ACPI命名空間。
優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述第一加載模塊包括 保存子模塊,用于將所述過濾結(jié)果保存到所述客戶操作系統(tǒng)的內(nèi)存段中; 指針修改模塊,用于將所述客戶操作系統(tǒng)的區(qū)分系統(tǒng)描述表DSDT的地址修改為
所述內(nèi)存段; 加載子模塊,用于在所述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),從所述DSDT的地 址對(duì)應(yīng)的內(nèi)存段中載入所述客戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述配置文件中包括多個(gè)客戶操作系統(tǒng)硬件差異信 息,所述多個(gè)客戶操作系統(tǒng)的硬件設(shè)備操作策略的變化信息使得所述多個(gè)客戶操作系統(tǒng)之 間不存在相互沖突的硬件設(shè)備操作策略; 所述過濾模塊包括過濾處理子模塊,用于根據(jù)所述多個(gè)客戶操作系統(tǒng)硬件差異信 息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到對(duì)應(yīng)于所述多個(gè)客戶操作系統(tǒng)的多個(gè) 過濾結(jié)果。 優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述過濾模塊設(shè)置在虛擬機(jī)管理器或客戶操作系統(tǒng)中。
從以上所述可以看出,本發(fā)明實(shí)施例提供的加載ACPI命名空間的方法及計(jì)算機(jī) 系統(tǒng),通過預(yù)先制定包括有各個(gè)G0S硬件差異信息的配置文件,根據(jù)該配置文件對(duì)原始 ACPI命名空間進(jìn)行過濾處理,生成與各個(gè)G0S對(duì)應(yīng)的過濾結(jié)果并載入到對(duì)應(yīng)的G0S的ACPI 命名空間,使得各個(gè)G0S的ACPI命名空間與該GOS的硬件設(shè)備相一致,克服了現(xiàn)有技術(shù)中 G0S的ACPI命名空間與G0S的硬件設(shè)備不一致的缺點(diǎn)。并且,本發(fā)明實(shí)施例中的所述配置 文件中包含各個(gè)GOS的硬件設(shè)備的操作策略的變化信息,該變化信息使得各個(gè)GOS之間不 存在相互沖突的硬件設(shè)備操作策略,從而在GOS根據(jù)配置文件對(duì)原始ACPI命名空間過濾生 成對(duì)應(yīng)于本GOS的過濾結(jié)果時(shí),可以根據(jù)硬件設(shè)備操作策略變化信息,對(duì)原始ACPI命名空 間中的硬件設(shè)備的控制方法對(duì)象進(jìn)行過濾處理,從而后續(xù)各個(gè)GOS加載的ACPI命名空間中 的控制方法對(duì)象在被各自的客戶操作系統(tǒng)調(diào)用執(zhí)行時(shí)不會(huì)導(dǎo)致沖突,從而提高了系統(tǒng)的穩(wěn) 定性和可靠性。


圖1為本發(fā)明實(shí)施例所述加載ACPI命名空間的方法的流程6
圖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í)施例方式
在基于虛擬機(jī)的計(jì)算機(jī)系統(tǒng)中,通常會(huì)存在2個(gè)或2個(gè)以上的虛擬機(jī)(VM,Virtual Machine)。各個(gè)虛擬機(jī)中的客戶操作系統(tǒng)(GOS, Guest OperationSystem)之間相互獨(dú)立, 各個(gè)客戶操作系統(tǒng)各自的硬件設(shè)備可以并不相同。為了使各個(gè)G0S的ACPI命名空間與該 GOS所包括的硬件設(shè)備相一致,本發(fā)明實(shí)施例中預(yù)先制定了包含各個(gè)GOS硬件差異信息的 配置文件,利用該配置文件對(duì)原始(Native)的ACPI命名空間進(jìn)行過濾,以得到與各個(gè)GOS 相一致的ACPI命名空間。以下結(jié)合附圖通過具體實(shí)施例對(duì)本發(fā)明做進(jìn)詳細(xì)的說明。
本發(fā)明實(shí)施例所述加載ACPI命名空間的方法,應(yīng)用在包括有至少一個(gè)GOS的計(jì) 算機(jī)系統(tǒng)中,該計(jì)算機(jī)系統(tǒng)是一個(gè)支持虛擬機(jī)環(huán)境的系統(tǒng),如圖1所示,該方法包括以下步 驟 步驟11,制定包含各個(gè)GOS硬件差異信息的配置文件并保存在所述計(jì)算機(jī)系統(tǒng) 中,所述GOS硬件差異信息是所述客戶操作系統(tǒng)所包括的硬件設(shè)備與計(jì)算機(jī)本地物理硬件 設(shè)備之間的差異信息。 這里,計(jì)算機(jī)本地物理硬件設(shè)備是指所述計(jì)算機(jī)系統(tǒng)中的物理ACPI BIOS模塊中 的ACPI表所描述的硬件設(shè)備。該ACPI表中包括有DSDT,還可能包括有對(duì)DSDT進(jìn)行補(bǔ)充的 第二系統(tǒng)描述表(SSDT, Secondary SystemDescription Table) 。 DSDT和SSDT中包括有定 義塊(definition blocks),定義塊以數(shù)據(jù)和控制方法(編碼成ACPI機(jī)器語言)的形式包 含關(guān)于硬件實(shí)現(xiàn)和配置詳細(xì)信息。 這里,所述客戶操作系統(tǒng)硬件差異信息具體包括相對(duì)于所述計(jì)算機(jī)本地物理硬 件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、硬件設(shè)備資源配置的變化信息和硬件 設(shè)備操作策略的變化信息。即,GOS在所述計(jì)算機(jī)本地物理硬件設(shè)備的基礎(chǔ)上增加或減少 了哪些硬件設(shè)備(可以是虛擬硬件設(shè)備),GOS的硬件設(shè)備的I/O、內(nèi)存和中斷等資源配置 與對(duì)應(yīng)的計(jì)算機(jī)本地物理硬件設(shè)備有何不同,以及GOS的硬件設(shè)備的操作策略與對(duì)應(yīng)的計(jì) 算機(jī)本地物理硬件設(shè)備有何不同。 步驟12,根據(jù)虛擬機(jī)環(huán)境的通常啟動(dòng)流程,在計(jì)算機(jī)系統(tǒng)上電后,首先會(huì)是計(jì)算機(jī) 系統(tǒng)的BIOS模塊啟動(dòng),對(duì)原始ACPI命名空間進(jìn)行初始化,加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件 設(shè)備的原始ACPI命名空間,即在物理內(nèi)存中建立一個(gè)ACPI命名空間,并從駐留在物理ACPI BIOS中的ACPI Tables載入(loading)定義塊到該ACPI命名空間中。
步驟13,計(jì)算機(jī)系統(tǒng)BI0S的初始化工作執(zhí)行完畢后,將系統(tǒng)控制權(quán)交給引導(dǎo)加載 程序(Boot loader)模塊,引導(dǎo)加載程序模塊加載預(yù)先制定的包含各個(gè)GOS硬件信息的配 置文件,并引導(dǎo)虛擬機(jī)管理器(V匪,Virtual MachineMonitor)啟動(dòng);V匪啟動(dòng)完成后申請(qǐng) 一段預(yù)留內(nèi)存,用來保存后續(xù)過濾處理得到的ACPI命名空間的內(nèi)容。 這里,引導(dǎo)加載程序模塊具體可以是LILO (Linux Loader)或GRUB (GrandUnif ied Boot Loader)等各種引導(dǎo)程序。當(dāng)然,還可以將上述包含各個(gè)GOS硬件信息的配置文件固 化在VMM內(nèi)核中,由VMM加載該配置文件。
步驟14, VMM啟動(dòng)完成后,從物理內(nèi)存中找到真實(shí)的原始ACPI命名空間,然后根據(jù) 上述配置文件,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到對(duì)應(yīng)于各個(gè)GOS的過濾結(jié) 果,并將該過濾結(jié)果按一定的規(guī)則存放在步驟13中前述的預(yù)留內(nèi)存中。 這里,所述過濾操作包括在所述原始ACPI命名空間的內(nèi)容中根據(jù)所述硬件設(shè) 備的增減信息,刪除所述客戶操作系統(tǒng)中已刪減的硬件設(shè)備的命名對(duì)象和增加所述客戶操 作系統(tǒng)中新增的硬件設(shè)備的命名對(duì)象;根據(jù)所述硬件設(shè)備資源配置的變化信息,修改對(duì)應(yīng) 的硬件設(shè)備的資源配置;以及根據(jù)所述硬件設(shè)備操作策略的變化信息,修改對(duì)應(yīng)的硬件設(shè) 備的控制方法對(duì)象。 步驟15,V匪引導(dǎo)GOS啟動(dòng),在各個(gè)GOS啟動(dòng)過程中,當(dāng)初始化ACPI時(shí),將步驟14 中得到的對(duì)應(yīng)于該GOS的過濾結(jié)果,作為該GOS的ACPI命名空間的內(nèi)容,載入到該GOS的 ACPI命名空間中。 以下通過舉例,對(duì)上述流程做進(jìn)一步的說明。 請(qǐng)參照?qǐng)D2,圖2示出的是包括一個(gè)DomainO (又稱為服務(wù)操作系統(tǒng)SOS)和一個(gè)
GOS的計(jì)算機(jī)系統(tǒng)。DomainO其實(shí)也是一個(gè)運(yùn)行在V匪之上的操作系統(tǒng),因此也可以看作是
一個(gè)GOS。這里,DomainO是Linix操作系統(tǒng),而GOS是Window操作系統(tǒng)。 首先,需要制定包括各個(gè)客戶操作系統(tǒng)(包括DomainO和GOS)硬件差異信息的配
置文件。 在圖2所示的計(jì)算機(jī)系統(tǒng)上電后,首先計(jì)算機(jī)系統(tǒng)BIOS啟動(dòng),對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行 一系列的硬件設(shè)備檢測以及初始化配置工作,其中包括初始化原始ACPI命名空間讀取物 理ACPI BIOS,在物理內(nèi)存中建立一個(gè)ACPI命名空間,并從駐留在物理ACPI BIOS中的ACPI Tables載入(loading)定義塊到該ACPI命名空間中。 計(jì)算機(jī)系統(tǒng)BIOS的工作執(zhí)行完畢后,將系統(tǒng)控制權(quán)交給引導(dǎo)加載程序模塊,圖2 中具體采用的是Grub程序進(jìn)行引導(dǎo)。Grub加載預(yù)先制定的包含DomainO和GOS硬件信息 的配置文件,并引導(dǎo)V匪啟動(dòng)。 V匪啟動(dòng)完成后,申請(qǐng)一段預(yù)留內(nèi)存,從物理內(nèi)存中找到原始ACPI命名空間,然后 根據(jù)上述配置文件,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到對(duì)應(yīng)于DomainO和GOS 的過濾結(jié)果,并將該過濾結(jié)果按一定的存放規(guī)則存放在所述預(yù)留內(nèi)存中。這里所述存放規(guī) 則是為了后續(xù)可以根據(jù)該存放規(guī)則從預(yù)留內(nèi)存中讀取對(duì)應(yīng)的過濾結(jié)果。
之后,VMM引導(dǎo)DomainO啟動(dòng),DomainO啟動(dòng)完畢后進(jìn)一步再由DomainO創(chuàng)建GOS 并引導(dǎo)GOS啟動(dòng)。對(duì)于采用Linux操作系統(tǒng)的DomainO和采用Windows操作系統(tǒng)的GOS,加 載各自的ACPI命名空間的方式可以有所不同。對(duì)于DomainO,用戶可以修改Li皿x的開源 代碼,使得Linux系統(tǒng)在啟動(dòng)過程中,當(dāng)初始化DomainO的ACPI命名空間時(shí),通過DomainO 中的第一加載模塊直接從所述預(yù)留內(nèi)存中讀取對(duì)應(yīng)的過濾結(jié)果,插入到DomainO的ACPI 命名空間;對(duì)于GOS,由于用戶很難修改Windows代碼,因此可以在創(chuàng)建GOS時(shí),將對(duì)應(yīng)于 GOS的過濾結(jié)果保存到該GOS的內(nèi)存段中,同時(shí)修改固定ACPI描述表(FADT, Fixed ACPI Description Table)中的DSDT的地址,將DSDT的地址修改為上述內(nèi)存段。這樣,當(dāng)Windows 操作系統(tǒng)啟動(dòng)后初始化ACPI命名空間時(shí),會(huì)按照它的執(zhí)行流程,由GOS中的第一加載模塊 從FADT中獲取DSDT的地址,根據(jù)DSDT的地址尋址到所述內(nèi)存段,將所述內(nèi)存段中的內(nèi)容 載入到Windows操作系統(tǒng)的ACPI命名空間。
如上所述,本發(fā)明實(shí)施例通過預(yù)先制定包括有各個(gè)GOS硬件差異信息的配置文 件,根據(jù)該配置文件對(duì)原始ACPI命名空間進(jìn)行過濾處理,生成與GOS對(duì)應(yīng)的過濾結(jié)果并載 入到GOS的ACPI命名空間,從而DomainO和GOS都成功加載了與自身硬件相對(duì)應(yīng)的ACPI命 名空間,克服了現(xiàn)有技術(shù)中GOS的ACPI命名空間與GOS的硬件設(shè)備不一致的缺點(diǎn)。本發(fā)明 實(shí)施例所述方法可以應(yīng)用在包含一個(gè)或多個(gè)GOS的計(jì)算機(jī)系統(tǒng)中。在應(yīng)用于一個(gè)GOS時(shí), 上述配置文件中只需保存該GOS的GOS硬件差異信息;在應(yīng)用于多個(gè)GOS時(shí),上述配置文件 中需要保存多個(gè)GOS硬件差異信息,分別對(duì)應(yīng)于所述多個(gè)GOS,在過濾處理時(shí),分別根據(jù)各 GOS的GOS硬件差異信息,過濾得到各個(gè)GOS的過濾結(jié)果。可以看出,對(duì)于每個(gè)GOS的ACPI 命名空間的加載,本發(fā)明實(shí)施例的處理方式都是相同或類似的。 現(xiàn)有技術(shù)中,當(dāng)兩套或以上GOS同時(shí)運(yùn)行在同一硬件平臺(tái)時(shí),各個(gè)GOS的命名空間 都是相同的,都包括相同的控制方法(Control Method)對(duì)象,同樣的控制方法分別在不同 的GOS中重復(fù)執(zhí)行時(shí),可能會(huì)引起沖突,導(dǎo)致系統(tǒng)錯(cuò)誤的發(fā)生。舉例說明例如,在進(jìn)入休 眠時(shí),GOS首先對(duì)某個(gè)硬件設(shè)備執(zhí)行_PTS (進(jìn)入睡眠狀態(tài)的控制方法),然后DomainO再次 對(duì)該硬件設(shè)備執(zhí)行—PTS,這種情況極易造成系統(tǒng)錯(cuò)誤的產(chǎn)生,反之亦然。又例如,當(dāng)僅需主 GOS擁有熱鍵(Hotkey)功能時(shí),其他GOS的ACPI命名空間中的對(duì)應(yīng)的熱鍵功能的控制方法 可能會(huì)影響主GOS的熱鍵功能。 因此,本實(shí)施例中,在步驟11中制定包含各個(gè)GOS硬件差異信息的配置文件時(shí),還 可以進(jìn)一步通過修改各個(gè)GOS的硬件設(shè)備操作策略,使得各個(gè)GOS之間不存在相互沖突的 硬件設(shè)備操作策略,并將各個(gè)GOS的硬件設(shè)備操作策略的變化信息記錄在配置文件,這樣, 在后續(xù)GOS根據(jù)配置文件對(duì)原始ACPI命名空間過濾生成對(duì)應(yīng)于本GOS的過濾結(jié)果時(shí),可 以根據(jù)硬件設(shè)備的操作策略變化信息,對(duì)原始ACPI命名空間中的硬件設(shè)備的控制方法對(duì) 象進(jìn)行過濾處理,使得后續(xù)加載的各個(gè)GOS的ACPI命名空間中的控制方法對(duì)象在被各自的 客戶操作系統(tǒng)調(diào)用執(zhí)行時(shí)不會(huì)導(dǎo)致沖突,從而提高了系統(tǒng)的穩(wěn)定性和可靠性。例如,對(duì)于 圖2中的計(jì)算機(jī)系統(tǒng),在制定配置文件時(shí),可以在DomainO的硬件設(shè)備操作策略的變化信息 中標(biāo)明去除對(duì)某個(gè)硬件設(shè)備的進(jìn)行睡眠狀態(tài)的控制操作,而GOS中的該硬件設(shè)備操作策略 不做任何改變,這樣,生成的DomainO的過濾結(jié)果中就刪除了該硬件設(shè)備的控制方法對(duì)象_ PTS,而GOS中仍然保留了控制方法對(duì)象_PTS,從而避免了 DomainO和GOS重復(fù)執(zhí)行_PTS導(dǎo) 致的系統(tǒng)錯(cuò)誤等問題。 基于上述加載ACPI命名空間的方法,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng),該 計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)如圖3所示,具體包括 硬件平臺(tái),所述硬件平臺(tái)包括多個(gè)硬件設(shè)備,例如ACPI BIOS模塊、計(jì)算機(jī)系統(tǒng)
BIOS模塊、物理內(nèi)存、引導(dǎo)加載程序模塊等; 運(yùn)行在所述硬件平臺(tái)上的虛擬機(jī)管理器;以及, 運(yùn)行在所述虛擬機(jī)監(jiān)視器上的客戶操作系統(tǒng), 所述硬件平臺(tái)還包括 計(jì)算機(jī)系統(tǒng)BIOS模塊,用于對(duì)原始ACPI命名空間進(jìn)行初始化,加載對(duì)應(yīng)于計(jì)算機(jī) 本地物理硬件設(shè)備的原始ACPI命名空間,即在物理內(nèi)存中建立一個(gè)ACPI命名空間,并從駐 留在物理ACPI BIOS中的ACPI Tables載入(loading)定義塊到該ACPI命名空間中。
配置文件加載模塊,用于加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置文件,所述客戶操作系統(tǒng)硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與計(jì)算機(jī)本地物理 硬件設(shè)備之間的差異信息。這里,所述客戶操作系統(tǒng)差異信息具體包括相對(duì)于所述計(jì)算機(jī) 本地物理硬件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、硬件設(shè)備資源配置的變化 信息和硬件設(shè)備操作策略的變化信息。 在V匪中設(shè)置有過濾模塊,用于根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始 ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到一過濾結(jié)果; 在各個(gè)G0S中均包括有一第一加載模塊,用于將所述過濾結(jié)果載入該GOS的ACPI 命名空間。 上述計(jì)算機(jī)系統(tǒng)中可以包含一個(gè)或多個(gè)GOS。在上述計(jì)算機(jī)系統(tǒng)包含一個(gè)GOS時(shí), 上述配置文件中只需保存該GOS的GOS硬件差異信息;在上述計(jì)算機(jī)系統(tǒng)包含多個(gè)GOS時(shí), 上述配置文件中需要保存多個(gè)G0S硬件差異信息,分別對(duì)應(yīng)于所述多個(gè)G0S,過濾模塊在執(zhí) 行過濾處理時(shí),分別根據(jù)各G0S的G0S硬件差異信息,過濾得到各個(gè)G0S的過濾結(jié)果。
具體的,圖3中的過濾模塊包括 處理子模塊,用于在所述原始ACPI命名空間的內(nèi)容中,根據(jù)所述硬件設(shè)備的增減
信息,刪除所述客戶操作系統(tǒng)中已裁減的硬件設(shè)備的命名對(duì)象和增加所述客戶操作系統(tǒng)中
新增的硬件設(shè)備的命名對(duì)象,以及根據(jù)所述硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作
策略的變化信息,修改對(duì)應(yīng)的硬件設(shè)備的資源配置信息和控制方法對(duì)象。 在G0S為Li皿x操作系統(tǒng)時(shí),優(yōu)選地,該GOS中的第一加載模塊包括一直接加載子
模塊,用于在所述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),直接將所述過濾結(jié)果載入所述客
戶操作系統(tǒng)的ACPI命名空間。 在G0S為Windows操作系統(tǒng)時(shí),優(yōu)選地,該G0S中的第一加載模塊包括 保存子模塊,用于將所述過濾結(jié)果保存到所述客戶操作系統(tǒng)的內(nèi)存段中; 指針修改模塊,用于將所述客戶操作系統(tǒng)的區(qū)分系統(tǒng)描述表DSDT的地址修改為
所述內(nèi)存段; 加載子模塊,用于在所述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),從所述DSDT的地 址對(duì)應(yīng)的內(nèi)存段中載入所述客戶操作系統(tǒng)的ACPI命名空間。 優(yōu)選地,在圖3中存在多個(gè)G0S時(shí),所述配置文件中包括多個(gè)客戶操作系統(tǒng)硬件差 異信息。為了消除多個(gè)GOS中ACPI命名空間中存在沖突的控制方法對(duì)象,可以通過修改各 個(gè)GOS的硬件設(shè)備的操作策略,使得各個(gè)GOS之間不存在相互沖突的硬件設(shè)備操作策略,并 將硬件設(shè)備操作策略的變化信息記錄在配置文件中。此時(shí),優(yōu)選地,所述過濾模塊包括過濾 處理子模塊,用于根據(jù)所述多個(gè)客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容 進(jìn)行過濾處理,得到對(duì)應(yīng)于所述多個(gè)客戶操作系統(tǒng)的多個(gè)過濾結(jié)果,其中,所述多個(gè)過濾結(jié) 果中不存在被所述多個(gè)客戶操作系統(tǒng)重復(fù)執(zhí)行時(shí)會(huì)導(dǎo)致沖突的控制方法對(duì)象。這樣,各個(gè) G0S的ACPI命名空間中的控制方法對(duì)象在被各自的客戶操作系統(tǒng)調(diào)用執(zhí)行時(shí)不會(huì)導(dǎo)致沖 突,從而提高了系統(tǒng)的穩(wěn)定性和可靠性。 圖4示出了本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的另一種結(jié)構(gòu)示意圖。與圖2不同的是, 圖2中,所述過濾模塊設(shè)置在V匪中,而圖4中所述過濾模塊設(shè)置在運(yùn)行Li皿x操作系統(tǒng)的 Domain0中,即通過修改Li皿x操作系統(tǒng)的內(nèi)核代碼,由Li皿x系統(tǒng)來實(shí)現(xiàn)過濾模塊的過濾 功能。
10
綜上所述,本發(fā)明實(shí)施例利用預(yù)先制定的GOS硬件差異信息對(duì)原始ACPI命名空間 進(jìn)行過濾,得到了與GOS對(duì)應(yīng)的ACPI命名空間,使得ACPI命名空間與GOS的硬件設(shè)備相一 致。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種虛擬機(jī)環(huán)境下加載高級(jí)配置與電源接口ACPI命名空間的方法,其特征在于,包括以下步驟加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件設(shè)備的原始ACPI命名空間;加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置文件,所述客戶操作系統(tǒng)硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與所述計(jì)算機(jī)本地物理硬件設(shè)備之間的差異信息;根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到一過濾結(jié)果;將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間。
2. 如權(quán)利要求1所述的方法,其特征在于,所述客戶操作系統(tǒng)硬件差異信息具體包括 相對(duì)于所述計(jì)算機(jī)本地物理硬件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、硬件設(shè) 備資源配置的變化信息和硬件設(shè)備操作策略的變化信息。
3. 如權(quán)利要求2所述的方法,其特征在于, 所述對(duì)原始ACPI命名空間中的內(nèi)容進(jìn)行過濾處理包括在所述原始ACPI命名空間的內(nèi)容中,根據(jù)所述硬件設(shè)備的增減信息,刪除所述客戶操 作系統(tǒng)中已裁減的硬件設(shè)備的命名對(duì)象和增加所述客戶操作系統(tǒng)中新增的硬件設(shè)備的命 名對(duì)象,以及根據(jù)所述硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作策略的變化信息,修 改對(duì)應(yīng)的硬件設(shè)備的資源配置和控制方法對(duì)象。
4. 如權(quán)利要求l所述的方法,其特征在于,所述將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間包括 所述客戶操作系統(tǒng)在初始化ACPI命名空間時(shí),直接將所述過濾結(jié)果載入所述客戶操 作系統(tǒng)的ACPI命名空間。
5. 如權(quán)利要求l所述的方法,其特征在于,所述將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間包括 將所述過濾結(jié)果保存到所述客戶操作系統(tǒng)的內(nèi)存段中; 將所述客戶操作系統(tǒng)的區(qū)分系統(tǒng)描述表DSDT的地址修改為所述內(nèi)存段; 所述客戶操作系統(tǒng)在初始化ACPI命名空間時(shí),從所述DSDT的地址對(duì)應(yīng)的內(nèi)存段中載 入所述客戶操作系統(tǒng)的ACPI命名空間。
6. 如權(quán)利要求2所述的方法,其特征在于,所述配置文件中包括多個(gè)客戶操作系統(tǒng)硬件差異信息,所述多個(gè)客戶操作系統(tǒng)的硬件 設(shè)備操作策略的變化信息使得所述多個(gè)客戶操作系統(tǒng)之間不存在相互沖突的硬件設(shè)備操 作策略;進(jìn)一步根據(jù)所述多個(gè)客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行 過濾處理,得到對(duì)應(yīng)于所述多個(gè)客戶操作系統(tǒng)的多個(gè)過濾結(jié)果。
7. —種計(jì)算機(jī)系統(tǒng),包括 硬件平臺(tái),所述硬件平臺(tái)包括多個(gè)硬件設(shè)備; 運(yùn)行在所述硬件平臺(tái)上的虛擬機(jī)管理器;以及, 運(yùn)行在所述虛擬機(jī)監(jiān)視器上的客戶操作系統(tǒng), 其特征在于,所述計(jì)算機(jī)系統(tǒng)還包括系統(tǒng)BIOS模塊,用于加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件設(shè)備的原始ACPI命名空間;配置文件加載模塊,用于加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置文 件,所述客戶操作系統(tǒng)硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與所述計(jì)算機(jī)本地物 理硬件設(shè)備之間的差異信息;過濾模塊,用于根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn) 行過濾處理,得到一過濾結(jié)果;第一加載模塊,用于將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間。
8. 如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述客戶操作系統(tǒng)硬件差異信息具 體包括相對(duì)于所述計(jì)算機(jī)本地物理硬件設(shè)備,所述客戶操作系統(tǒng)的硬件設(shè)備的增減信息、 硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作策略的變化信息。
9. 如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述過濾模塊包括 處理子模塊,用于在所述原始ACPI命名空間的內(nèi)容中,根據(jù)所述硬件設(shè)備的增減信息,刪除所述客戶操作系統(tǒng)中已裁減的硬件設(shè)備的命名對(duì)象和增加所述客戶操作系統(tǒng)中新 增的硬件設(shè)備的命名對(duì)象,以及根據(jù)所述硬件設(shè)備資源配置的變化信息和硬件設(shè)備操作策 略的變化信息,修改對(duì)應(yīng)的硬件設(shè)備的資源配置信息和控制方法對(duì)象。
10. 如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述第一加載模塊包括直接加載子 模塊,用于在所述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),直接將所述過濾結(jié)果載入所述客 戶操作系統(tǒng)的ACPI命名空間。
11. 如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于, 所述第一加載模塊包括保存子模塊,用于將所述過濾結(jié)果保存到所述客戶操作系統(tǒng)的內(nèi)存段中; 指針修改模塊,用于將所述客戶操作系統(tǒng)的區(qū)分系統(tǒng)描述表DSDT的地址修改為所述 內(nèi)存段;加載子模塊,用于在所述客戶操作系統(tǒng)初始化ACPI命名空間時(shí),從所述DSDT的地址對(duì) 應(yīng)的內(nèi)存段中載入所述客戶操作系統(tǒng)的ACPI命名空間。
12. 如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述配置文件中包括多個(gè)客戶操作系統(tǒng)硬件差異信息,所述多個(gè)客戶操作系統(tǒng)的硬件 設(shè)備操作策略的變化信息使得所述多個(gè)客戶操作系統(tǒng)之間不存在相互沖突的硬件設(shè)備操 作策略;所述過濾模塊包括過濾處理子模塊,用于根據(jù)所述多個(gè)客戶操作系統(tǒng)硬件差異信息, 對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到對(duì)應(yīng)于所述多個(gè)客戶操作系統(tǒng)的多個(gè)過 濾結(jié)果。
13. 如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述過濾模塊設(shè)置在虛擬機(jī)管理器 或客戶操作系統(tǒng)中。
全文摘要
本發(fā)明提供了加載高級(jí)配置與電源接口命名空間的方法及計(jì)算機(jī)系統(tǒng)。所述方法包括加載對(duì)應(yīng)于計(jì)算機(jī)本地物理硬件設(shè)備的原始ACPI命名空間;加載預(yù)先制定的包含客戶操作系統(tǒng)硬件差異信息的配置文件,所述客戶操作系統(tǒng)硬件差異信息是所述客戶操作系統(tǒng)的硬件設(shè)備與計(jì)算機(jī)本地物理硬件設(shè)備之間的差異信息;根據(jù)所述客戶操作系統(tǒng)硬件差異信息,對(duì)原始ACPI命名空間的內(nèi)容進(jìn)行過濾處理,得到一過濾結(jié)果;將所述過濾結(jié)果載入所述客戶操作系統(tǒng)的ACPI命名空間。按照本發(fā)明,可以為客戶操作系統(tǒng)加載與該客戶操作系統(tǒng)相一致的ACPI命名空間。
文檔編號(hào)G06F9/445GK101770379SQ200810247490
公開日2010年7月7日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者周振生, 彭剛, 河野誠一, 薄立興 申請(qǐng)人:北京聯(lián)想軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
高雄市| 绥芬河市| 渭南市| 木里| 思南县| 黔西| 正阳县| 高清| 茶陵县| 民县| 蒙阴县| 通化县| 来宾市| 利辛县| 拜城县| 白城市| 乾安县| 漾濞| 迭部县| 同仁县| 若羌县| 晋宁县| 筠连县| 大悟县| 漠河县| 宁强县| 临澧县| 长武县| 宝清县| 秦皇岛市| 漾濞| 施秉县| 吉木乃县| 綦江县| 富民县| 龙海市| 涞水县| 金阳县| 六安市| 海口市| 高台县|