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

一種計算機及虛擬系統(tǒng)直接訪問計算機硬件的方法

文檔序號:6471215閱讀:261來源:國知局

專利名稱::一種計算機及虛擬系統(tǒng)直接訪問計算機硬件的方法
技術領域
:本發(fā)明涉及計算機領域,特別是指一種基于虛擬技術的計算機以及虛擬系統(tǒng)直接訪問計算機硬件的方法。
背景技術
:在計算機領域的虛擬機
技術領域
中,如圖1所示,虛擬機系統(tǒng)通常包括安裝在計算機硬件平臺上的虛擬機管理器(如Xen中的Hypervisor)以及多個操作系統(tǒng),其中一個操作系統(tǒng)為Domain0,即主操作系統(tǒng),其余為Guest0S,即客戶操作系統(tǒng),在虛擬機環(huán)境下,硬件平臺中的硬件設備可以被Domain0直接使用,但對于GuestOS來講,通常使用的硬件設備是由虛擬機管理器為該GuestOS虛擬的硬件設備。這樣大大影響了GuestOS的性能,為了使GuestOS能夠有更好的對硬件設備的訪問性能,可以在GuestOS直接訪問硬件方面進行改進,而現(xiàn)有的GuestOS直接訪問硬件的方面的設計,只考慮某個PCI設備的直接訪問硬件,沒有在軟件和硬件整體直接訪問的設計,這樣硬件平臺中的設備往往會存在兼容性問題。而且現(xiàn)有的架構,硬件平臺中的某個硬件PCI設備DHA(DirectHardwareAccess,硬件直接訪問)設計時候,只考慮了將硬件PCI設備DHA給某個GuestOS,要想將硬件平臺中的更多的硬件DHA給某個操作系統(tǒng)使用,需要針對每個硬件設備分別進行設計,且需要對DomainO操作系統(tǒng)提出更高的要求,這樣給編程和開發(fā)帶來很多麻煩。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題在硬件方面,可以將某個硬件設備DHA給某個虛擬操作系統(tǒng)使用,但軟件方面并沒有這樣的支持,即對于某個虛擬操作系統(tǒng)來講,BIOS仍是虛擬的,導致該硬件設備對于多個操作系統(tǒng),出現(xiàn)不兼容的問題;另一方面,不能從整體上將硬件平臺中的多個硬件只DHA給某個操作系統(tǒng)使用。
發(fā)明內(nèi)容本發(fā)明要解決的技術問題是提供一種計算機及虛擬系統(tǒng)直接訪問計算機硬件的方法,從整體考慮硬件設備的分配和使用,更好的解決了虛擬系統(tǒng)的硬件和軟件兼容性問題。為解決上述技術問題,本發(fā)明的實施例提供技術方案如下—方面,提供一種計算機,包括硬件平臺,所述硬件平臺上設備具有第一類型設備、第二類型設備及第三類型設備;虛擬機管理模塊,安裝有虛擬機管理器;第一操作模塊,安裝有主操作系統(tǒng);第二操作模塊,安裝有客戶操作系統(tǒng),所述客戶操作系統(tǒng)安裝在所述虛擬機管理器上;所述虛擬機管理模塊包括第一類型設備配置模塊,用于將所述第一類型設備直接配置給所述主操作系統(tǒng)使用,所述第一類型設備為專屬于所述主操作系統(tǒng)使用的設備;第二類型設備配置模塊,用于將所述第二類型設備直接配置給所述客戶操作系統(tǒng)使用,所述第二類型設備為專屬于所述客戶操作系統(tǒng)使用的設備;第三類型設備配置模塊,用于對所述硬件平臺中的第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,并將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用。優(yōu)選的,所述第一類型設備包括PCI設備和所述主操作系統(tǒng)使用的BIOS;所述第二類型設備包括PCI設備,第一類型時鐘,高級配置電源接口和所述客戶操作系統(tǒng)使用的BIOS;所述第三類型設備包括第二類型時鐘、中斷控制器和端口模式寄存器。優(yōu)選的,所述第一類型時鐘包括實時時鐘,高級配置電源接口計時器時鐘;所述第二類型時鐘包括可編程間隔定時器時鐘,高精度計時器時鐘;所述中斷控制器包括中斷控制器,高級可編程中斷控制器;所述PCI設備包括網(wǎng)卡。優(yōu)選的,所述第二類型設備配置模塊包括PCI配置模塊,用于為所述PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);1/0配置模塊,用于為所述PCI設備和所述高級配置電源接口配置1/0端口;內(nèi)存配置模塊,用于為所述PCI設備和所述高級配置電源接口配置內(nèi)存資源;中斷配置模塊,用于為所述PCI設備建立所述中斷控制器模式和所述高級可編程中斷控制器模式的中斷號的映射關系。優(yōu)選的,所述客戶操作系統(tǒng)使用的BIOS包括第一處理模塊,用于修改內(nèi)存分布表中的所述高級配置電源接口內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照所述新內(nèi)存分布表為所述客戶操作系統(tǒng)提供真實的內(nèi)存資源;第二處理模塊,用于修改對稱多處理系統(tǒng)表,生成一新對稱多處理系統(tǒng)表,按照所述新對稱多處理系統(tǒng)表為所述客戶操作系統(tǒng)提供虛擬的高級可編程中斷控制器;第三處理模塊,用于修改虛擬高級配置電源接口對應的MADT表,生成一新MADT表,按照所述新MADT表為所述客戶操作系統(tǒng)提供真實的高級配置電源接口。優(yōu)選的,所述第三類型設備配置模塊包括1/0配置模塊,用于為虛擬的所述第二類型時鐘、虛擬的所述中斷控制器配置I/0端口;內(nèi)存配置模塊,用于為虛擬的所述第二類型時鐘、虛擬的所述中斷控制器配置虛擬內(nèi)存。優(yōu)選的,所述虛擬的所述中斷控制器包括1/0端口的虛擬中斷控制器和/或CPU的虛擬中斷控制器。優(yōu)選的,所述第一類型設備配置模塊包括PCI配置模塊,用于為所述PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);6I/O配置模塊,用于為所述PCI設備配置I/O端口;內(nèi)存配置模塊,用于為所述PCI設備配置內(nèi)存資源。另一方面,還提供一種虛擬系統(tǒng)直接訪問計算機硬件的方法,包括將計算機硬件平臺中的第一類型設備直接配置給所述計算機的主操作系統(tǒng)使用;將計算機硬件平臺中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用;對計算機硬件平臺中的第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,并將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用。優(yōu)選的,所述將計算機硬件平臺中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用的步驟包括為所述第二類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);為所述第二類型設備中的PCI設備和高級配置電源接口配置1/0端口;為所述第二類型設備中的PCI設備和高級配置電源接口配置內(nèi)存資源;為所述第二類型設備中的PCI設備建立中斷控制器模式和高級可編程中斷控制器模式的中斷號的映射關系。優(yōu)選的,上述方法還包括修改計算機的BIOS中的內(nèi)存分布表中的所述高級配置電源接口內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照所述新內(nèi)存分布表為所述客戶操作系統(tǒng)提供真實的內(nèi)存資源;修改計算機的BIOS中的對稱多處理系統(tǒng)表,生成一新對稱多處理系統(tǒng)表,按照所述新對稱多處理系統(tǒng)表為所述客戶操作系統(tǒng)提供虛擬的高級可編程中斷控制器;修改計算機的BIOS中的虛擬高級配置電源接口對應的MADT表,生成一新MADT表,按照所述新MADT表為所述客戶操作系統(tǒng)提供真實的高級配置電源接口。優(yōu)選的,所述將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用的步驟包括為虛擬的所述第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器配置I/O端口;為虛擬的所述第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器配置虛擬內(nèi)存。優(yōu)選的,所述將計算機硬件平臺中的第一類型設備直接配置給所述主操作系統(tǒng)使用的步驟包括為所述第一類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);為所述第一類型設備中的PCI設備配置1/0端口。為所述第一類型設備中的PCI設備配置內(nèi)存資源。本發(fā)明的實施例具有以下有益效果上述技術方案通過將硬件平臺中的第二類型設備直接給客戶操作系統(tǒng)使用,將第三類型設備虛擬給主操作系統(tǒng)和客戶操作系統(tǒng)使用,將第一類型設備直接給主操作系統(tǒng)使用,將操作系統(tǒng)對硬件設備的控制放在虛擬機管理器中,統(tǒng)一考慮設備的分配和使用,從整體上將硬件平臺中的硬件只直接DHA給某個操作系統(tǒng)使用,并且跟主板的BIOS使用相結合,更好的解決了虛擬系統(tǒng)的硬件和軟件兼容性問題。圖1為現(xiàn)有的虛擬機系統(tǒng)架構示意圖;圖2為本發(fā)明的實施例計算機架構示意圖;圖3為圖2所示計算機的一具體架構示意圖;圖4為圖3所示計算機的一具體架構示意圖;圖5為本發(fā)明的實施例虛擬系統(tǒng)直接訪問計算機硬件的方法流程示意圖。具體實施例方式為使本發(fā)明的實施例要解決的技術問題、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施例進行詳細描述。本發(fā)明的實施例針對現(xiàn)有技術中硬件設備在被虛擬操作系統(tǒng)直接訪問的時候,計算機的BIOS中,該硬件設備的相關信息并沒有相應地修改為能夠被虛擬操作系統(tǒng)直接使用的狀態(tài),也就是說,該BIOS對于虛擬操作系統(tǒng)來講是虛擬的,而不是真實的,這樣虛擬操作系統(tǒng)在直接訪問該硬件設備時,會出現(xiàn)計算機的多個操作系統(tǒng)(包括Domain0和多個GuestOS)出現(xiàn)不兼容的現(xiàn)象,以及當該硬件設備DHA給其中一個GuestOS使用時,該Domain0仍然能夠控制和使用該硬件設備,要想將該硬件設備只DHA給GuestOS使用時,需要對Domain0進行設計,給編程帶來很多麻煩的問題,提供一種計算機及虛擬系統(tǒng)直接訪問計算機硬件的方法,將操作系統(tǒng)對硬件設備的控制放在虛擬機管理器中,統(tǒng)一考慮設備的分配和使用,減少編程開發(fā)過程中的問題。如圖2所示,本發(fā)明的實施例計算機,包括硬件平臺,具有第一類型設備、第二類型設備及第三類型設備,該硬件平臺包括計算機的真實物理設備,如主板,以及主板上任一硬件設備,如聲卡,PCI設備,時鐘,中斷控制器,BIOS,南橋芯片等;虛擬機管理模塊,安裝有虛擬機管理器VMM(VirtualMachineManager),如XEN中的Hypervisor;第一操作模塊,安裝有第一操作系統(tǒng),如Domain0主操作系統(tǒng);第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理器上,該第二操作系統(tǒng)如客戶操作系統(tǒng)GuestOS;其中,所述虛擬機管理模塊包括第一類型設備配置模塊,用于將所述第一類型設備直接配置給所述主操作系統(tǒng)使用,所述第一類型設備為專屬于所述主操作系統(tǒng)使用的設備;第二類型設備配置模塊,用于將所述第二類型設備直接配置給所述客戶操作系統(tǒng)使用,所述第二類型設備為專屬于所述客戶操作系統(tǒng)使用的設備;第三類型設備配置模塊,用于對所述硬件平臺中的第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,并將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操8作系統(tǒng)使用。該實施例通過將硬件平臺中的第二類型設備直接給客戶操作系統(tǒng)使用,將第三類型設備虛擬給主操作系統(tǒng)和客戶操作系統(tǒng)使用,將第一類型設備直接給主操作系統(tǒng)使用,將操作系統(tǒng)對硬件設備的控制放在虛擬機管理器中,統(tǒng)一考慮設備的分配和使用,使硬件設備直接只DHA給某個操作系統(tǒng)使用,減少了開發(fā)過程中的問題,并且跟主板的BIOS使用相結合,更好的解決了虛擬系統(tǒng)的硬件和軟件兼容性問題。如圖3所示,在上述圖2所示實施例的基礎上,上述第二類型設備包括PCI設備,第一類型時鐘,高級配置電源接口(ACPI)和BIOS;當然該第二類型設備還包括其他的計算機設備,如傳統(tǒng)的計算機設備,也可以說,該第一類型的設備包括除虛擬機管理器需要為主操作系統(tǒng)和客戶操作系統(tǒng)虛擬的設備以及被主操作系統(tǒng)直接使用的設備之外的所有設備,如還可以包括FLASH設備,該第二類型設備在虛擬機管理模塊中進行配置和管理,可以只被DHA給客戶操作系統(tǒng)使用;該第一類型時鐘包括實時時鐘(RTC時鐘),高級配置電源接口計時器時鐘(PM時鐘);所述第三類型設備包括第二類型時鐘、中斷控制器和端口模式寄存器;該第二類型時鐘包括可編程間隔定時器時鐘(PIT時鐘),高精度計時器時鐘(HPET時鐘);該中斷控制器包括中斷控制器(PIC),高級可編程中斷控制器(APIC);所述第一類型設備包括PCI設備和主操作系統(tǒng)使用的BIOS,該PCI設備可以為網(wǎng)卡等,該第一類型設備在虛擬機管理模塊中被控制,也可以只被DHA給主操作系統(tǒng)使用,如此處的網(wǎng)卡,就對客戶操作系統(tǒng)設置為禁用,而對主操作系統(tǒng)開放。對于計算機來講,主板上的BIOS只有一個,因此,上述第二類型設備中所包括的客戶操作系統(tǒng)使用的BIOS和第一類型設備中所包括的主操作系統(tǒng)使用的BIOS為同一個BIOS,在實際的設計中,在VMM中將該主板的BIOS設置為共享,該BIOS就可以被主操作系統(tǒng)直接訪問,也可以被該客戶操作系統(tǒng)直接訪問。該BIOS為主操作系統(tǒng)訪問某一硬件設備或者客戶操作系統(tǒng)訪問某一硬件設備提供硬件信息支持。為了使某一操作系統(tǒng),如GuestOS能夠直接訪問某一硬件設備,需要為該GuestOS配置該硬件設備,因此,如圖4所示,在上述實施例的基礎上,上述第二類型設備配置模塊包括PCI配置模塊,用于為上述第二類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);PCI總線配置空間是容量為256字節(jié)并具有特定記錄結構的一個地址空間,該空間分為頭標區(qū)和設備相關區(qū)兩部分。在每個域中,設置該PCI設備必須的和與該PCI設備相關的寄存器。一個設備的配置空間不僅在系統(tǒng)自舉時可以訪問,在其他時間也可以訪問;頭標區(qū)的長度為64字節(jié),偏移地址從00H到3FH,該域中的各個域用來識別各自不同的設備,并使設備能以一般的方法控制。每個設備都必須按照該區(qū)的格式和規(guī)定進行設置。而配置空間的其余192字節(jié)可以因設備而異;在系統(tǒng)啟動時,系統(tǒng)軟件可能需要掃描PCI總線,以便確定總線上實際連接的設備。為此,配置軟件讀取每個PCI槽位上的設備供應商識別代碼。如果所讀取的位置上不存在設備,則主橋必須準確無誤地報道出來。OFFFH是一個非法的設備供應商識別碼。如果設備不存在,則主橋可以通過返回OFFFH作為設備配置空間寄存器的讀出值;頭標區(qū)的分類代碼寄存器為只讀寄存器,用來標識設備的總體功能和特定的寄存器級編程接口。該寄存器分為三段,每段占一個字節(jié)。高位字節(jié)在(BH處,是一個基本分類代碼,對設備的功能進行粗略的分類(如02H表示網(wǎng)絡控制器、03H表示顯示控制器等)。中間字節(jié)在OAH處,它對設備的功能給予更精確、更詳細的分類。低位字節(jié)在09H處,用來標識一個特定的寄存器級編程接口(如果存在),以使與設備無關的軟件可以與設備交互作用;1/0配置模塊,用于為上述PCI設備和高級配置電源接口(ACPI)配置1/0端口;對于PCI設備來講,可以通過0XCF8,OXCFC訪問PCI總線配置空間,從該配置空間中讀取該PCI設備的相關信息;以使操作系統(tǒng)能夠對該PCI設備進行訪問;內(nèi)存配置模塊,用于為上述PCI設備和高級配置電源接口(ACPI)配置內(nèi)存資源;以使操作系統(tǒng)能夠直接訪問該PCI設備;中斷配置模塊,用于為所述PCI設備建立上述中斷控制器模式(PIC)和高級可編程中斷控制器模式(APIC)的中斷號的映射關系,以使操作系統(tǒng)能夠直接訪問該PCI設備;操作系統(tǒng)一般用PIC中斷方式,只有16中斷號,在啟動后會改成APIC工作模式,PCI設備的中斷一般會大于16,真實硬件是工作在APIC模式,所以中斷映射有兩種1.客戶操作系統(tǒng)工作在APIC模式,該客戶操作系統(tǒng)啟動時和啟動后使用真實硬件設備的中斷號一樣,此時,PIC中斷控制方式和APIC中斷控制方式下的中斷號是一一對應的;2.客戶操作系統(tǒng)工作在PIC模式,要通過南橋寄存器找出這兩種中斷的映射關系。針對上述第二類型設備,在直接被客戶操作系統(tǒng)使用時,除了上述的硬件的相關配置,還需要對BIOS中的軟件進行相應的修改,讓該BIOS也被客戶操作系統(tǒng)使用,而不是使用虛擬的BIOS,因此,該客戶操作使用的BIOS包括第一處理模塊,用于修改內(nèi)存分布表中的高級配置電源接口(ACPI)內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照該新內(nèi)存分布表為所述客戶操作系統(tǒng)提供真實的內(nèi)存資源;該內(nèi)存分布表是中斷INT15的E820對應的內(nèi)存分布表,修改之后,使客戶操作系統(tǒng)能夠直接使用真實內(nèi)存;第二處理模塊,用于修改對稱多處理系統(tǒng)表(SMPtable),生成一新對稱多處理系統(tǒng)表(SMPtable),按照該新對稱多處理系統(tǒng)表(SMPtable)為客戶操作系統(tǒng)提供虛擬的高級可編程中斷控制器(APIC),在修改該SMPtable時,具體來講,根據(jù)虛擬的APIC的ID的APIC類型進行修改;第三處理模塊,用于修改虛擬高級配置電源接口(ACPI)對應的MADT表,生成一新MADT表,按照所述新MADT表為所述客戶操作系統(tǒng)提供真實的高級配置電源接口(ACPI),具體來講,根據(jù)ACPI規(guī)范和XEN虛擬的APIC,在原來MADTtable重新生成新的MADTtable。另外,還需要在BIOS中對虛擬平臺進行初始化,主要包括中斷控制PIC的初始化以及系統(tǒng)時鐘的初始化,保證虛擬操作系統(tǒng)能夠正常使用硬件設備。上述第三類型設備配置模塊包括1/0配置模塊,用于為虛擬第二類型時鐘、虛擬中斷控制器配置1/0端口;內(nèi)存配置模塊,用于為虛擬第二類型時鐘、虛擬中斷控制器配置虛擬內(nèi)存。其中,虛擬中斷控制器包括I/O端口的虛擬中斷控制器和/或CPU的虛擬中斷控制器。另外,為了使主操作系統(tǒng)對第一類型設備中的PCI設備進行訪問,所述第一類型設備配置模塊包括PCI配置模塊,用于為所述PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);該PCI設備,如網(wǎng)卡,該網(wǎng)卡直接被主操作系統(tǒng)使用;I/O配置模塊,用于為所述PCI設備配置I/O端口,該網(wǎng)卡的I/O端口只對主操作系統(tǒng)開放,對客戶操作系統(tǒng)設為禁用;內(nèi)存配置模塊,用于為所述PCI設備配置內(nèi)存資源。上述所有實施例中,第一操作系統(tǒng)和第二操作系統(tǒng)是為描述方便所用,并不用于限定第一操作系統(tǒng)是Domain0,第二操作系統(tǒng)是Guest0S,當然也可以第二操作系統(tǒng)是Domain0,第一操作系統(tǒng)是GuestOS,且虛擬的GuestOS還可以為多個。綜上,本發(fā)明的實施例通過讓一個主虛擬系統(tǒng)(如GuestOS)跟在幾乎跟真實一樣的硬件平臺的運行。將硬件設備訪問控制放到虛擬機管理器中,統(tǒng)一考慮設備的分配和使用,使硬件平臺中的硬件直接只DHA給某個操作系統(tǒng)使用,并且跟主板的BIOS使用相結合,減少開發(fā)過程中的問題,通過對計算機的BIOS中相關信息的修改,該BIOS對于虛擬操作系統(tǒng)也是真實的BIOS,這樣虛擬操作系統(tǒng)在直接訪問該硬件設備時,不會出現(xiàn)計算機的虛擬系統(tǒng)的硬件和軟件兼容性問題。如圖5所示,本發(fā)明的實施例還提供一種虛擬系統(tǒng)直接訪問計算機硬件的方法,包括步驟S51,將計算機硬件平臺中的第一類型設備直接配置給所述計算機的主操作系統(tǒng)使用,該第一類型設備為專屬于主操作系統(tǒng)使用的設備;步驟S52,將計算機硬件平臺中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用,該第二類型設備為專屬于所述客戶操作系統(tǒng)使用的設備;步驟S53對計算機硬件平臺中的第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用。其中,這里的第一類型設備包括PCI設備和主操作系統(tǒng)使用的BIOS,該PCI設備可以為網(wǎng)卡,也可以為其他的PCI設備,如聲卡,F(xiàn)LASH設備等;第二類型設備包括PCI設備,第一類型時鐘,高級配置電源接口(ACPI)和客戶操作系統(tǒng)使用BIOS;該第一類型時鐘包括實時時鐘(RTC時鐘),高級配置電源接口計時器時鐘(PM時鐘);該PCI設備可以包括除網(wǎng)卡以外的所有PCI設備;第三類型設備包括第二類型時鐘、中斷控制器和端口模式寄存器;該第二類型時鐘包括可編程間隔定時器時鐘(PIT時鐘),高精度計時器時鐘(HPET時鐘);該中斷控制器包括中斷控制器(PIC),高級可編程中斷控制器(APIC)。其中,該第二類型設備中的客戶操作系統(tǒng)使用的BIOS和第一類型設備中的主操作系統(tǒng)使用的BIOS是同一個BIOS,在實際設計中,將計算機主板的BIOS設置為共享,就可以讓主操作系統(tǒng)和客戶操作系統(tǒng)都能對該真實的BIOS進行訪問。其中,步驟S52中,對計算機硬件設備中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用的步驟包括為所述第二類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);為所述第二類型設備中的PCI設備和高級配置電源接口(ACPI)配置1/0端口;為所述第二類型設備中的PCI設備和所述高級配置電源接口(ACPI)配置內(nèi)存資源;為所述第二類型設備中的PCI設備建立中斷控制器模式(PIC)和高級可編程中斷控制器模式(APIC)的中斷號的映射關系。該映射關系可能是一對一的映射,也可能不是一對一的映射,如1.GuestOS工作在APIC模式,該GuestOS啟動時和啟動后使用真實硬件設備的中斷號一樣,此時,PIC中斷控制方式和APIC中斷控制方式下的中斷號是一一對應的;2.GuestOS工作在PIC模式,要通過南橋寄存器找出這兩種中斷的映射關系,這種情況下不是一對一,Guest0S啟動時,真實硬件的中斷號有16個,而在啟動后,虛擬APIC下,中斷號有256個,16個中斷號與256個中斷號的映射關系可以通過上述南橋寄存器獲得。為了使GuestOS能夠訪問真實的硬件,在上述為第二類型設備進行配置時,還需要進行軟件方面的支持,即對BIOS中的硬件相關信息進行修改,主要包括修改計算機的BIOS中的內(nèi)存分布表中的高級配置電源接口(ACPI)內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照所述新內(nèi)存分布表為GuestOS提供真實的內(nèi)存資源;同時,還應該修改計算機的BIOS中的對稱多處理系統(tǒng)表(SMPtable),生成一新對稱多處理系統(tǒng)表(SMPtable),按照該新對稱多處理系統(tǒng)表(SMPtable)為GuestOS提供虛擬的高級可編程中斷控制器APIC;同時,還應該修改計算機的BIOS中的虛擬高級配置電源接口(ACPI)對應的MADT表,生成一新MADT表,按照所述新MADT表為GuestOS提供真實的高級配置電源接口ACPI。除了上述第二類型設備可以被GuestOS直接使用外,還有第三類型設備,需要虛擬給GuestOS和DomainO使用,因此,步驟S53中,將所述虛擬第三類型設分別備配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用的步驟包括為虛擬的所述第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器(APIC)配置1/0端口;為虛擬的第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器(APIC)配置虛擬內(nèi)存。對于Domain0系統(tǒng)來講,該Domain0也應當還可以直接使用硬件平臺中的PCI設備以及BIOS,因此,步驟S51中,將計算機硬件設備中的第一類型設備直接配置給所述計算機的主操作系統(tǒng)使用的步驟包括為第一類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用12于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū)。為所述第一類型設備中的PCI設備配置1/0端口。為所述第一類型設備中的PCI設備配置內(nèi)存資源。本發(fā)明的方法實施例通過讓一個主虛擬系統(tǒng)(GuestOS)跟在幾乎跟真實一樣的硬件平臺的運行。將硬件設備訪問控制放到虛擬機管理器中,即對第一類型設備,第二類型設備以及第三類型設備的訪問控制都放在虛擬機管理器中,統(tǒng)一考慮設備的分配和使用,使硬件設備直接只DHA給某個操作系統(tǒng)使用,減少將硬件設備DHA給某操作系統(tǒng)的開發(fā)過程中的問題,通過對計算機的BIOS中相關信息的修改,該BIOS對于虛擬操作系統(tǒng)也是真實的BIOS,這樣虛擬操作系統(tǒng)在直接訪問該硬件設備時,跟主板的BIOS使用相結合,不會出現(xiàn)計算機的虛擬系統(tǒng)的硬件和軟件兼容性問題。以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本
技術領域
的普通技術人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。權利要求一種計算機,包括硬件平臺,所述硬件平臺上設備具有第一類型設備、第二類型設備及第三類型設備;虛擬機管理模塊,安裝有虛擬機管理器;第一操作模塊,安裝有主操作系統(tǒng);第二操作模塊,安裝有客戶操作系統(tǒng),所述客戶操作系統(tǒng)安裝在所述虛擬機管理器上;其特征在于,所述虛擬機管理模塊包括第一類型設備配置模塊,用于將所述第一類型設備直接配置給所述主操作系統(tǒng)使用,所述第一類型設備為專屬于所述主操作系統(tǒng)使用的設備;第二類型設備配置模塊,用于將所述第二類型設備直接配置給所述客戶操作系統(tǒng)使用,所述第二類型設備為專屬于所述客戶操作系統(tǒng)使用的設備;第三類型設備配置模塊,用于對所述第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,并將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用。2.根據(jù)權利要求l所述的計算機,其特征在于,所述第一類型設備包括PCI設備和所述主操作系統(tǒng)使用的BIOS;所述第二類型設備包括PCI設備,第一類型時鐘,高級配置電源接口和所述客戶操作系統(tǒng)使用的BIOS;所述第三類型設備包括第二類型時鐘、中斷控制器和端口模式寄存器。3.根據(jù)權利要求2所述的計算機,其特征在于,所述第一類型時鐘包括實時時鐘,高級配置電源接口計時器時鐘;所述第二類型時鐘包括可編程間隔定時器時鐘,高精度計時器時鐘;所述中斷控制器包括中斷控制器,高級可編程中斷控制器;所述PCI設備包括網(wǎng)卡。4.根據(jù)權利要求2或3所述的計算機,其特征在于,所述第二類型設備配置模塊包括PCI配置模塊,用于為所述PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲所述PCI設備相關信息的設備相關區(qū);1/0配置模塊,用于為所述PCI設備和所述高級配置電源接口配置1/0端口;內(nèi)存配置模塊,用于為所述PCI設備和所述高級配置電源接口配置內(nèi)存資源;中斷配置模塊,用于為所述PCI設備建立所述中斷控制器模式和所述高級可編程中斷控制器模式的中斷號的映射關系。5.根據(jù)權利要求4所述的計算機,其特征在于,所述客戶操作系統(tǒng)使用的BIOS包括第一處理模塊,用于修改內(nèi)存分布表中的所述高級配置電源接口內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照所述新內(nèi)存分布表為所述客戶操作系統(tǒng)提供真實的內(nèi)存資源;第二處理模塊,用于修改對稱多處理系統(tǒng)表,生成一新對稱多處理系統(tǒng)表,按照所述新對稱多處理系統(tǒng)表為所述客戶操作系統(tǒng)提供虛擬的高級可編程中斷控制器;第三處理模塊,用于修改虛擬高級配置電源接口對應的MADT表,生成一新MADT表,按照所述新MADT表為所述客戶操作系統(tǒng)提供真實的高級配置電源接口。6.根據(jù)權利要求2或3所述的計算機,其特征在于,所述第三類型設備配置模塊包括1/0配置模塊,用于為虛擬的所述第二類型時鐘、虛擬的所述中斷控制器配置1/0端□;內(nèi)存配置模塊,用于為虛擬的所述第二類型時鐘、虛擬的所述中斷控制器配置虛擬內(nèi)存。7.根據(jù)權利要求6所述的計算機,其特征在于,所述虛擬的所述中斷控制器包括I/0端口的虛擬中斷控制器和/或CPU的虛擬中斷控制器。8.根據(jù)權利要求2或3所述的計算機,其特征在于,所述第一類型設備配置模塊包括PCI配置模塊,用于為所述PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);1/0配置模塊,用于為所述PCI設備配置1/0端口;內(nèi)存配置模塊,用于為所述PCI設備配置內(nèi)存資源。9.一種虛擬系統(tǒng)直接訪問計算機硬件的方法,其特征在于,包括將計算機硬件平臺中的第一類型設備直接配置給所述計算機的主操作系統(tǒng)使用,所述第一類型設備為專屬于所述主操作系統(tǒng)使用的設備;將計算機硬件平臺中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用,所述第二類型設備為專屬于所述客戶操作系統(tǒng)使用的設備;對計算機硬件平臺中的第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用。10.根據(jù)權利要求9所述的方法,其特征在于,所述將計算機硬件平臺中的第二類型設備直接配置給所述計算機的客戶操作系統(tǒng)使用的步驟包括為所述第二類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);為所述第二類型設備中的PCI設備和高級配置電源接口配置1/0端口;為所述第二類型設備中的PCI設備和高級配置電源接口配置內(nèi)存資源;為所述第二類型設備中的PCI設備建立中斷控制器模式和高級可編程中斷控制器模式的中斷號的映射關系。11.根據(jù)權利要求9或IO所述的方法,其特征在于,還包括修改計算機的BIOS中的內(nèi)存分布表中的所述高級配置電源接口內(nèi)存地址和內(nèi)存大小,生成一新內(nèi)存分布表,按照所述新內(nèi)存分布表為所述客戶操作系統(tǒng)提供真實的內(nèi)存資源;修改計算機的BIOS中的對稱多處理系統(tǒng)表,生成一新對稱多處理系統(tǒng)表,按照所述新對稱多處理系統(tǒng)表為所述客戶操作系統(tǒng)提供虛擬的高級可編程中斷控制器;修改計算機的BIOS中的虛擬高級配置電源接口對應的MADT表,生成一新MADT表,按照所述新MADT表為所述客戶操作系統(tǒng)提供真實的高級配置電源接口。12.根據(jù)權利要求9所述的方法,其特征在于,所述將所述虛擬第三類型設備分別配置給所述主操作系統(tǒng)和所述客戶操作系統(tǒng)使用的步驟包括為虛擬的所述第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器配置1/0端□;為虛擬的所述第三類型設備中的虛擬的第二類型時鐘、虛擬的中斷控制器配置虛擬內(nèi)存。13.根據(jù)權利要求9所述的方法,其特征在于,所述將計算機硬件平臺中的第一類型設備直接配置給所述計算機的主操作系統(tǒng)使用的步驟包括為所述第一類型設備中的PCI設備配置PCI配置空間,所述PCI配置空間至少包括用于標識所述PCI設備的頭標區(qū)和用于存儲區(qū)所述PCI設備相關信息的設備相關區(qū);為所述第一類型設備中的PCI設備配置1/0端口;為所述第一類型設備中的PCI設備配置內(nèi)存資源。全文摘要本發(fā)明提供一種計算機及虛擬系統(tǒng)直接訪問計算機硬件的方法,其中計算機包括硬件平臺,具有第一類型設備、第二類型設備及第三類型設備;虛擬機管理模塊;第一操作模塊;第二操作模塊;虛擬機管理模塊包括第一類型設備配置模塊,用于將第一類型設備直接配置給主操作系統(tǒng)使用;第二類型設備配置模塊,用于將第二類型設備直接配置給客戶操作系統(tǒng)使用;第三類型設備配置模塊,用于對第三類型設備進行虛擬,產(chǎn)生虛擬第三類型設備,并將虛擬第三類型設備分別配置給主操作系統(tǒng)和客戶操作系統(tǒng)使用。本發(fā)明整體考慮硬件設備的分配和使用,且與BIOS使用相結合,更好的解決虛擬系統(tǒng)的硬件和軟件兼容性。文檔編號G06F9/455GK101739283SQ20081022693公開日2010年6月16日申請日期2008年11月20日優(yōu)先權日2008年11月20日發(fā)明者宋春雨,柯克,湯良申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
英山县| 息烽县| 田阳县| 弥勒县| 南安市| 亳州市| 时尚| 平远县| 舟山市| 镇远县| 翼城县| 闽清县| 南汇区| 霍林郭勒市| 四川省| 横山县| 乐平市| 朝阳区| 高青县| 防城港市| 莱州市| 长寿区| 沙坪坝区| 成安县| 南汇区| 瑞安市| 抚宁县| 嘉祥县| 那曲县| 哈密市| 襄汾县| 萨迦县| 古交市| 衡水市| 昔阳县| 池州市| 禄劝| 合阳县| 黄骅市| 灵丘县| 深圳市|