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

虛擬化通用異步接收器-發(fā)送器接口的制作方法

文檔序號:6558581閱讀:109來源:國知局
專利名稱:虛擬化通用異步接收器-發(fā)送器接口的制作方法
技術(shù)領(lǐng)域
本公開涉及數(shù)據(jù)處理,具體來說,涉及虛擬化裝置接口。
背景技術(shù)
現(xiàn)代個人計算機(PC)獲益于過去數(shù)十年的許多技術(shù)創(chuàng)新。通過增加處理器速度以及增加輸入-輸出(I/O)總線上的數(shù)據(jù)傳輸速度來實現(xiàn)性能增益。I/O速度的發(fā)展在很大程度上通過實現(xiàn)新的接口標(biāo)準(zhǔn)而產(chǎn)生,但是,向后兼容性要求許多遺留接口仍然包括在PC中。
在x86處理器世界中,原始標(biāo)準(zhǔn)I/O接口包括用于外部的外設(shè)的串行和并行端口、用于插接卡的工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線以及用于軟盤和硬盤驅(qū)動器的集成驅(qū)動電子設(shè)備(IDE)接口。現(xiàn)代PC可能仍然包含這些接口中的一些,但是已經(jīng)開始向用于外部外設(shè)的通用串行總線(USB)和IEEE 1394、用于板卡的外圍部件互連(PCI)總線、增強IDE和AT配件(ATA)硬盤驅(qū)動器穩(wěn)定過渡。已經(jīng)研制其它專用接口用于各種硬件和環(huán)境,例如用于便攜計算機的個人計算機存儲卡國際聯(lián)盟(PCMCIA)裝置以及用于視頻卡的高級圖形處理器(AGP)總線接口。
隨著計算機I/O標(biāo)準(zhǔn)的所有進展,操作系統(tǒng)可能仍然需要訪問眾所周知的普通接口。這些普通接口表示可在許多環(huán)境下安全使用的最小共同點。例如,許多操作系統(tǒng)內(nèi)核對雙向內(nèi)核端口進行讀取和寫入。對這些端口的訪問可由控制臺裝置來提供。在歷史上,這些控制臺裝置是連接到計算機的串行端口的“啞”終端。在這類系統(tǒng)中,某種關(guān)鍵數(shù)據(jù)、如內(nèi)核調(diào)試輸出被送往這種終端。
啞終端通常連接到主機的通用異步接收器-發(fā)送器(UART)。UART通過串行傳輸線發(fā)送和接收數(shù)據(jù)。UART使輸出數(shù)據(jù)串行化,以及將輸入串行數(shù)據(jù)組裝成字節(jié),并將那些字節(jié)放入緩沖器中。雖然許多常用UART在傳輸線上異步通信,但是,存在類似的裝置,它們同步通信,例如兩種通信裝置同步到某個時鐘信號的情況。
內(nèi)核日志及其它低級組件采用UART,因為它們是簡單可靠的,并且得到廣泛支持。內(nèi)核所使用的UART軟件經(jīng)過全面測試,并且在系統(tǒng)出故障期間、例如在內(nèi)核處于混亂狀態(tài)時極可能保持可工作。雖然存在最小共同點的視頻和鍵盤接口,但是在一些系統(tǒng)(如服務(wù)器)中,不希望安裝監(jiān)視器和鍵盤。例如,在大的數(shù)據(jù)中心,包括訪問數(shù)百個機器中每個的內(nèi)核控制臺所需的接線和開關(guān)不一定是可行的。
在許多情況中,使用連接到UART的終端仍然是訪問內(nèi)核的最佳方式。但是,許多計算機系統(tǒng)可具有在相同機器上運行的操作系統(tǒng)的多個示例。操作系統(tǒng)的每個示例應(yīng)當(dāng)具有對至少一個UART的獨占控制權(quán),以便訪問內(nèi)核。雖然這可通過為各分區(qū)提供UART裝置來實現(xiàn),但是,這種解決方案增加成本、所需空間以及功耗。在許多密集封裝的數(shù)據(jù)中心,所有這三種因素都受到重視。因此,希望在計算機上提供多個UART接口,而沒有增加硬件尺寸、成本和功耗。

發(fā)明內(nèi)容
與數(shù)據(jù)處理裝置的一個或多個操作系統(tǒng)傳遞數(shù)據(jù)涉及經(jīng)由在操作系統(tǒng)的控制之外工作的數(shù)據(jù)處理裝置的組件來虛擬化一個或多個通用異步接收器-發(fā)送器(UART)接口。UART接口中的每一個與一個或多個操作系統(tǒng)中的至少一個操作系統(tǒng)關(guān)聯(lián)。數(shù)據(jù)經(jīng)由對關(guān)聯(lián)操作系統(tǒng)的標(biāo)準(zhǔn)化軟件的調(diào)用在UART接口與關(guān)聯(lián)操作系統(tǒng)之間傳遞。然后,數(shù)據(jù)在UART接口與數(shù)據(jù)處理裝置的非UART裝置之間傳遞。


圖1說明根據(jù)本發(fā)明的實施例、配置用于提供虛擬UART訪問的軟件體系結(jié)構(gòu);圖2說明根據(jù)本發(fā)明的實施例、配置成利用虛擬UART訪問的系統(tǒng);圖3說明根據(jù)本發(fā)明的實施例、配置用于提供虛擬UART訪問的計算裝置;圖4說明根據(jù)本發(fā)明的實施例、配置用于提供虛擬UART訪問的可分區(qū)計算裝置;以及圖5說明根據(jù)本發(fā)明的實施例、用于提供虛擬UART訪問的程序。
具體實施例方式
在以下對各種實施例的描述中,參照構(gòu)成其組成部分的附圖,附圖中作為說明,給出可實施本發(fā)明的各種示范方式。要理解,可采用其它實施例,因為可進行結(jié)構(gòu)和操作變更而沒有背離本發(fā)明的范圍。
一般來說,本公開涉及系統(tǒng)固件和/或硬件的虛擬化和/或UART。虛擬UART可用于經(jīng)由另一個數(shù)據(jù)傳輸裝置、例如經(jīng)由網(wǎng)卡、通用串行總線(USB)適配器、IEEE 1394(火線)、無線接口等來發(fā)送數(shù)據(jù)。采用高帶寬數(shù)據(jù)傳輸裝置允許將大量低數(shù)據(jù)率終端輸出組合在單連接中。以這種方式虛擬化/仿真UART的優(yōu)點可包括關(guān)鍵軟件組件的向后兼容性、更低成本以及提供采用最少接線的遠程訪問。
大家會理解,許多計算系統(tǒng)可通過利用根據(jù)本發(fā)明的實施例的虛擬UART來獲益。特別是,在單個裝置上要求多個串行接口的系統(tǒng)可獲益于這種方法??赡塬@益于多個串行接口的一種類型的系統(tǒng)包括可分區(qū)系統(tǒng)??煞謪^(qū)系統(tǒng)由節(jié)點(或小區(qū))組成,在其中,分區(qū)是分配給獨立作業(yè)的子系統(tǒng)。這種系統(tǒng)中的各個分區(qū)運行可能不同的操作系統(tǒng)的包含故障示例。每個活動分區(qū)可能有至少一個調(diào)試端口。
在分區(qū)系統(tǒng)中,可能變得難以根據(jù)固件和OS設(shè)定來分配端口。另外,跟蹤到分區(qū)系統(tǒng)的多個串行端口的接線可能變得麻煩。當(dāng)分區(qū)可手動或自動重新分配或者重新配置時,情況更是如此。然而,向分區(qū)系統(tǒng)和類似計算裝置提供UART接口存在許多優(yōu)點。這些優(yōu)點包括兼容性和可靠性。另外,OS可利用現(xiàn)有遺留驅(qū)動程序來訪問UART,從而消除對于專門裝置驅(qū)動程序的需要。
不是采用多個硬件UART,計算裝置可采用利用虛擬UART接口來仿真多個UART的接口。計算機科學(xué)領(lǐng)域中使用的術(shù)語“虛擬”一般適用于通過計算機模擬的事物。例如,虛擬存儲器是不由存儲器芯片提供而由諸如硬盤驅(qū)動器等的其它數(shù)據(jù)存儲裝置提供的存儲器。術(shù)語“虛擬”可用來描述模仿其“現(xiàn)實”等效物的事物。本文所使用的、應(yīng)用于UART和UART接口的術(shù)語“虛擬”一般表示不采用傳統(tǒng)UART電路來提供UART訪問和UART功能性。虛擬UART接口仿真UART電路所提供的處理器接口邏輯,但是不需要仿真其它UART接口、如串行線接口。
如本文下面所表示的,虛擬化UART接口表示由非UART硬件或軟件仿真的UART到處理器接口。計算裝置可經(jīng)由在操作系統(tǒng)(OS)的控制之外工作的計算裝置的組件來虛擬化UART接口。
一般來說,可在沒有加載OS時工作的、或者可在操作系統(tǒng)崩潰或重新引導(dǎo)時繼續(xù)工作的任何軟件或硬件組件可被認(rèn)為獨立于OS運行。這類組件可包括BIOS/固件,它能夠在加載OS之前運行。獨立于操作系統(tǒng)進行工作的其它組件包括管理服務(wù)處理器。管理服務(wù)處理器是可用來遠程管理計算機(例如經(jīng)由網(wǎng)絡(luò)連接)的裝置(通常為擴展卡)。服務(wù)處理器可獨立于操作系統(tǒng)控制計算硬件,因此可實現(xiàn)遠程控制的服務(wù)任務(wù),例如升級BIOS、加載OS、加載其它任何軟件或者重新引導(dǎo)系統(tǒng)。
獨立于OS的組件提供的虛擬UART接口可用于即使在OS具有內(nèi)核混亂或重新引導(dǎo)時也應(yīng)當(dāng)工作的諸如內(nèi)核調(diào)試之類的任務(wù)。虛擬UART接口所處理的數(shù)據(jù)可經(jīng)由另一個數(shù)據(jù)接口、如網(wǎng)絡(luò)接口卡(NIC)傳遞給外部實體。
現(xiàn)在參照圖1,說明計算體系結(jié)構(gòu)100,它采用根據(jù)本發(fā)明的實施例的虛擬UART接口102。本例中的計算體系結(jié)構(gòu)100包括OS104,可使它能夠與虛擬UART接口102交互,好像虛擬接口102是基于硬件的UART一樣。通過映射由獨立于OS的組件控制的存儲器的一部分,使得存儲器的這部分提供與基于硬件的UART關(guān)聯(lián)的結(jié)構(gòu)和行為,可創(chuàng)建虛擬UART接口102。
就OS 104而言,虛擬UART接口102看起來與基于硬件的UART相同,并且可通過完全相同的方式來使用。例如,在OS 104包括WindowsTMOS的某些版本時,虛擬UART接口102可用作Windows調(diào)試端口。Windows調(diào)試端口允許Windows內(nèi)核/軟件與如耦合到UART的終端之類的數(shù)據(jù)傳輸裝置之間的雙向數(shù)據(jù)傳輸。
OS 104在引導(dǎo)時以及運行時與固件接口106交互。往往作為設(shè)計成與具體平臺特定的硬件110配合工作的存儲器芯片(例如EPROM)包含系統(tǒng)固件。固件接口106有助于在OS 104的引導(dǎo)時和運行時經(jīng)由固件訪問平臺特定的硬件112的各個部分。一個或多個抽象層110也可駐留在固件中。抽象層110封裝對于平臺特定的硬件112是唯一的特征。
固件接口106可包括OS 104到系統(tǒng)硬件112之間的通用和可擴展接口,例如由可擴展固件接口(EFI)規(guī)范所提供的。EFI提供OS加載器、引導(dǎo)服務(wù)以及運行時服務(wù)。EFI定義抽象,允許再用遺留OS加載器(例如遺留BIOS代碼),而無需裝置的終端用戶擔(dān)心基礎(chǔ)實現(xiàn)。EFI運行時服務(wù)還提供在運行時由OS 104使用的基礎(chǔ)硬件資源的抽象。
抽象層110提供對于在硬件實現(xiàn)之間可能不同的處理器和系統(tǒng)功能的統(tǒng)一訪問。在Itanium體系結(jié)構(gòu)中,抽象層110包括系統(tǒng)抽象層(SAL)。SAL包括用于初始化、測試和配置平臺特定的硬件112的功能性。由SAL訪問的平臺特定的硬件112包括存儲器114、I/O子系統(tǒng)116、引導(dǎo)裝置118以及諸如高速數(shù)據(jù)接口120等的其它硬件。OS 104可能是能夠與固件抽象層110交互的現(xiàn)在已知或者將來開發(fā)的任何OS。具體來說,本文所述的概念適用于能夠與諸如SAL等的抽象層110兼容的WindowTMOS(例如Windows Server 2003)。另外,本文所述的概念可適用于其它抽象層110,例如高級配置和電源接口(ACPI)和可擴展固件接口(EFI)。
抽象層110和固件接口106為OS 104提供與系統(tǒng)硬件112交互的通用和可擴展方式。系統(tǒng)制造商通??尚薷墓碳M件106、110,而沒有影響OS 104或硬件112。易于修改固件的能力允許部分或者完全以固件實現(xiàn)虛擬UART接口102。
虛擬UART接口102可通過所述體系結(jié)構(gòu)100的硬件和固件層的任一個來實現(xiàn)。一般來說,虛擬UART接口102通過表現(xiàn)為標(biāo)準(zhǔn)UART接口、如16550兼容UART來處理OS 104進行的物理訪問。這些訪問由虛擬UART接口102轉(zhuǎn)換到不同類型的硬件的接口??膳渲贸山?jīng)由虛擬UART接口102交換數(shù)據(jù)的硬件包括有線和無線網(wǎng)絡(luò)接口、有線和無線點到點接口、非易失性固態(tài)存儲器、盤驅(qū)動器、顯示器、USB、火線、光纖信道等。例如,高速數(shù)據(jù)接口120可包括網(wǎng)絡(luò)接口卡、如耦合到TCP/IP網(wǎng)絡(luò)的以太網(wǎng)卡。因此,虛擬化軟件可將虛擬化UART接口102上的訪問轉(zhuǎn)換到TCP-IP網(wǎng)絡(luò)上的基于套接字的訪問。
虛擬UART接口102還可配置成處理從純軟件的OS所接收的數(shù)據(jù)。例如,虛擬UART接口102可配置成在終端用戶不想跟蹤所記錄數(shù)據(jù)的情況下只是丟棄數(shù)據(jù)。在這種情況中,為了滿足最小要求,虛擬UART接口102可充當(dāng)空設(shè)備。在另一種配置中,虛擬UART接口102可包含跟蹤某些內(nèi)核消息的狀態(tài)機。例如,虛擬UART接口102可對于內(nèi)核混亂來掃描調(diào)試文本。
虛擬UART接口102可完全或部分在與計算體系結(jié)構(gòu)100關(guān)聯(lián)的任何帶外裝置124中實現(xiàn)。帶外裝置124一般是獨立于OS 104運行的裝置,但它可在OS運行時與OS 104接口。這種裝置124可能是系統(tǒng)固件、硬件、附加硬件和/或管理服務(wù)處理器的組成部分。一般來說,帶外裝置124在OS 104的控制之外工作,因此可與OS 104無關(guān)地提供虛擬UART接口102。
在圖2中,示例計算裝置200包括根據(jù)本發(fā)明的實施例、用于將UART訪問轉(zhuǎn)換為基于套接字的訪問的虛擬UART 201。虛擬UART201可包括多個分立虛擬UART接口202A-D,與圖1中的UART接口102相似。虛擬UART 201不一定仿真UART的全部功能,而是僅仿真使UART接口202A-D響應(yīng)OS 204A-C、好像它們是實際的UART接口一樣所需的那些功能。
每個虛擬UART接口202A-D可能能夠作為分立物理裝置提供給OS 204A-C并且由其訪問。OS 204A-C可同時訪問多個接口202A-D。OS 204A-C可能一次運行一個(例如多引導(dǎo)系統(tǒng))或者同時運行(例如分區(qū)系統(tǒng))。在OS 204A-C同時運行的情況下,虛擬UART接口202A-D可在OS 204A-C之間劃分,以便防止對資源的爭用。
多個UART接口202A-D所處理的數(shù)據(jù)可能組合成更少數(shù)量的輸出數(shù)據(jù)流206。例如,這可能在來自所有UART接口202A-D的數(shù)據(jù)組合成單套接字連接的情況中發(fā)生。在這種情況中,應(yīng)用級數(shù)據(jù)(例如首標(biāo))可被添加到數(shù)據(jù),以便標(biāo)識特定數(shù)據(jù)段屬于UART接口202A-D的哪一個。這種添加的數(shù)據(jù)可在以后用于將數(shù)據(jù)分離為各個UART流。
在來自UART接口202A-D的數(shù)據(jù)組合成更少數(shù)量的數(shù)據(jù)流206的配置中,可采用復(fù)用器/解復(fù)用器208。復(fù)用器/解復(fù)用器208將多個UART數(shù)據(jù)流組裝為更少數(shù)量的輸出流206,以及分離來自流的組合數(shù)據(jù),用于傳送到適當(dāng)?shù)腢ART接口202A-D。
大家會理解,在存在UART接口202A-D到數(shù)據(jù)流206的一對一映射的配置中,不需要復(fù)用器/解復(fù)用器208。例如,這可能在每個UART接口202A-D被映射它自己的TCP/IP套接字連接的情況下發(fā)生。在每個UART接口202A-D具有其自己的TCP/IP套接字連接的情況下,TCP/IP處理棧執(zhí)行復(fù)用/解復(fù)用。
在虛擬UART接口202A-D與其它接口之間傳遞數(shù)據(jù)時,可能需要其它數(shù)據(jù)處理。這些處理可由轉(zhuǎn)換器組件210來執(zhí)行。轉(zhuǎn)換器210可執(zhí)行諸如從輸出數(shù)據(jù)剝離控制字符以及將控制字符插入輸入數(shù)據(jù)之類的任務(wù)。其它轉(zhuǎn)換任務(wù)可涉及交換字節(jié)中的比特順序以及字中的字節(jié)順序,調(diào)節(jié)包/幀大小,管理串行數(shù)據(jù)傳輸狀態(tài)等。
為了處理外部數(shù)據(jù)傳輸硬件,虛擬UART 201可包括外部讀取器/寫入器組件212。外部讀取器/寫入器組件212可配置成處理多個硬件接口,用于在計算裝置200外部傳遞數(shù)據(jù)。如前面所述,這些接口之一可包括網(wǎng)絡(luò)接口214。網(wǎng)絡(luò)接口214可包括用來與遠程計算機共享數(shù)據(jù)的任何已知的或者將來的硬件。公共網(wǎng)絡(luò)接口214包括以太網(wǎng)、FDDI、ISDN、DSL、令牌環(huán)網(wǎng)、調(diào)制解調(diào)器等。各種通信協(xié)議也可與諸如TCP/IP、UDP/IP、ATM、X.25、VPN、PPP之類的網(wǎng)絡(luò)接口214關(guān)聯(lián)。網(wǎng)絡(luò)接口214可與計算裝置200的主處理板(例如主板)耦合,或者可能是獨立于操作系統(tǒng)204A-C運行的裝置、如管理服務(wù)處理器的組成部分。
讀取器/寫入器212可配置成通過一個以上外部接口進行通信。這由通用數(shù)據(jù)接口216和連接路徑218表示。通用數(shù)據(jù)接口216可包括附加網(wǎng)絡(luò)接口或者其它數(shù)據(jù)傳輸技術(shù)、如點到點和廣播。通用數(shù)據(jù)接口216可與網(wǎng)絡(luò)接口214并行操作,使得來自所有UART接口202A-D的數(shù)據(jù)轉(zhuǎn)到接口214以及216。或者,UART接口202A-D的一部分可分配給網(wǎng)絡(luò)接口214,其余部分分配給普通接口216(和/或附加接口)。
虛擬UART 201通常包括輸入和輸出緩沖器。這是因為從UART接口202A-D的讀取將由外部讀取器/寫入器212上的讀取填充,這可能以高得多的數(shù)據(jù)速率進行。類似地,對于更理想的傳輸大小可聚結(jié)對UART接口202A-D的寫入。例如,在分組交換網(wǎng)絡(luò)224上經(jīng)由網(wǎng)卡214發(fā)送的數(shù)據(jù)可聚結(jié)為適合網(wǎng)絡(luò)224的分組大小。
當(dāng)虛擬UART 201配置成通過網(wǎng)絡(luò)接口214進行通信時,可經(jīng)由網(wǎng)絡(luò)224對其它數(shù)據(jù)處理裝置、如220、222等發(fā)送/接收數(shù)據(jù)。數(shù)據(jù)處理裝置220可包括與始發(fā)計算裝置200相似的硬件和軟件組件。那些組件包括網(wǎng)絡(luò)接口226、通用接口228、復(fù)用器/解復(fù)用器230、轉(zhuǎn)換器組件232以及可提供與圖1的UART接口102相似的功能性的虛擬UART接口234。由于數(shù)據(jù)處理裝置220正使用虛擬化UART接口234,因此,可經(jīng)由串行線進行通信的本領(lǐng)域已知的任何軟件可用來與計算裝置200進行通信。例如,基本終端應(yīng)用236(例如xterms)可用于通過虛擬UART接口234進行通信,而無需任何修改。專用客戶機應(yīng)用237、如調(diào)試器客戶機還可訪問虛擬UART接口234,而沒有特殊修改。
其它數(shù)據(jù)處理裝置222還包含網(wǎng)絡(luò)接口238,但是采用專用客戶機應(yīng)用240,它處理交換數(shù)據(jù)所需的所有功能性,而無需虛擬化UART。專用讀取器應(yīng)用240可結(jié)合存儲、查看、分析從計算裝置200及相似設(shè)備接收的所有數(shù)據(jù)的功能。專用讀取器應(yīng)用240還可具有用于發(fā)送針對計算裝置200的一個或多個虛擬UART接口202A-D的命令的工具。
現(xiàn)在參照圖3,說明計算裝置302,它提供根據(jù)本發(fā)明的實施例、經(jīng)由TCP/IP耦合的虛擬UART接口。計算裝置302包括耦合到各種形式的存儲器的一個或多個處理器304。處理器304設(shè)置成運行這種存儲器存儲或提供的指令。處理器可訪問的存儲器可包括隨機存取存儲器(RAM)306、只讀存儲器(ROM)308、盤驅(qū)動器310、光存儲裝置312(例如CD-ROM、DVD)等。處理器304還可經(jīng)由可移動媒體314上可用的存儲器、例如軟盤、Zip盤、閃速存儲器、CD-ROM/R/RW、DVD等來訪問數(shù)據(jù)。處理器304還可執(zhí)行經(jīng)由網(wǎng)絡(luò)接口316接收的指令。
網(wǎng)絡(luò)接口316可能是耦合到任何數(shù)據(jù)傳輸網(wǎng)絡(luò)、例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或者如因特網(wǎng)之類的全球網(wǎng)(GAN)的數(shù)據(jù)。網(wǎng)絡(luò)接口316可與計算裝置302的主處理板(例如主板)、管理服務(wù)處理器357或其它帶外裝置355耦合。
計算裝置302可包括和/或耦合到用戶輸入接口320和輸出裝置322(例如監(jiān)視器),用于與用戶交互。數(shù)據(jù)處理硬件302包括可采取處理器304可執(zhí)行的指令的形式來提供的軟件。一般來說,軟件包括用于硬件302的控制和管理以及基本系統(tǒng)操作的OS 326以及在運行的應(yīng)用程序。OS 326可包括任何類型的內(nèi)核(例如單塊內(nèi)核、微內(nèi)核、exokernel等)和用戶接口軟件、如命令解釋程序和/或圖形用戶界面(GUI)。
計算裝置302包括OS/內(nèi)核326使用的固件328,用于在引導(dǎo)時和運行時訪問硬件和處理器功能性。固件328可包括基本輸入-輸出系統(tǒng)(BIOS),用于在系統(tǒng)引導(dǎo)期間提供基本硬件訪問。固件328可包括用于提供硬件訪問的高級特征,例如具有EFI接口。具體來說,固件328可包括SAL 330,用于抽象各種硬件接口、如PCI配置接口332。
在所示裝置302中,包括虛擬UART組件334。虛擬UART組件334可具有與圖2中的虛擬UART 201相似的特征。虛擬UART組件334提供四個虛擬UART接口336、338、340和342。所示組件334中的四個虛擬UART接口的使用是任意的;任何數(shù)量的虛擬UART接口可由組件334提供,以及接口的數(shù)量和名稱可靜態(tài)或動態(tài)確定。
四個虛擬UART接口336、338、340和342經(jīng)由網(wǎng)絡(luò)接口344分別直接映射到四個TCP/IP套接字346、348、350和352。在這個實例中,在虛擬UART接口336、338、340、342與套接字346、348、350、352之間存在一對一映射。管理終端356配置成連接到TCP/IP套接字346、348、350和352,以便與計算裝置302交換數(shù)據(jù)。
所示裝置302的一個用途是向多分區(qū)系統(tǒng)的各分區(qū)提供虛擬UART接口336、338、340和342。多分區(qū)系統(tǒng)可包括有多個OS鏡像正在運行的單個系統(tǒng),和/或可包括在單復(fù)合體/機架、如刀片服務(wù)器系統(tǒng)中運行的多個計算機。該裝置可經(jīng)過配置,使得各分區(qū)被分配由IP地址和TCP端口定義的預(yù)定套接字。例如,分區(qū)0可能在端口2000成為可用,分區(qū)1在端口2001可用,分區(qū)2在端口2002可用,等等。
虛擬UART組件334可通過硬件、固件和軟件的任何組合來實現(xiàn)。例如,虛擬UART組件可能采用EFI和SAL完全以固件來實現(xiàn)。在這種實現(xiàn)中,虛擬UART接口336、338、340和342可在PCI配置空間332中作為眾所周知的UART接口(例如16550兼容)來提供。
在其它方案中,虛擬UART組件334可通過硬件來實現(xiàn)。虛擬UART組件334可包含在操作系統(tǒng)326的控制之外的帶外裝置355、如管理服務(wù)處理器357或其它某種中間裝置上。管理服務(wù)處理器357通常是獨立于主機OS運行的并且可與主機OS無關(guān)地被訪問的獨立運行的裝置(例如板載電路、擴展插槽卡)。
在另一實例中,虛擬UART組件334可在標(biāo)準(zhǔn)總線接口卡358(例如PCI卡)上提供,它將自身作為一個或多個UART來提供,并且包括網(wǎng)絡(luò)接口316和物理網(wǎng)絡(luò)連接器(例如以太網(wǎng)雙絞線)。提供UART數(shù)據(jù)到網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)換的功能性可完全包含在這種卡358上,使得無需專用OS驅(qū)動程序或內(nèi)核軟件與裝置358通信。
應(yīng)當(dāng)理解,硬件302、固件328、虛擬UART組件334和操作系統(tǒng)326的配置和組成可能與結(jié)合圖3所述的不同。本領(lǐng)域的技術(shù)人員非常清楚,本文提供的虛擬UART組件334及相關(guān)軟件的描述與計算裝置302或其操作環(huán)境的任何具體配置無關(guān)。
根據(jù)本發(fā)明的實施例、可利用虛擬UART的設(shè)備的一個具體實例在圖4中表示為可分區(qū)數(shù)據(jù)處理裝置400。示例裝置400包括四個分區(qū)402A-D,但是要理解,可提供任何數(shù)量的分區(qū)。各分區(qū)402A-D分別具有在那個分區(qū)402A-D中運行的操作系統(tǒng)404A-D的關(guān)聯(lián)示例。
各分區(qū)402A-D具有硬件資源的分開分配的部分。這些資源可包括一個或多個處理器406、存儲器408和I/O裝置410??煞謪^(qū)數(shù)據(jù)處理裝置400可包括有多個OS鏡像正在運行的計算裝置,和/或裝置400可包括在單復(fù)合體/機架、如刀片服務(wù)器系統(tǒng)中運行的多個計算機。分區(qū)402A-D可在可包括與圖2中的虛擬UART 201相似的能力的仿真組件412中被定義/創(chuàng)建。仿真組件412可包括固件或?qū)S糜布?例如管理服務(wù)處理器)的任何組合。在這種配置中,仿真組件412在分區(qū)402A-D之間分配硬件資源。
仿真組件412為每個分區(qū)402A-D及其關(guān)聯(lián)操作系統(tǒng)404A-D提供虛擬UART接口414A-D。虛擬UART接口414A-D其中還可用于分別發(fā)送/接收來自操作系統(tǒng)404A-D的雙向數(shù)據(jù)。虛擬UART接口414A-D可映射到仿真組件412的地址空間。TCP/IP適配器模塊416設(shè)置成接收來自虛擬UART接口414A-D的雙向數(shù)據(jù),并經(jīng)由網(wǎng)絡(luò)接口卡418傳遞該數(shù)據(jù)。TCP/IP適配器模塊416可在仿真組件412中實現(xiàn)。
TCP/IP適配器模塊416配置成將各操作系統(tǒng)404A-D分別與TCP/IP套接字420A-D關(guān)聯(lián)。這些套接字420A-D可用于經(jīng)由網(wǎng)絡(luò)422將操作系統(tǒng)404A-D之間的雙向數(shù)據(jù)交換到配置成訪問與分區(qū)402A-D中每個關(guān)聯(lián)的雙向數(shù)據(jù)的客戶機424。一般來說,客戶機可允許來自各分區(qū)402A-D和操作系統(tǒng)404A-D的雙向數(shù)據(jù)被分開訪問??蛻魴C424可能是讀取器或應(yīng)用,例如發(fā)送/接收數(shù)據(jù)、設(shè)置斷點等的內(nèi)核調(diào)試器。
現(xiàn)在參照圖5,說明過程500,它用于提供根據(jù)本發(fā)明的實施例的虛擬UART接口。提供一個或多個UART接口,以便經(jīng)由數(shù)據(jù)處理裝置的帶外組件來仿真UART(502)。這個帶外組件例如可包括配置為UART接口的固件存儲空間的一部分。或者,組件可包括虛擬化UART接口的管理服務(wù)處理器。虛擬UART接口可在遺留UART地址空間中實現(xiàn),或者它可能是在新的地址空間中實現(xiàn)的標(biāo)準(zhǔn)UART接口。OS可配置成支持典型地址空間中的標(biāo)準(zhǔn)接口以及在那個地址空間中實現(xiàn)的虛擬接口。例如在僅采用固件的解決方案中可按照這種實現(xiàn),在其中,八字節(jié)UART地址空間在ACPI或者在固件仿真PCI配置空間中定義。
UART接口中的每個與OS關(guān)聯(lián)(504)。在可分區(qū)系統(tǒng)中,可能存在虛擬UART接口到OS的一對一映射。虛擬UART接口到OS的其它映射也是可行的。這種映射例如可通過響應(yīng)來自一個或多個OS中每個的查詢而向虛擬UART接口提供固件訪問器來實現(xiàn)。OS可訪問存儲器范圍,用于經(jīng)由對關(guān)聯(lián)OS的遺留軟件的調(diào)用在各UART接口上傳遞(506)數(shù)據(jù)。這種遺留軟件例如可能是設(shè)備驅(qū)動程序和/或關(guān)聯(lián)OS的內(nèi)核軟件。響應(yīng)虛擬UART接口上的數(shù)據(jù)傳輸,數(shù)據(jù)在UART接口與數(shù)據(jù)處理裝置的非UART裝置之間傳遞(508)。
從本文提供的描述中,本領(lǐng)域的技術(shù)人員易于能夠?qū)凑账龇绞絼?chuàng)建的硬件和/或軟件與適當(dāng)?shù)耐ㄓ没蛳到y(tǒng)和/或本發(fā)明的計算機子組件實施例結(jié)合,以及創(chuàng)建用于執(zhí)行本發(fā)明的方法實施例的系統(tǒng)和/或計算機子組件。本發(fā)明的實施例可通過硬件和軟件的任何組合來實現(xiàn)。
大家會理解,用于實現(xiàn)本發(fā)明的實施例的基于處理器的指令能夠以指令的計算機可讀介質(zhì)的形式以及各種其它形式來分發(fā)。本文中這類基于處理器的指令的描述同樣適用,而不管實際用于執(zhí)行分發(fā)的信號承載媒體的具體類型。計算機可讀媒體的實例包括諸如EPROM、ROM、磁帶、紙張、軟盤、硬盤驅(qū)動器、RAM和CD-ROM之類的媒體以及諸如數(shù)字和模擬通信鏈路之類的傳輸類型媒體。
提供本發(fā)明的示例實施例的以上描述用于說明和描述目的。它不是意在涵蓋本發(fā)明的各個方面或者將本發(fā)明僅限制于所公開的精確形式。根據(jù)以上理論,許多修改及變更都是可行的。本發(fā)明的范圍不是意在用這個詳細(xì)描述來限制,本發(fā)明的范圍而是由所附權(quán)利要求來定義。
權(quán)利要求
1.一種為數(shù)據(jù)處理裝置的一個或多個操作系統(tǒng)提供外部數(shù)據(jù)通信的基于處理器的方法,包括經(jīng)由在所述操作系統(tǒng)的控制之外工作的所述數(shù)據(jù)處理裝置的組件虛擬化(502)一個或多個通用異步接收器-發(fā)送器(UART)接口;將所述UART接口中的每個與從所述一個或多個操作系統(tǒng)中選取的操作系統(tǒng)關(guān)聯(lián)(504);經(jīng)由對所述關(guān)聯(lián)操作系統(tǒng)的標(biāo)準(zhǔn)化硬件訪問軟件的調(diào)用,在所述UART接口與所述關(guān)聯(lián)操作系統(tǒng)之間傳遞(506)數(shù)據(jù);以及在所述UART接口與所述數(shù)據(jù)處理裝置的非UART裝置之間傳遞(508)所述數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,虛擬化所述一個或多個UART接口包括經(jīng)由所述數(shù)據(jù)處理裝置的管理服務(wù)處理器(357)來虛擬化所述一個或多個UART接口。
3.如權(quán)利要求2所述的方法,其特征在于,在所述UART接口與所述非UART裝置之間傳遞所述數(shù)據(jù)包括在所述UART接口與所述管理服務(wù)處理器的網(wǎng)絡(luò)接口(418)之間傳遞所述數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,還包括將所述UART接口(414A-D)中的每個映射到所述網(wǎng)絡(luò)接口(420A-D)的不同TCP/IP套接字。
5.如權(quán)利要求1所述的方法,其特征在于,虛擬化所述一個或多個UART接口包括經(jīng)由所述數(shù)據(jù)處理裝置的固件(328)來虛擬化所述一個或多個UART接口。
6.如權(quán)利要求1所述的方法,其特征在于,在所述UART接口與非UART裝置之間傳遞所述數(shù)據(jù)包括在所述UART接口與網(wǎng)絡(luò)接口(214,316,418)之間傳遞所述數(shù)據(jù)。
7.如權(quán)利要求6所述的方法,其特征在于,還包括將所述UART接口(414A-D)中的每個映射到所述網(wǎng)絡(luò)接口(420A-D)的不同TCP/IP套接字。
8.如權(quán)利要求1所述的方法,其特征在于,在所述UART接口與所述關(guān)聯(lián)操作系統(tǒng)之間傳遞數(shù)據(jù)包括在所述UART接口與所述關(guān)聯(lián)操作系統(tǒng)(104)之間傳遞操作系統(tǒng)調(diào)試數(shù)據(jù)。
9.如權(quán)利要求8所述的方法,其特征在于,在所述UART接口與所述關(guān)聯(lián)操作系統(tǒng)之間傳遞操作系統(tǒng)調(diào)試數(shù)據(jù)包括在所述UART接口與所述關(guān)聯(lián)操作系統(tǒng)(104)之間傳遞Windows調(diào)試端口數(shù)據(jù)。
全文摘要
與數(shù)據(jù)處理裝置的一個或多個操作系統(tǒng)傳遞外部數(shù)據(jù)包括經(jīng)由在操作系統(tǒng)的控制之外工作的數(shù)據(jù)處理裝置的組件虛擬化(502)一個或多個通用異步接收器-發(fā)送器(UART)接口。UART接口中的每個與一個或多個操作系統(tǒng)中的至少一個操作系統(tǒng)關(guān)聯(lián)(504)。經(jīng)由對關(guān)聯(lián)操作系統(tǒng)的標(biāo)準(zhǔn)化軟件的調(diào)用,在UART接口與關(guān)聯(lián)操作系統(tǒng)之間傳遞(506)數(shù)據(jù)。然后,在UART接口與數(shù)據(jù)處理裝置的非UART裝置之間傳遞(508)數(shù)據(jù)。
文檔編號G06F13/38GK1862517SQ20061007998
公開日2006年11月15日 申請日期2006年4月27日 優(yōu)先權(quán)日2005年4月28日
發(fā)明者A·羅斯坦普爾 申請人:惠普開發(fā)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乌鲁木齐县| 盐城市| 揭东县| 西吉县| 津南区| 安康市| 梁河县| 凉城县| 辽中县| 金堂县| 尼玛县| 沧源| 赤峰市| 长葛市| 东乡县| 巴南区| 东阿县| 高唐县| 榆树市| 安宁市| 古丈县| 虎林市| 临潭县| 同德县| 溧阳市| 丰县| 黄浦区| 久治县| 探索| 遂昌县| 赤水市| 波密县| 天水市| 河间市| 漳浦县| 乌兰察布市| 南城县| 巍山| 通道| 利辛县| 梓潼县|