專利名稱:消除分區間轉換存儲通道和分區分析的方法和設備的制作方法
技術領域:
本發明涉及改進的數據處理系統,具體地說涉及處理數據的方法和設備。更具體地說,本發明涉及管理邏輯分區數據處理系統中的跟蹤數據的方法、設備和計算機指令。
背景技術:
越來越多地,大型的對稱多處理器數據處理系統,例如可從國際商用機器公司獲得的IBM eServer P690,可從惠普公司獲得的DHP9000Superdome Enterprise Server,和可從太陽微系統公司獲得的Sunfire15K server不再用作單一的大型數據處理系統。相反,這些類型的數據處理系統被分區并被用作較小的系統。這些系統也稱為邏輯分區(LPAR)數據處理系統。數據處理系統內的邏輯分區功能允許單一操作系統的多個副本或者多個不同種類的操作系統同時在單一數據處理系統平臺上運行。平臺資源的一個不重疊子集被分配給其中運行一個操作系統鏡像(image)的一個分區,這些平臺可分配資源包括一個或者多個體系結構不同的處理器,各有自己的中斷管理區、系統存儲區以及輸入輸出(I/O)適配器總線插槽。分區的資源由平臺的固件提供給操作系統。
在平臺內運行的每個不同的操作系統或操作系統的鏡像都受到保護不受其它操作系統的影響,從而一個邏輯分區中的軟件錯誤不會影響任何其它分區中的正確操作。通過分配要由每個操作系統鏡像直接管理的平臺資源的不相交集合,并提供保證各鏡像不能控制未分配給該鏡像的資源的機制,提供這種保護。另外,防止在控制操作系統的分配資源時的軟件錯誤影響任何其它鏡像的資源。
這樣,操作系統的每個鏡像或者每個不同的操作系統直接控制平臺內的可分配資源的一個獨立集合。對于邏輯分區數據處理系統中的硬件資源,這些資源在各分區之間是被不相交地共享的。這些資源可包括,例如輸入輸出(I/O)適配器、存儲器DIMM、非易失性隨機存取存儲器(NVRAM)以及硬盤驅動器。LPAR數據處理系統內的每個分區可被多次引導和關閉,而不必重開整個數據處理系統的電源。
當邏輯分區數據處理系統經歷故障時,需要與進程和系統狀態相關的數據來幫助識別和分析故障。在目前的邏輯分區數據處理系統中,由于系統的當前設計的緣故,不能獲得診斷故障所需的一些數據。例如,平臺固件包括允許跟蹤固件中的代碼路徑的跟蹤工具(trace facility)。邏輯分區數據處理系統中使用的平臺固件的例子是可從國際商用機器公司獲得的管理程序(hypervisor)。
就目前使用的跟蹤工具來說,當每個分區產生平臺固件調用時,表示在平臺固件中采取的代碼路徑的跟蹤信息和關鍵數據值被寫入跟蹤緩沖區中。當某一分區遇到錯誤并且與關鍵數據值一起跟蹤錯誤路徑時,該跟蹤信息特別關鍵。
目前所有邏輯分區模式數據處理系統平臺支持在管理程序執行期間,用于把管理程序代碼執行跟蹤點數據寫入位于管理程序空間中的跟蹤緩沖區中的管理程序跟蹤工具。在系統故障的情況下,這種管理程序跟蹤數據對有效的現場故障分析特別重要。
所有的管理程序調用跟蹤點使用相同的跟蹤緩沖區,并通過調用分區編號,包括被分配分區0的分區管理器(partition manager)來識別。由于就存儲器分配來說,管理程序是靜態的,因此該緩沖區長度固定,并且對于平臺的最大數目的分區來說必須足夠大。當需要跟蹤數據時,利用操作系統命令,例如先進交互執行(AIX)操作系統命令“fetchdog”,可從任意分區取回(retrieve)所述跟蹤數據。該命令把發出復制跟蹤數據的管理程序調用的特殊交互執行(AIX)操作系統設備驅動程序裝入分區空間中。
由于該命令收集整個管理程序跟蹤緩沖區的內容,因此它允許單一分區從包括分區管理器的所有分區取回數據,使邏輯分區數據處理系統可能受到安全薄弱環節的影響。這些安全薄弱環節包括雙向轉換存儲通道(bi-directional covert storage channel),由另一分區進行的分區操作的分析,以及管理程序操作的分析。
在分區之間可建立雙向轉換存儲通道。由于跟蹤緩沖區被組織成循環緩沖區,因此系統定期消除通信的所有證據。當更多的數據被寫入緩沖區中時,陳舊的數據最終被重寫。該通道保存該數足夠長的時期據,以便成為很高數據速率的數據傳輸的有效手段。
建立雙向轉換存儲通道中發生的操作包括使傳輸分區利用編碼輸入參數發出管理程序調用。這些參數由管理程序跟蹤工具寫入管理程序跟蹤緩沖區。接收分區產生連續調用,以便利用“fetchdbh”命令取回跟蹤數據,或者直接利用調用“h_hpervisor_debug()”調用管理程序以取回跟蹤數據。接收分區能夠依據分區和何時檢測到已知調用的關鍵模式(key pattern)過濾跟蹤數據,以完成轉換通道通信路徑。另外,通過利用編碼輸入參數發出管理程序調用,接收分區還能夠起發射器的作用。該進程可被用于建立分區之間的全雙向轉換“套接字”。
另一種安全薄弱環節是另一分區進行的分區操作的分析。這種分析可由發出每個管理程序調用的分析分區產生,并且讀取跟蹤緩沖區,以便確定每個管理程序調用的特征。分析分區產生連續調用以取回跟蹤數據。隨后,借助利用通過讀取跟蹤緩沖區獲得的數據的簡單分析,分區可推斷所有其它分區參與什么,并形成攻擊方法。
另一種安全薄弱環節是平臺固件操作,例如管理程序進行的那些操作的分析。通過監視從每個跟蹤點返回的值,尤其是分區管理器的值,能夠形成能夠發起有效的分區間攻擊,以及意圖使整個機器崩潰的攻擊的攻擊方法。
于是,最好具有消除與跟蹤數據有關的安全薄弱環節的改進方法、設備和計算機指令。
發明內容
本發明提供一種用于管理跟蹤數據的邏輯分區數據處理系統中的方法,設備和計算機指令。從邏輯分區數據處理系統中的多個分區內的某一調用分區接收對跟蹤數據的調用。識別緩沖區中與調用分區相關的跟蹤數據以便形成識別的跟蹤數據。只返回調用分區的識別的跟蹤數據。多個分區內的其它分區的跟蹤數據不被返回給調用分區。
在所附的權利要求中陳述了本發明的新穎特征。但是,結合附圖閱讀例證實施例的下述詳細說明,將更好地理解發明本身,以及其優選的使用模式,以及其它的目的和優點,其中圖1是可以實現本發明的數據處理系統的方框圖;圖2是可以實現本發明的例證邏輯分區平臺的方框圖;圖3A和3B表示目前可獲得的邏輯分區數據處理系統中用于處理跟蹤數據的組件;圖4表示根據本發明的優選實施例的用于管理跟蹤數據,以便消除安全薄弱環節的結構;圖5是根據本發明的優選實施例的響應對分區中的跟蹤數據的調用,返回跟蹤數據的進程的流程圖;圖6表示根據本發明的優選實施例的用于傳送跟蹤數據的代碼。
具體實施例方式
現在看附圖,尤其參考圖1,圖1圖示了可以實現本發明的數據處理系統的方框圖。數據處理系統100可以是包括連接到系統總線106的多個處理器101、102、103和104的對稱多處理器(SMP)系統。例如,數據處理系統100可以是實現成網絡內的服務器的IBM eServer(Armonk,New York的國際商用機器公司的產品)。另一方面,可采用單處理器系統。連接到系統總線106的還有存儲器控制器/高速緩存108,它提供到多個局部(local)存儲器160-163的接口。I/O總線橋110連接到系統總線106,提供到I/O總線112的接口。存儲器控制器/高速緩存108和I/O總線橋110可以如圖所示集成在一起。
數據處理系統100是邏輯分區(LPAR)數據處理系統。從而,數據處理系統100可以具有同時運行的多個異類操作系統(或者單個操作系統的多個實例)。這些多個操作系統中的每一個都可具有在其中執行的任何數量的軟件程序。數據處理系統100被邏輯分區,使得不同的PCI I/O適配器120-121、128-129以及136,圖形適配器148和硬盤適配器149可以被分配給不同的邏輯分區。這種情況下,圖形適配器148為顯示設備(未圖示)提供連接,而硬盤適配器149提供控制硬盤150的連接。
這樣,例如,假設數據處理系統100被分為三個邏輯分區P1、P2和P3。每個PCI I/O適配器120-121、128-129、136,圖形適配器148、硬盤適配器149,每個主處理器101-104,以及來自局部存儲器160-163的存儲器被分配給這三個分區中的每一個。在這些例子中,存儲器160-163可以是雙列直插存儲器模塊(DIMM)。DIMM一般不是按每個DIMM被分配給各分區。相反,一個分區可以獲得平臺所見的總存儲空間的一部分。例如,處理器101、來自局部存儲器160-163的存儲空間的某些部分以及I/O適配器120、128和129可以被分配給邏輯分區P1;處理器102-103、來自局部存儲器160-163的存儲空間的某些部分以及PCI I/O適配器121和136可以被分配給邏輯分區P2;處理器104、來自局部存儲器160-163的存儲空間的某些部分、圖形適配器148以及硬盤適配器149可以被分配給邏輯分區P3。
在數據處理系統100內執行的每個操作系統被分配給不同的邏輯分區。這樣,在數據處理系統100內執行的每個操作系統只可以訪問在其邏輯分區內的I/O單元。從而,例如,先進交互執行(AIX)操作系統的一個實例可以在分區P1內執行,AIX操作系統的第二實例(鏡像)可以在分區P2內執行,LINUX或者OS/400操作系統可以在邏輯分區P3內工作。
連接到I/O總線112的外設部件互連(PCI)主橋114提供到PCI局部總線115的接口。多個PCI輸入輸出適配器120-121可以通過PCI到PCI橋116、PCI總線118、PCI總線119、I/O插槽170以及I/O插槽171連接到PCI總線115。PCI到PCI橋116提供到PCI總線118和PCI總線119的接口。PCI I/O適配器120和121分別被置入I/O插槽170和171內。典型的PCI總線實現能夠支持4到8個I/O適配器(即,用于內置連接器的擴展槽)。每個PCI I/O適配器120-121提供數據處理系統100和輸入輸出設備之間的接口,輸入輸出設備例如是作為數據處理系統100的客戶機的其它網絡計算機。
另外一個PCI主橋122提供用于另外的PCI總線123的接口。PCI總線123連接到多個PCI I/O適配器128-129。PCI I/O適配器128-129可以通過PCI到PCI橋124、PCI總線126、PCI總線127、I/O插槽172和I/O插槽173連接到PCI總線123。PCI到PCI橋124提供到PCI總線126和PCI總線127的接口。PCI I/O適配器128和129分別被置入I/O插槽172和173內。這樣,另外的I/O設備,比如調制解調器或者網絡適配器可以通過每個PCI I/O適配器128-129得到支持。這樣,數據處理系統100允許連接到多個網絡計算機。
插入到I/O插槽174的存儲器映射圖形適配器148可以通過PCI總線144、PCI到PCI橋142、PCI總線141和PCI主橋140連接到I/O總線112。硬盤適配器149可以被置入連接到PCI總線145的I/O插槽175。該總線又連接到PCI到PCI橋142,后者通過PCI總線141連接到PCI主橋140。
PCI主橋130為PCI總線131提供連接到I/O總線112的接口。PCII/O適配器136連接到I/O插槽176,后者通過PCI總線133連接到PCI到PCI橋132。PCI到PCI橋132連接到PCI總線131。該PCI總線還將PCI主橋130連接到服務處理器郵箱接口和ISA總線訪問傳遞邏輯(ISA bus access pass-through logic)194以及PCI到PCI橋132。服務處理器郵箱接口和ISA總線訪問傳遞邏輯194轉發以PCI/ISA橋193為目的地的PCI訪問。NVRAM存儲器192被連接到ISA總線196。服務處理器135通過其局部PCI總線195耦接到服務處理器郵箱接口和ISA總線訪問傳遞邏輯194。服務處理器135還通過多個JTAG/I2C總線134連接到處理器101-104。JTAG/I2C總線134是JTAG/掃描總線(見IEEE1149.1)以及飛利浦I2C總線的組合。但是,另一方面,JTAG/I2C總線134也可以替換為只是飛利浦I2C總線或者JTAG/掃描總線。主處理器101、102、103和104的所有SP-ATTN信號被一起連接到服務處理器的中斷輸入信號。服務處理器135具有自己的局部存儲器191,并且能夠訪問硬件OP面板190。
當數據處理系統100初始加電時,服務處理器135使用JTAG/I2C總線134詢問系統(主)處理器101-104、存儲器控制器/高速緩存108以及I/O橋110。在完成該步驟后,服務處理器135對數據處理系統100具有設備目錄和布局結構方面的了解。服務處理器135還對通過詢問主處理器101-104、存儲器控制器/高速緩存108和I/O橋110找到的所有部件執行內部自檢(BIST)、基本保證檢驗(BATs)和存儲器測試。在BIST、BAT和存儲器測試期間檢測到的故障的任何錯誤信息由服務處理器135收集和報告。
如果在把在BIST、BAT和存儲器測試期間內找到的存在故障的部件剔除之后仍然能夠形成系統資源的有意義/有效配置,那么允許數據處理系統100繼續把可執行代碼裝入局部(主)存儲器160-163。服務處理器135然后釋放主處理器101-104以執行裝入局部存儲器160-163的代碼。當主處理器101-104執行來自數據處理系統100內的各操作系統的代碼時,服務處理器135進入監視和報告錯誤的模式。由服務處理器135監視的項目類型包括,例如,冷卻風扇的速度和工作情況,熱傳感器,電源調節器,處理器101-104,局部存儲器160-163以及I/O橋110報告的可恢復的和不可恢復的錯誤。
服務處理器135負責保存和報告與數據處理系統100中所有被監視項目有關的錯誤信息。服務處理器135還根據錯誤的類型和定義的閾值采取行動。例如,服務處理器135可以注意處理器的高速緩存上的過多的可恢復錯誤,判斷這預示著硬故障。根據該判斷,服務處理器135可以將該資源標記為在當前運行期間和未來的初始程序裝入(IPL)過程中退出配置(deconfiguration)。IPL有時也稱為“引導”或者“自引導”。
可利用各種可從市場購得的計算機系統實現數據處理系統100。例如,可利用可從國際商用機器公司獲得的IBM eServer iSeries Model 840系統實現數據處理系統100。這種系統可支持利用也可從國際商用機器公司獲得的OS/400操作系統的邏輯分區。
本領域的普通技術人員知道圖1所示的硬件可以變化。例如,除了圖示的硬件之外或者取代圖1所示的硬件,還可以使用其它外圍設備,比如光盤驅動器等。圖示的例子不是要對本發明進行結構上的限制。
現在參見圖2,其中圖示了可以實現本發明的例證邏輯分區平臺的方框圖。邏輯分區平臺200中的硬件可以被實現為,例如,圖1中的數據處理系統100。邏輯分區平臺200包括分區的硬件230,操作系統202、204、206、208以及分區管理固件210。操作系統202、204、206和208可以是同時在邏輯分區平臺200上運行的單個操作系統的多個副本或多個異類操作系統。利用OS/400操作系統可實現這些操作系統,其被設計為與分區管理固件比如管理程序接口。OS/400只是用作這些例證實施例中的一個例子。當然,根據具體的實現,也可以使用其它類型的操作系統,比如AIX和LINUX。操作系統202、204、206和208位于分區203、205、207和209中。管理程序軟件是可以用來實現分區管理固件210的軟件的一個例子,并可以從國際商用機器公司獲得。固件是保存在不需電能也能保持其內容的存儲器芯片中的“軟件”,所述存儲器芯片比如是只讀存儲器(ROM)、可編程ROM(PROM)、可擦可編程ROM(EPROM)、電可擦可編程ROM(EEPROM)以及非易失性隨機存取存儲器(非易失性RAM)。
另外,這些分區還包括分區固件211、213、215和217。分區固件211、213、215和217可以用初始引導代碼、IEEE-1275標準開放固件以及可從國際商用機器公司獲得的運行時摘要軟件(RTAS)來實現。當分區203、205、207和209被實例化時,引導程序代碼的一個副本由平臺固件210裝入分區203、205、207和209。之后,控制轉移到引導程序代碼,引導程序代碼然后裝入開放固件和RTAS。與分區相關或者被分配給分區的處理器隨后被分派給分區的存儲器以執行分區固件。
被分區的硬件230包括多個處理器232-238、多個系統存儲器單元240-246、多個輸入輸出(I/O)適配器248-262以及存儲單元270。每個處理器232-238、存儲器單元240-246、NVRAM存儲器298和I/O適配器248-262可以被分配給邏輯分區平臺200中的多個分區之一,每個分區對應于操作系統202、204、206和208之一。
分區管理固件210對分區203、205、207和209執行許多功能和服務,以創立和實施邏輯分區平臺200的分區。分區管理固件210是與底層硬件相同的固件實現的虛擬機。這樣,通過將邏輯分區平臺200的所有硬件資源虛擬化,分區管理固件210允許同時執行獨立的OS鏡像202、204、206和208。
服務處理器290可以用來提供各種服務,比如處理分區中的平臺錯誤。這些服務也可以作為將錯誤報告給供貨商,比如國際商用機器公司的服務代理。可通過硬件管理控制臺,比如硬件管理控制臺280控制不同分區的操作。硬件管理控制臺280是一個單獨的數據處理系統,系統管理員可以從該數據處理系統執行各種功能,包括向不同分區重新分派資源。
本發明提供一種按照減少安全薄弱環節的方式管理跟蹤數據的方法,設備和計算機指令。特別地,防止雙向轉換存儲通道,由另一分區進行的分區操作的分析,和平臺固件操作的分析。本發明的機制采用過濾器(filter)來選擇響應來自某一分區的對跟蹤數據的調用而返回的數據。該過濾器只返回與調用分區相關的跟蹤數據。不返回關于其它分區的其它數據。就選擇的分區,例如服務分區來說,安全薄弱環節不是一個主要的關心因素。
現在參考圖3A和3B,圖中表示了目前可用的邏輯分區數據處理系統中用于處理跟蹤數據的組件。在該例證例子中,分區300包含圖3A中的操作系統302和RTAS 304。分區306包含操作系統308和RTAS 310。在這些描述的實施例中,可存在多達255個分區。通過平臺固件,例如管理程序312管理所有這些分區。
分區管理器314把跟蹤信息寫入管理程序跟蹤緩沖區316作為代碼路徑318。當該組件調用管理程序312時,寫入該跟蹤信息。分區管理器314是管理程序312內的一個組件。該組件被用于管理分區,并包括各種功能,例如起動分區和終止分區。分區管理器314發出的調用被保存在管理程序跟蹤緩沖區316中。
按照類似的方式,當分區306對管理程序312發出調用時,管理程序代碼路徑320由保存在管理程序跟蹤緩沖區316中的這些調用的跟蹤數據形成。以類似的方式,當管理程序收到分區306的調用時,形成管理程序代碼路徑320。該路徑的跟蹤數據也保存在管理程序跟蹤緩沖區316中。
當每個分區被激活時,操作系統被裝入并開始執行。當操作系統,例如操作系統302需要平臺資源時,操作系統對RTAS 304發出RTAS調用,RTAS 304再對管理程序312發出管理程序調用。當管理程序調用執行時,特殊的“跟蹤點”被執行,其中跟蹤數據被寫入管理程序跟蹤緩沖區316中,而不存在分區數據的任何隔離。換句話說,用于所有分區發出的所有呼叫的所有跟蹤數據被放入該緩沖區中。
不僅代表分區執行管理程序調用的管理程序數據被寫入單一緩沖區中,而且分區管理器314(它是管理程序工具)也把其跟蹤數據寫入相同的跟蹤緩沖區中。另外,機器檢查中斷處理程序(handler)、322使用相同的跟蹤工具,并把信息保存在管理程序跟蹤緩沖區316中。
在圖3B中的取回跟蹤數據的標準調試操作中,分區300建立數據緩沖區324,并調用“h_hypervisor_debug()”例程。該調用的執行導致原始管理程序跟蹤數據被復制到分區空間中以便分析。在該特定例子中,數據被復制到數據緩沖區324中。當發生這樣的調用時,目前未對數據的傳送作出任何限制。數據的這種不受限制的復制還允許在兩個分區之間建立轉換存儲通道。
從而,數據緩沖區324中的數據可由來自分區306的一系列的管理程序調用傳遞到由管理程序312提供的跟蹤工具中的管理程序跟蹤緩沖區316中。利用“h_hypervisor_debug()”管理程序調用,分區300可取回位于管理程序跟蹤緩沖區316中的分區306的該跟蹤數據。這里描述的該調用和其它特定調用是管理程序產品中目前可用的調用。按照這種方式,可建立轉換存儲通道。另外,一個分區,例如分區306可從管理程序跟蹤緩沖區取回由分區管理器314和機器檢查中斷處理程序322產生的跟蹤數據。該信息使得允許分析分區的操作和管理程序操作。
現在參考圖4,圖中根據本發明的一個優選實施例,描述了管理跟蹤數據,以便消除安全薄弱環節的結構。在該例證例子中,存在分區400和分區402,并通過管理程序404管理分區400和分區402。分區400包含操作系統406和RTAS 408,而分區402包含操作系統410和RTAS 412。在本例中,操作系統400還包括數據緩沖區414,操作系統402包含數據緩沖區416。當分區400或分區402產生對管理程序404的調用時,利用保存在管理程序跟蹤緩沖區422中的跟蹤數據,產生管理程序代碼路徑418和管理程序代碼路徑420。
此外,分區管理器424可產生調用,其中跟蹤數據被保存在管理程序跟蹤緩沖區422中。機器檢查中斷處理程序426還把數據保存在管理程序跟蹤緩沖區422中。在該例證例子中,過濾器428也存在于管理程序404中。在這些例子中,該過濾器被用于限制當管理程序404收到對跟蹤數據的調用時返回的數據。
在例證例子中,通過應用過濾器428中的簡單過濾算法,消除分區之間的轉換通道。在這些例證例子中,在“h_hypervisor_debug()”中采用該過濾器。該例程調用read_trace()例程430,以便實際傳送跟蹤數據。
本發明的機制通過增加過濾器428來選擇響應對跟蹤數據的調用,要返回的數據,修改該例程。過濾器428防止從管理程序跟蹤緩沖區422到某一分區,例如分區400的不受限制的數據傳輸。在描述的例子中,過濾器428使用根據分區的調用識別的當前分區編號和識別數據屬于哪個分區的跟蹤緩沖區內的數據字段作為過濾算法或進程的輸入。
管理程序跟蹤緩沖區422中的數據被排列成記錄。在該例證的例子中,當來自某一分區的調用產生跟蹤數據時,產生管理程序跟蹤緩沖區422中的每個記錄。在記錄中的數據字段中識別發起產生該記錄中的跟蹤數據的呼叫的分區。過濾器428中的本發明的過濾機制比較調用分區的身份識別和與管理程序跟蹤緩沖區422中的記錄相關的分區的身份識別。
除了在調用分區被識別成“服務分區”的情況下,該過濾器只把調用分區的數據傳遞給該分區。在這些例證例子中,服務分區是被賦予執行服務功能,比如代碼更新的特殊許可的分區。由于平臺管理員必須使用硬件管理控制臺指定服務分區,因此假定該分區是安全的,該分區將不會接收任何轉換數據。
這樣,防止分區之間的轉換通道。借助過濾器428對數據傳輸的限制,消除另一分區的分區操作的分析,和管理程序操作的分析。
現在參見圖5,根據本發明的一個優選實施例描述了響應對分區中的跟蹤數據的調用,返回跟蹤數據的進程的流程圖。圖5中圖解說明的進程可用過濾器,例如位于圖4中的read_trace例程430中的過濾器428實現。
響應從某一分區接收對跟蹤數據的調用或請求,開始該進程。該請求包括調用分區的識別,例如分區編號或地址,和數據緩沖區的識別。確定調用分區是否是服務分區(步驟500)。這些例證例子中的服務分區不被認為是潛在的安全危險。如果調用分區不是服務分區,那么進程進到跟蹤緩沖區中的下一個未處理的跟蹤數據記錄(步驟502)。在這些例證的例子中,數據被組織成跟蹤緩沖區中的許多記錄。
隨后,比較當前分區編號與跟蹤數據記錄的數據字段(步驟504)。跟蹤記錄中的數據字段包括發出導致產生跟蹤記錄中的數據的管理程序調用的分區的識別。之后,確定跟蹤數據記錄是否屬于當前分區(步驟506)。如果跟蹤數據記錄屬于當前分區,那么跟蹤數據記錄被復制到數據緩沖區(步驟508)。隨后,確定在跟蹤緩沖區中是否存在另外的未處理的跟蹤數據記錄(步驟510)。如果在跟蹤緩沖區中不存在另外的未處理的跟蹤數據記錄,那么進程結束。
返回參見步驟500,如果調用分區是服務分區,那么高達數據緩沖區容量的跟蹤數據記錄的數目從跟蹤緩沖區傳輸到數據緩沖區(步驟512),之后進程結束。在步驟506中,如果跟蹤數據記錄不屬于當前分區,那么進程進入如上所述的步驟510。在步驟510中,如果在跟蹤緩沖區中存在另外的未處理的跟蹤數據記錄,那么進程進入如上所述的步驟502。
參見圖6,根據本發明的優選實施例,圖中描述了傳送跟蹤數據的代碼。圖6中圖解說明的代碼可被實現成平臺固件,例如圖4中的管理程序404中的調用。特別地,可用數據傳送例程實現圖解說明的代碼,例如圖4中的read_trace例程430。
在這些例證例子中,h_hypervisor_debug()例程執行初始處理,隨后調用read_trace()例程600傳送跟蹤數據。本發明的過濾機制位于該例程中。在該例子中,read_trace()例程600是上面在圖5中描述的進程的例證實現。在read_trace()例程600的區段602中實現本發明的過濾機制。
從而,本發明提供一種保護跟蹤數據的改進方法、設備和計算機指令。本發明的機制從分區接收對跟蹤數據的請求,并且從跟蹤緩沖區只返回給請求分區的數據。這樣,通過使用本發明的過濾機制,可消除分區之間的轉換通道。從而,在平臺固件進行的跟蹤數據的處理中,減少或消除安全薄弱環節。
重要的是要注意到,盡管對本發明的描述是在全功能數據處理系統的上下文中進行的,但是本領域的普通技術人員知道,本發明的進程能夠以指令的計算機可讀介質的形式以及多種形式分布,無論實際用于進行所述分布的信號承載介質的具體類型如何,本發明都同樣適用。計算機可讀介質的例子包括可記錄類型的介質,比如軟盤、硬盤驅動器、RAM、CD-ROM、DVD-ROM,以及傳輸類型的介質,比如數字和模擬通信鏈路,使用諸如射頻和光波傳輸等傳輸形式的有線或者無線通信鏈路。計算機可讀介質可以采用編碼格式的形式,所述編碼格式被解碼以實際用于具體的數據處理系統。
上面出于舉例說明的目的,描述了本發明,并不是要窮盡本發明或者將本發明限于所公開的形式。對于本領域普通技術人員來說,許多修改和變化是顯而易見的。上述實施例的選擇和描述是為了更好地解釋本發明的原理和其實際應用,并使本領域的普通技術人員能夠理解本發明的針對所能想到的具體用途進行各種適當修改的各種實施例。
權利要求
1.一種邏輯分區數據處理系統中的管理跟蹤數據的方法,所述方法包括從邏輯分區數據處理系統中的多個分區內的調用分區接收對跟蹤數據的調用;識別緩沖區中與調用分區相關的跟蹤數據,形成識別的跟蹤數據;和只返回調用分區的識別的跟蹤數據,其中多個分區內的其它分區的跟蹤數據不被返回給調用分區。
2.按照權利要求1所述的方法,其中緩沖區是循環緩沖區。
3.按照權利要求1所述的方法,還包括響應調用分區是服務分區,把調用所請求的全部跟蹤數據返回給服務分區。
4.按照權利要求1所述的方法,其中返回步驟把識別的跟蹤數據返回給調用分區中的數據緩沖區。
5.按照權利要求1所述的方法,其中返回步驟包括識別存在于調用分區的數據緩沖區中的自由空間的數量;和只返回適配數據緩沖區范圍的調用分區的一部分識別跟蹤數據。
6.按照權利要求1所述的方法,其中接收步驟,識別步驟和返回步驟由平臺固件執行。
7.按照權利要求1所述的方法,其中調用包括調用分區的識別和與調用分區相關的數據緩沖區的識別。
8.一種管理跟蹤數據的邏輯分區數據處理系統,數據處理系統包括從邏輯分區數據處理系統中的多個分區內的調用分區接收對跟蹤數據的調用的接收裝置;識別緩沖區中與調用分區相關的跟蹤數據,形成識別的跟蹤數據的識別裝置;和只返回調用分區的識別的跟蹤數據的返回裝置,其中多個分區內的其它分區的跟蹤數據不被返回給調用分區。
9.按照權利要求8所述的數據處理系統,其中緩沖區是循環緩沖區。
10.按照權利要求8所述的數據處理系統,其中返回裝置是第一返回裝置,還包括響應調用分區是服務分區,把調用所請求的全部跟蹤數據返回給服務分區的第二返回裝置。
11.按照權利要求8所述的數據處理系統,其中返回裝置把識別的跟蹤數據返回給調用分區中的數據緩沖區。
12.按照權利要求8所述的數據處理系統,其中返回裝置包括識別存在于調用分區的數據緩沖區中的自由空間的數量的裝置;和只返回適配數據緩沖區范圍的調用分區的一部分識別跟蹤數據的裝置。
13.按照權利要求8所述的數據處理系統,其中接收裝置,識別裝置和返回裝置由平臺固件實現。
14.按照權利要求8所述的數據處理系統,其中調用包括調用分區的識別和與調用分區相關的數據緩沖區的識別。
15.一種計算機可讀介質中的用于管理跟蹤數據的計算機程序產品,所述計算機程序產品包括從邏輯分區數據處理系統中的多個分區內的調用分區接收對跟蹤數據的調用的第一指令;識別緩沖區中與調用分區相關的跟蹤數據,形成識別的跟蹤數據的第二指令;和只返回調用分區的識別的跟蹤數據的第三指令,其中多個分區內的其它分區的跟蹤數據不被返回給調用分區。
16.按照權利要求15所述的計算機程序產品,其中緩沖區是循環緩沖區。
17.按照權利要求15所述的計算機程序產品,還包括響應調用分區是服務分區,把調用所請求的全部跟蹤數據返回給服務分區的第四指令。
18.按照權利要求15所述的計算機程序產品,其中第三指令把識別的跟蹤數據返回給調用分區中的數據緩沖區。
19.按照權利要求15所述的計算機程序產品,其中第三指令包括識別存在于調用分區的數據緩沖區中的自由空間的數量的第一子指令;和只返回適配數據緩沖區范圍的調用分區的一部分識別跟蹤數據的第二子指令。
20.按照權利要求15所述的計算機程序產品,其中第一指令,第二指令和第三指令由平臺固件實現。
21.按照權利要求15所述的計算機程序產品,其中調用包括調用分區的識別和與調用分區相關的數據緩沖區的識別。
22.一種數據處理系統,包括總線系統;與總線系統連接的存儲器,其中存儲器包括一組指令;和與總線系統連接的處理單元,其中處理單元執行一組指令,從邏輯分區數據處理系統中的多個分區內的調用分區接收對跟蹤數據的調用;識別緩沖區中與調用分區相關的跟蹤數據,形成識別的跟蹤數據;和只返回調用分區的識別的跟蹤數據,其中多個分區內的其它分區的跟蹤數據不被返回給調用分區。
全文摘要
邏輯分區數據處理系統中用于管理跟蹤數據的方法、設備和計算機指令。從邏輯分區數據處理系統中的多個分區內的調用分區接收對跟蹤數據的調用。識別緩沖區中與調用分區相關的跟蹤數據,形成識別的跟蹤數據。只返回調用分區的識別的跟蹤數據。多個分區內的其它分區的跟蹤數據不被返回給調用分區。
文檔編號G06F11/36GK1696909SQ20051000819
公開日2005年11月16日 申請日期2005年2月22日 優先權日2004年5月13日
發明者戈登·D.·麥金托什, 加里·李·拉澤科 申請人:國際商業機器公司