TWI421698B - 用以促進至少一個客體處理系統之輸入/輸出(i/o)處理之電腦程式產品、方法及系統 - Google Patents
用以促進至少一個客體處理系統之輸入/輸出(i/o)處理之電腦程式產品、方法及系統 Download PDFInfo
- Publication number
- TWI421698B TWI421698B TW097108366A TW97108366A TWI421698B TW I421698 B TWI421698 B TW I421698B TW 097108366 A TW097108366 A TW 097108366A TW 97108366 A TW97108366 A TW 97108366A TW I421698 B TWI421698 B TW I421698B
- Authority
- TW
- Taiwan
- Prior art keywords
- message
- communication adapter
- architecture
- format
- analog communication
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Description
本發明一般而言係關於電腦系統模擬領域,且更特定而言,係關於藉由在一本體系統上模擬一個或以上客體處理系統之一I/O架構促進該等客體處理系統之輸入/輸出(I/O)處理。
主機級處理環境之復蘇已引起軟體開發者為主機環境編寫應用程式之一增加之期望。而此一針對開發及訓練目的之環境之高成本阻止此努力。故模擬係此困境之一解決方法。模擬係如下處理程序:藉此一本體系統(例如,一廣義處理器,諸如,一基於UNIX或LINUX之工作站)經程式化以提供一客體系統之一更專業化處理器架構(例如,由紐約Armonk國際商業機器公司提供之一a z/Architecture系統)。此解決方法對擁有用於追尋應用程式開發之產品有利地提供一低得多的成本。
藉由在一本體系統上模擬至少一個客體處理系統之一I/O架構來促進該本體系統上該至少一個客體處理系統之輸入/輸出(I/O)處理,藉此本文中提出之概念支援上述努力。更具體而言,在一態樣中,本文中提供一種製品,其包含至少一個具有電腦可讀程式碼邏輯以促進至少一個客體處理系統之I/O處理之電腦可用媒體。該電腦可讀程式碼邏輯在執行時實施(例如)如下作業:在一本體處理系統
上模擬該至少一個客體處理系統之一I/O架構,其中模擬該I/O架構包含:為該I/O架構之複數個I/O裝置提供多個裝置管理員;提供將該多個裝置管理員介接至至少一個網路驅動程式處理程序之至少一個通信配接器處理程序;且其中該多個裝置管理員將以至少一個客體處理系統格式之I/O訊息轉譯為以本體系統格式之訊息以由該至少一個通信配接器處理程序進行處理,從而促進該至少一個客體處理系統之I/O處理。
在另一態樣中,提供一種促進至少一個客體處理系統之I/O處理之方法,該方法包含:在一本體處理系統上模擬該至少一個客體處理系統之一I/O架構。該I/O架構之模擬包含:為該I/O架構之多個I/O裝置提供多個裝置管理員;提供將該多個裝置管理員介接至至少一個網路驅動程式處理程序之至少一個通信配接器處理程序;且其中該多個裝置管理員將以至少一個客體處理系統格式之I/O訊息轉譯為以本體系統格式之訊息以由該至少一個通信配接器處理程序進行處理,從而促進該客體處理系統之I/O處理。
在一進一步態樣中,提供一種用於促進至少一個客體處理系統之I/O處理之系統。該系統包含一包括一模擬器之處理環境,該模擬器用於至少部分模擬一用於促進至少一個客體處理系統之I/O處理之I/O架構。該模擬器包含:一模擬器I/O介面;用於正被模擬之I/O架構之複數個I/O裝置之多個裝置管理員;其中為該I/O架構之該複數個I/O裝置之每一I/O裝置提供一單獨裝置管理員;多個訊息佇列,
每一訊息佇列與該多個裝置管理員之一各自裝置管理員相關聯;將該多個裝置管理員介接至至少一個網路驅動程式處理程序之至少一個通信配接器處理程序;且其中該多個裝置管理員將以至少一個客體處理系統格式之I/O訊息轉譯為以本體系統格式之訊息以由該至少一個通信配接器處理程序進行處理,且從而促進該至少一個客體處理系統之I/O處理。
藉由本發明之技術可實現額外特徵及優點。本文中詳細闡述本發明之其他實施例及態樣,並將該等實施例及態樣視為所主張之發明之一部分。
根據本發明之一態樣,藉由在一本體系統上模擬至少一個客體處理系統之一I/O架構提供一種用於促進該至少一個客體處理系統之輸入/輸出(I/O)處理之能力。本文中參照(例如)由紐約Armonk國際商業機器公司提供之z/Architecture闡述並主張I/O架構模擬之諸多態樣。
一配接器(就該詞之資料處理意義而言)按慣例係一用於在一主機系統與一個或以上外部裝置之間進行通信之硬體裝置。因而,見一配接器在一資料處理系統中提供一種形式之輸入/輸出連接性。本文中參照由紐約Armonk國際商業機器公司提供之一種稱為開放系統配接器(OSA)之產品(可是並不排除其他)對本發明進行闡述。此配接器為一主機系統記憶體與一資料網路之間之資料傳輸提供一協定。甚至更特定而言,此協定所直接之資料網路係一區域網路
(LAN)。
按慣例,該開放系統配接器採用一QDIO協定。在1990年引入佇列直接輸入/輸出(QDIO),且其係提供快速主機至LAN通信之技術I/O架構之一狀態。在頒予本發明之受讓人之美國專利第6,976,083號中見一採用此協定之系統之一實例。亦在IBM研究與開發期刊之2002年第4/5號第46卷中對該QDIO架構進行闡述。
如開頭所述,由於硬體開發(尤其高端系統上)之增長之成本,模擬技術在工業中正變得更為普遍。主機級機器之復蘇已引起程式碼開發者對為此種類型之機器編寫應用程式之一增加之興趣。高端系統之最重要者中之一者係由國際商業機器公司製造並出售之z/Series資料處理器。
今人遺憾的是,該等高端系統之成本正阻止程式編寫者及設計者在此領域中工作,尤其針對開發及訓練目的。雖然已做出嘗試提供在基於UnixWare或LINUX之工作站上執行之z/Series處理器模擬,然而存在對模擬該系統之其他部分之一日益增加之期望,包含DASD、耦接、I/O架構及網絡功能。本發明係針對滿足此對(例如)Z/SeriesI/O架構之I/O架構模擬之需要。
參照圖1闡述一併入並使用本發明之一個或以上態樣之處理環境之一實施例。在此實例中,一處理環境100以一架構(可將其稱為一本體架構)為基礎,而模擬另一架構(可將其稱為一客體架構)。舉例而言,該本體架構係由紐約Armonk國際商業機器公司提供之Power4或PowerPC架構
或由英特爾公司提供之一Intel架構;且該客體架構係z/Archtiecture,其亦由紐約Armonk國際商業機器公司提供之。2005年9月,IBM公開案第SA22-7832-04號"z/Architecture作業原理"中對該z/Architecture之態樣進行闡述,該公開案全文以引用方式併入本文。
處理環境100包含(例如):一本體處理器102(例如,一中央處理單元(CPU)),一記憶體104(例如,主記憶體)及一個或以上經由(例如)一個或以上匯流排108耦接至彼此之輸入/輸出(I/O)裝置106。舉例而言,處理器102係由紐約Armonk國際商業機器公司(IBM)提供之pSeries伺服器之一部分。IBM、pSeriesPower PC及z/Architecture係美國紐約Armonk國際商業機器公司之註冊商標。Intel係英特爾公司之一註冊商標。本文中使用之其他名稱亦可係國際商業機器公司或其他公司之註冊商標、商標或產品名稱。
本體中央處理單元102包含一個或以上本體暫存器110,諸如,在該環境內處理期間使用之一個或以上通用暫存器及/或一個或以上專用暫存器。該等暫存器包含表示該環境在任一特定時間點之狀態之資訊。
此外,本體中央處理單元102執行儲存於記憶體104中之指令及程式碼。在一特定實施中,該中央處理單元執行儲存於記憶體104中之模擬器程式碼112。該程式碼使得在一架構中組態之該處理環境能夠模擬另一架構。舉例而言,模擬器程式碼112允許機器以除z/Architecture外之架構
(例如,pSeries伺服器)為基礎模擬該z/Architecture並執行基於該z/Architecture開發之軟體及指令。
參照圖2闡述關於模擬器程式碼112(亦稱為,模擬器)之進一步細節。在一實例中,模擬器程式碼112包含一指令提取常式200以自記憶體104獲得一個或以上客體指令202,並視情況為該一個或以上獲得之指令提供本地緩衝。客體指令202包括開發擬在一除本體CPU 102之架構外之架構中執行之軟體指令(例如,機器指令)。舉例而言,客體指令202可設計成在一z/Architecture處理器上執行,而改為在本體CPU 102(其可係例如一pSeries伺服器)上模擬。
模擬器112亦包含一指令轉譯常式204以確定已獲得之客體指令之類型並將該客體指令轉譯成一個或以上對應本體指令208。此轉譯包含(例如)識別擬由該客體指令實施之功能並選擇本體指令以實施彼功能。
此外,模擬器112包含一模擬控制常式206以致使該等本體指令被執行。模擬控制常式206可致使本體CPU 102執行模擬一個或以上先前獲得之客體指令之本體指令之一常式,並在該執行之結束處傳回對該指令提取常式之控制以模擬下一或隨後多個客體指令之獲得。本體指令208之執行可包含:將資料自記憶體104載入至一暫存器中;將資料自一暫存器儲存回至記憶體;或如由該轉譯常式確定實施某種類型之算術或邏輯運算。
每一常式(例如)在軟體中實施,其儲存於記憶體中並由
本體中央處理單元102執行。在其他實例中,該等常式或作業中之一個或以上在韌體、硬體、軟體或其之某些組合中實施。可使用本地CPU之暫存器110或藉由使用記憶體104中之位置對經模擬客體處理器之暫存器進行模擬。在一個或以上實施例中,客體指令202、本體指令208及模擬程式碼112可駐存於相同記憶體中或可散佈於不同記憶體裝置之間。
在一實施例中,進一步向一即時編譯器210提供已由該提取及控制常式處理之指令之一累積。該即時編譯器係一動態編譯器,其檢查該等指令、查找移除冗餘之機會並在該模擬器正在其上執行之本體平臺上產生一配合之指令序列。雖然該模擬器一次具有對一個指令之可見性,然而該即時編譯器具有對一指令序列之可見性。由於其具有對一指令序列之可見性,故其可嘗試查找該指令序列中之冗餘並將其移除。一即時編譯器之一實例係由紐約Armonk國際商業機器公司提供之JAVATM
即時(JIT)編譯器。JAVA係加利福尼亞聖克拉拉太陽微系統有限公司之一商標。
模擬器210包含多個用於模擬一不同於本體架構之架構之組件。在此實施例中,正被模擬之CPU及I/O架構係由IBM提供之z/Architecture,但亦對其他架構進行模擬。該模擬使得一客體作業系統212(例如,z/OS,國際商業機器公司之一註冊商標)能夠在該本體結構上執行並使得能夠支援一個或以上客體應用程式214(例如,Z應用程式)。參照圖3闡述關於模擬器210之進一步細節。
參照圖3,模擬器210包含:一耦接至一個或以上服務處理程序302之共用記憶體300,一輸入/輸出(I/O)實施方案304及一中央處理單元(CPU)實施方案306,下文對該等中之每一者進行進一步詳細闡述。
共用記憶體300係主機中之自服務處理程序302、I/O實施方案304及CPU實施方案306可見之一部分記憶體之一表示。其係一其中獨立處理程序(例如,服務處理程序、I/O實施方案、CPU實施方案)藉由將資料讀取並儲存至該共用記憶體中而進行通信之儲存區域。舉例而言,該共用記憶體包含複數個包含(例如)系統全球資訊、CPU內容及資訊、經模擬主儲存器、經模擬主儲存密鑰及子通道(亦即,表示I/O裝置之資料結構)之區。
服務處理程序302包含一個或以上用於形成該等CPU之處理程序及一個或以上其他處理程序,還提供架構化之操作員設施,例如開始、停止、重設、初始程式載入(IPL)等等。其亦可提供其他功能,諸如,顯示或變更模擬之系統設施,獲得/釋放共用資源,其他維持命令等等。
輸入/輸出實施方案304包含(例如)一個或以上子通道處理程序及一用於與I/O裝置進行通信之I/O控制器。在本發明之一態樣中,該I/O控制器負責開始該等子通道處理程序並實施復原。中央處理單元(CPU)實施方案306負責執行指令及管理該處理。
圖4-9描繪用於促進在一本體系統上採用I/O架構之一個或以上客體處理系統之輸入/輸出(I/O)處理之方法之實施
例。在該等I/O架構模擬圖中,"主機"係指本體系統及/或客體系統,其中之任一者皆可採用該經模擬I/O架構。圖4-9(僅舉例而言)描繪由紐約Armonk國際商業機器公司提供之z/SeriesI/O架構之I/O架構模擬。
圖4描繪一軟體結構400之一實施例,該軟體結構針對一採用一個或以上開放系統配接器(OSA)之z/Series處理環境模擬I/O硬體。模擬器400包含一容納佇列直接輸入/輸出(QDIO)工作411及非QDIO工作412兩者之模擬器I/O介面410。模擬器I/O介面410與複數個裝置管理員420介接,該複數個裝置管理員又與一個或以上開放系統配接器(OSA)處理程序430進行通信。針對正被模擬之I/O架構之每一I/O裝置,提供一單獨裝置管理員420。裝置管理員420提供一種將為一個或以上客體處理系統格式之I/O訊息轉譯成本體系統格式之訊息以由一個或以上OSA處理程序(亦即,一個或以上通信配接器處理程序)進行處理之能力。針對多個裝置管理員420之每一各自裝置管理員採用一訊息佇列425以促進將本體系統格式之訊息傳遞至一個或以上OSA處理程序430。
模擬器400進一步包含模擬器服務介面450,該模擬器服務介面經由一指派給每一OSA處理程序之專用服務佇列435與每一OSA處理程序430進行通信。下文參照該用於開始或重新開始OSA模擬之復原處理程序對該模擬器服務介面進行進一步闡述。每一OSA處理程序430與一個或以上網路介面440(例如,驅動程式)進行通信。在一實例中,該
網路介面係一區域網路。
圖4描繪一軟體結構,該軟體結構提供一I/O架構(例如,一採用開放系統配接器(OSA)之z/SeriesI/O架構)之一精確模擬。該OSA功能可在IBM AIX及Intel LINUX兩個環境中運作為一單個UNIX處理程序。隨同該經模擬I/O架構將係(例如)一AIX平臺上之一個或以上LAN配接器,該AIX平臺提供目前在z/Series主機上可用之任一硬體輔助。對於此實施方案而言,每一OSA通道命令識別符與由執行該模擬器軟體之工作站提供之一個或以上LAN配接器進行通信。一OSA通道命令識別符(或通道命令識別符)包含一OSA處理程序及一個或以上裝置管理員(DM)處理程序兩者。舉例而言,圖4描繪包含OSA處理程序(1)及DM處理程序#1-5之一單個通道命令識別符。如圖解說明,此通道命令識別符可由多個主機循序或同時採用。在一實施方案中,該經模擬I/O架構包括多個通道命令識別符。
在一正在一z/Architecture模擬環境中執行之通道命令識別符之以上闡述中,該OSA處理程序經由一DM處理程序群組與一主機TCP/IP或SNA堆疊進行通信,其中為該I/O架構之每一I/O裝置提供一個裝置管理員處理程序。在圖4之實例中,針對一利用QDIO TCP/IP堆疊411之主機處理系統461採用圖解說明之通道命令識別符之三個DM處理程序420,而針對一主機處理系統462之SNA及非QDIO通信堆疊412採用兩個DM處理程序420。無論是否採用一QDIO
TCP/IP堆疊或SNA或非QDIO通信堆疊,皆利用通道命令字(CCW)透過一連串訊息佇列與該通信配接器處理程序進行通信。該等CCW具有該系統熟知之相關聯名稱,且跨越QDIO對非QDIO連接採用不同組CCW。每一OSA通道命令識別符處理程序可存在一與一DM控制寫入裝置處理程序及一DM控制讀取裝置處理程序關聯之讀取及寫入訊息佇列。每一CCW以相關聯訊息佇列425之次序加以處理且可在充當一控制讀取裝置之DM處理程序之一讀取佇列上傳回回應(例如,該等CCW之狀態)。離開該LAN之訊務亦經由該讀取佇列到達該主機。該OSA處理程序經由本體作業系統所提供之一標準LAN驅動程式介面傳送至一預設OSA LAN驅動程式(對LINUX或AIX而言為本體)。
每一裝置管理員420採用一個或以上轉譯表以將各自CCW訊息轉譯成本體系統格式以由該經模擬OSA處理程序進行處理。該等表可易於由熟悉此項技術者利用關於該z/SeriesI/O架構之公開之資訊(包含,例如,以上併入之z/Architecture操作原理)得到。
以下清單藉由提供一在一裝置管理員處理程序處接收之CCW協定訊息之程式碼之實例及一自該裝置管理員處理程序發送之本體系統訊息格式之程式碼闡明此轉譯。
DM訊息接收格式:
DM訊息發送格式:
進一步舉例而言,以下清單係一裝置管理員將CCW轉換為一本體系統格式以在一經模擬z/SeriesI/O架構中由一OSA處理程序處理之通道轉譯程式碼之一部分實例。
命令轉譯程式碼:
圖5係根據本發明之一實施例用於I/O架構模擬初始化500之處理之一實例之流程圖。開始一模擬器510,接著自一定義檔案讀取I/O組態520。該定義檔案可含有客戶預設定I/O定義。舉例而言,表1描繪一z/SeriesI/O架構之一簡化定義檔案。
在此樣本定義檔案中,僅描繪I/O部分。OSD表示一QDIO通道命令識別符,而OSE係一非QDIO通道命令識別符。路徑係指通道命令識別符數目,而裝置係指裝置管理員數目,其中每一裝置敍述表示一裝置管理員之一示例。
該模擬器針對定義檔案中定義之每一I/O裝置開始一裝置管理員示例530。接著給每一裝置管理員分配一服務佇列540。
與開始該等裝置管理員相當,該模擬器針對每一系統起
始該復原處理程序550。下文參照圖8 & 9對該復原處理程序進行進一步闡述。本質上,該復原處理程序針對該定義檔案中定義之每一通道命令識別符起始一OSA處理程序560。接著,針對每一OSA處理程序示例形成或分配一服務佇列570。該分配之服務佇列係針對對該OSA處理程序示例之所有服務請求。在該等佇列之設立完成時,完成初始化580且該模擬器被告知該I/O架構模擬之I/O初始化部分完成。在此之後,可採用該經模擬I/O架構開始資料轉移590。
在一初始化實施例中,在共用記憶體中(例如,在圖9之登出區域935中)形成一256入口通道命令識別符目錄。所有通道命令識別符在通道命令識別符初始化時在表2中登記該資訊。另外,諸如表3中描繪之裝置具體OSA資訊被儲存(例如,在圖8之OSA處理程序復原記憶體810中)。表2&3資訊在後續復原處理期間使用。
在一通道命令識別符處理程序形成之前,剖析該定義檔案。此藉由該模擬器之一主I/O處理程序實施,其形成一共用記憶體區域中之通道命令識別符之所有所需控制區塊(例如)以在一z/SeriesI/O架構上模擬HAS。將每一通道命令識別符之記憶體區定義為一具體共用記憶體區(名稱)以保護其他通道命令識別符使之免於在其通道命令識別符外部存取HAS。
一旦已對該定義檔案進行剖析,且已建立針對所有通道命令識別符之所有HAS控制區塊,則形成個別通道命令識別符處理程序。針對每一已定義通道命令識別符形成一個"父"處理程序。由該父通道命令識別符處理程序,該等OSA處理程序可形成為到達該主通道命令識別符處理程序
之子處理程序。該等DM處理程序由該CPU模擬初始化處理程序形成。認為此設計有助於錯誤復原情形。可在該父通道命令識別符處理程序與該等DM及OSA處理程序之間使用一"心跳"訊息以偵測"暫停"條件。若出現一"追加",則可將一信號(子信號)發送至該父通道命令識別符處理程序以發出該"追加"之信號。如下文結合圖8 & 9進一步闡釋,此信號可由父使用以"登出"該OSA或DM處理程序之資訊。
在形成時間傳給通道命令識別符處理程序之參數包含該通道命令識別符數目。所有其他OSA共用記憶體名稱可經由該通道命令識別符數目得到。
該I/O復原處理程序及I/O通道命令識別符處理程序可由該共用通道命令識別符目錄中之查找加以定義,下文針對一z/Architecture I/O模擬之表4-8之詳細實例中對其之態樣進行描繪。
自以上表中,注意到OSA組態名稱指向一硬碟機上一檔案,其中儲存有需要跨越重設經儲存之所有OSA參數(例如,MAC位址、追蹤遮罩等等)。對共用記憶體位置之分配使得形成一登記入口。介面數目僅用於OSA。使用以藉由0 x 00終止之美國資訊交換標準碼之介面數目。例如,對np而言,"np4m0"、"np4m1"等等,或對OSA而言,"ent0"、"ent1"等等。若該chpid_state_np_card位元及該chpid_state_osa_card位元兩者皆為零,則該通道命令識別符既非np亦非osa。
圖6根據本發明之一態樣描繪裝置管理員資料流程600之一實施例。在此流程中,假定一主機處理程序發佈一插座(socket)讀取/寫入命令610,該命令由該主機處理程序轉譯成一I/O命令或訊息(例如,一CCW命令)620。透過(例如)該經模擬處理器之一QDIO堆疊或非QDIO堆疊由裝置管理員攔截該CCW命令630。該裝置管理員接收CCW 640並將該CCW命令轉換為一OSA訊息650。接著將此OSA訊息放
置於關聯之訊息佇列上660。該OSA處理程序自該裝置管理員之關聯之訊息佇列接收訊息670並提供對該訊息敏感之OSA處理680。接著依據該OSA處理將資料發出至一相關聯LAN上690。
對於入站資料而言,該裝置管理員處理程序自該LAN接收資料(經由該OSA處理),並添加為將該資料封裝成一訊息以轉發至該經模擬處理器之適當之TCP/IP堆疊所需之CCW命令字。該經模擬處理器自此TCP/IP堆疊上讀取訊息並將其傳給一將其轉換回成插座讀取/寫入資料之VTAM協定位準。
作為該資料流程處理程序之一具體實例,一主機作業系統發佈一插座讀取/寫入,且該主機作業系統(亦即,VTAM)之基本I/O協定將該插座讀取/寫入轉譯為一含有CCW之I/O程式(亦即,命令)。通道命令字係一由IBM處理器360/370架構產生之熟知之協定格式。此CCW訊息由該模擬器攔截並傳給該經模擬處理器之適當之QDIO或非QDIO堆疊。接著藉由適當之裝置管理員處理程序擷取該資料及命令並將其傳變成一訊息入口。具體而言,一信號(例如,SIGUSR2)用於告知該裝置管理員處理程序一新訊息及資料正在該QDIO或非QDIO堆疊中等待。該DM處理程序提取該訊息,並將其轉譯以傳遞至適當OSA處理程序,從而完成對擬發送至該LAN之資料及封包之處理。
圖7根據本發明之一態樣描繪一模擬器400之另一態樣。如上文結合圖4闡述,模擬器400仍包含多個耦接至一個或
以上OSA處理程序430之裝置管理員420。該模擬器進一步包含多個隔離記憶體區塊700及多個網路(LAN)介面710。根據本發明之一態樣,在一實施例中,該多個隔離之經模擬記憶體區塊700由每一裝置管理員處理程序420各自存取,此意味著該等隔離記憶體區塊由該等裝置管理員處理程序所共用。類似地,每一OSA處理程序存取多個共用網路介面,亦即,網路(LAN)介面710。因而,由一單個裝置管理員,可存取任一模擬器記憶體區塊700及任一網路介面710。記憶體區塊及LAN介面之共用與一習用基於OSA之I/O架構相反。
按慣例,一硬體基於OSA之I/O架構限於與主機作業系統或在實體上連接至OSA配接器之LAN之示例對話。此限制一特定OSA當連接至一zSseries機器時可具有之儲存量或LAN連接性。在圖7之經模擬I/O架構下,該OSA可跨越任一數目之主機作業系統(且更重要地,亦跨越數個LAN示例)共用。此存在勝於z/SeriesI/O硬體機器之多個可能之連接性優點。由於模擬此新OSA,故可立即共用任一LAN介面或硬體實體層(例如,無線能力)(對一僅針對以太網之習用OSA)。可形成一選路層,其將在層2(實體層)或層3(應用程式層)兩個環境中在埠與主機示例之間提供連接性。
例如,可為每一z/模擬器處理程序分配一共用儲存段。此將允許對來自外部z/Series處理程序(例如,CEC傾卸、MANOP、系統事件等等)之資料進行存取。表9描繪一基
於OSA之經模擬I/O架構之裝置管理員處理程序之共用記憶體之一組態表之一實例。
表10中展示用於本文闡述之該等DM處理程序及OSA處理程序之可能之信號。
注意,SIGUSR1可用於OSA及真實I/O兩者之"CP-chpid"作業(其中CP係指處理器),而SIGUSR2可用於OSA及真實I/O兩者之"IOP-chpid"作業。
以更詳細方式,每一通道命令識別符可分配擬用於追蹤及記錄之共用記憶體區塊。每一通道命令識別符可分配總共1.75兆位元組以實施該等任務。OSA追蹤(表9)可係一具
有一與當前z/SeriesI/O架構中所採用之格式形同之格式之1兆位元組循環追蹤。每一入口可由一32位元組入口、一追蹤程式碼、後跟一時間戳,且接著六個4位元組使用者已定義欄位組成。該256千位元組記錄係"重要事件"之另一循環追蹤,其具有與追蹤相同之格式。一登出資料區域(表9,且見圖9)可係一512千位元組區域,其含有由一習用I/O架構中之OSA硬體所管理之所有狀態及作業參數。目前,此資訊駐存於本地程式儲存器中,但根據本文提出之模擬移動以促進除錯及資訊聚集。
表9 & 10闡述使用該等區域之分配常式及處理程序。表9 & 10中亦闡述之命令字功能係除錯該OSA處理程序之組態之基礎。該等命令分成兩類。需要以排他方式與一通道命令識別符之共用記憶體位置進行對話之命令,及彼等需要一到達該OSA處理程序之分接頭(tap)以實施一特定作業之命令。該等表中亦對每一命令之行為進行闡述。
圖8根據本發明之一態樣圖解說明用於一I/O架構模擬之穩健復原處理程序。如圖所示,模擬器400仍包含與一模擬器服務介面450介接之多個OSA處理程序430。圖解說明一共用登出區域810,其中如上所述每一OSA處理程序具有一專用復原記憶體區域。下文參照圖9進行進一步闡述之復原處理程序邏輯800係用於自動無障礙地嘗試重新開始任一已停止之OSA處理程序之碼。目前,OSA硬體僅允許一故障OSA對其自身進行管理及復原。在此新經模擬I/O架構中,引入一新復原範例,其中OSA復原處理程序
800監看該系統中之整個OSA下部結構並可實施一z/SeriesOSA硬體環境中目前不存在之復原動作(例如,埠切換或熱主機備份)。使用此復原能力亦可採用新資料傳輸機制。可易於設立連結彙總或抽離。另外,由於總體OSA處理程序被整合至該CPU及模擬器基礎中,接著若發生一故障,則可易於產生一聚集所有OSA及CPU資料之錯誤記錄。採用一如本文中所提出之經模擬I/O架構移除對記錄記憶體量及提供給一z/SeriesOSA之能力之現有限制。端視該故障,所有資料可自動地與聚集並提供給服務人員用於資料分析之CPU資料同步。
圖9係根據本發明之一態樣圖解說明初始化及復原邏輯之概觀流程圖。如圖所示,一模擬器900起始一個或以上裝置管理員905、復原處理程序(圖8之)910及服務處理程序915(亦即,圖8之模擬器服務介面)。該復原處理程序接著開始一個或以上OSA處理程序920並使用針對該等OSA處理程序形成之服務佇列(見圖4&5)在該一個或以上OSA處理程序與服務處理程序之間建立連接925。此完成初始化且設立並執行一個或以上I/O子系統(例如,通道命令識別符)930。一旦執行,將一狀態信號傳回至該模擬器以發出處理I/O命令可用性之信號。雖然正在執行,然而每一通道命令識別符之個別復原處理程序記憶體(見圖8)藉由執行狀態資訊935週期性地進行更新,亦即,在該I/O系統正在執行時,動態地儲存及管理該復原資訊。
若一個或以上裝置管理員及/或OSA處理程序故障(例
如,由於程式碼錯誤或裝置錯誤或介面錯誤而暫停),接著若一裝置管理員錯誤出現,則CPU模擬器940嘗試使用登出區域935中記錄之狀態資訊重新開始裝置管理員處理程序945。假定該重新開始嘗試成功,則成功地重新開始並執行該I/O子系統或通道命今識別符950,亦即,假定僅該裝置管理員故障。若該重新開始不成功,則發送I/O子系統或通道命令識別符故障信號955,並儲存故障I/O通道命令識別符之I/O子系統登出資料960。若在該OSA處理程序中已出現一錯誤(仍(例如)由於程式碼錯誤、裝置錯誤或介面錯誤),則該復原處理程序程式碼嘗試重新開始一個或以上有效OSA處理程序970。在該等OSA處理程序及/或該等裝置管理員處理程序內可出現多個故障。假定該重新開始成功,則執行該I/O子系統或通道命令識別符950,並向正執行之且能夠接受I/O命令之模擬器提供一新狀態OK信號。若該OSA處理程序之重新開始不成功,則該主題I/O子系統(亦即,通道命令識別符)已故障975且同時該I/O架構模擬繼續執行,儲存該有效I/O子系統之所有登出資訊960用於該I/O故障之將來聚集及分析。
本發明之一個或以上態樣可包含於一具有(例如)電腦可用媒體之製品(例如,一個或以上電腦程式產品)中。此處,該等媒體具有(例如)電腦可讀程式碼構件或邏輯(例如指令、程式碼、命令等等)以提供並促進本發明之能力。該製品可包含在一電腦系統作為其一部分或可單獨銷售。
參照圖10闡述一併入本發明之一個或以上態樣之製品或
電腦程式產品之一實例。一電腦程式產品1000包含(例如)一個或以上電腦可用媒體1002以將電腦可讀程式碼構件或邏輯1004儲存於其上從而提供並促進本發明之一個或以上態樣。該媒體可係一電子、磁性、光學、電磁、紅外線或半導體系統(或設備或裝置)或一傳播媒體。一電腦可讀媒體之實例包含:一半導體或固態記憶體、磁帶、一可抽換電腦磁盤、一隨機存取記憶體(RAM)、一唯讀記憶體(ROM)、一剛性磁碟及一光碟。光碟之實例包含壓縮唯讀光碟記憶體(CD-ROM)、壓縮讀/寫光碟(CD-R/W)及DVD。
一程式指令序列或一由一個或以上電腦可讀程式碼構件或邏輯定義之一個或以上相關之模組之邏輯總成直接本發明之一個或以上態樣之效能。
有利地,提供記憶體之易於存取單元之一資料結構。藉由採用此資料結構,增強了記憶體存取及系統效能(例如,更快)。該資料結構包含一個或以上記憶體單元(例如,頁面)之識別(例如,位址),然而該一個或以上記憶體單元在該資料結構中時不需要實施位址轉譯或任一其他測試以存取該記憶體單元。此資料結構可用於包含經模擬環境在內之任一類型之處理環境中。
雖然上文闡述了各種實例,然而其僅係實例。例如,本發明之一個或以上態樣可包含於非係經模擬環境之環境中。此外,本發明之一個或以上態樣可用於如下經模擬環境中:該經模擬環境具有一不同於上文所述之架構之本體架構及/或模擬一除z/Architecture外之架構。可使用各種
模擬器。模擬器由各自公司市售並提供。在虛擬機器:系統及處理程序之通用平臺(電腦架構及設計中之魔根考夫曼系列)
(吉姆史密斯及Ravi Nair,2005年6月3日)中闡述了關於模擬之其他細節,其特此以引用方式全部併入本文中。
輸入/輸出或I/O裝置(包括(但不限於)鍵盤、顯示器、指向裝置、DASD、磁帶、CD、DVD、拇指驅動器及其他記憶體媒體等等)可直接或透過介入I/O控制器耦接至該系統。亦可將網路配接器耦接至該系統以使得該資料處理系統能夠耦接至其他資料處理系統或透過介入之私用或公用網路耦接至遠程打印機或儲存裝置。數據機、電纜數據機及以太網卡僅係數個可用網路配接器類型。
如本文中使用,術語"獲得"包含(但不限於)提取、接收、具有、提供、被提供、形成、開發等等。
本發明之一個或以上態樣之能力可構建於軟體、韌體、硬體或其之某些組合中。可提供至少一個程式儲存裝置,其可由一機器讀取且包含至少一可由該機器執行來實施本發明之能力之指令程式。
本文中描繪之流程圖僅係實例。本文所述之該等圖或該等步驟(或作業)可存在許多變更,此並不背離本發明之精神。例如,可以不同次序實施該等步驟,或者可對此等步驟進行添加、刪除或修改。所有該等變更皆被視為所主張之本發明之一部分。
儘管本文中已對實施例進行了詳細描繪並闡述,但熟習
相關技術者將明瞭,可做出各種修改、增加、替換及類似改變且不背離本發明之精神,且因此,該等改變皆應視為在如以下專利申請範圍所定義之本發明之範疇內。
100‧‧‧處理環境
102‧‧‧本體處理器
104‧‧‧記憶體
106‧‧‧輸入/輸出(I/O)裝置
108‧‧‧匯流排
110‧‧‧本體暫存器
112‧‧‧模擬器程式碼
200‧‧‧指令提取常式
202‧‧‧客體指令
204‧‧‧指令轉譯常式
206‧‧‧模擬控制常式
208‧‧‧本體指令
210‧‧‧即時編譯器
300‧‧‧共用記憶體
302‧‧‧服務處理程序
304‧‧‧輸入/輸出實施方案
306‧‧‧中央處理單元實施方案
400‧‧‧模擬器
411‧‧‧佇列直接輸入/輸出(QDIO)工作
461‧‧‧主機處理系統
410‧‧‧模擬器I/O介面
462‧‧‧主機處理系統
412‧‧‧非QDIO工作
420‧‧‧裝置管理員
425‧‧‧訊息佇列
430‧‧‧開放系統配接器(OSA)處理程序
435‧‧‧服務佇列
440‧‧‧網路介面
450‧‧‧模擬器服務介面
700‧‧‧模擬器記憶體區塊
710‧‧‧網路介面
800‧‧‧復原處理程序邏輯
810‧‧‧OSA處理程序復原記憶體
900‧‧‧模擬器
905‧‧‧裝置管理員
935‧‧‧正填寫之登出區域
940‧‧‧CPU模擬器
1000‧‧‧電腦程式產品
1002‧‧‧電腦可用媒體
1004‧‧‧電腦可讀程式碼構件或邏輯
在說明書結束處,在申請專利範圍中特定指出並明確主張本發明之一個或以上態樣作為實例。結合隨附圖式由上文之詳細闡述將明瞭本發明之前述及其他目的、特徵及優點,該等隨附圖式中:圖1描繪併入並使用本發明之一個或以上態樣之一處理環境之一實施例;圖2根據本發明之一個或以上態樣描繪圖1之記憶體之一實施例之進一步細節;圖3根據本發明之一態樣描繪介接一客體處理系統與一本體硬體結構上執行之一本體處理系統之模擬器之一實施例之進一步細節;圖4根據本發明之一態樣描繪一顯示輸入/輸出架構模擬之細節之模擬器之一進一步實施例;圖5係一根據本發明之一態樣用於初始化圖4之輸入/輸出架構模擬之一實施例之流程圖;圖6係一根據本發明之一態樣圖4之多個裝置管理員之一個裝置管理員之資料流程處理之一實施例之流程圖;圖7根據本發明之一態樣描繪圖4之經模擬I/O架構之一進一步實施例,並圖解說明該經模擬I/O架構之各種處理程序之共用能力;
圖8根據本發明之一態樣描繪圖4之經模擬I/O架構之一進一步實施例,並圖解說明一用於重新開始一停止之通信配接器介面之共同復原處理程序;圖9係一根據本發明之一態樣I/O架構模擬及I/O子系統重新開始處理之一實施例之流程圖;及圖10描繪一併入本發明之一個或以上態樣之電腦程式產品之一實施例。
100‧‧‧處理環境
102‧‧‧本體處理器
104‧‧‧記憶體
106‧‧‧輸入/輸出(I/O)裝置
108‧‧‧匯流排
110‧‧‧本體暫存器
112‧‧‧模擬器程式碼
Claims (32)
- 一種電腦程式產品,其用於促進至少一個客體處理系統之輸入/輸出(I/O)處理,該電腦程式產品包括:一有形的由一處理器可讀取的儲存媒體,其儲存由該處理器執行之指令以執行一種方法,該方法包括:在一本體系統上模擬該至少一個客體處理系統之一I/O架構,其中模擬該I/O架構包括:提供多個裝置管理員,該多個裝置管理員模擬經模擬I/O架構之複數個I/O裝置,其中該多個裝置管理員接收該至少一個客體處理系統之I/O命令訊息,該I/O命令訊息為至少一個客體處理系統格式;提供將該多個裝置管理員介接至該經模擬I/O架構外部之該本體系統之至少一個網路驅動程式處理程序之至少一個經模擬通信配接器,該至少一個經模擬通信配接器為從該經模擬I/O架構至該至少一個網路驅動程式處理程序之資料傳輸提供一協定;及其中,該多個裝置管理員將經接收以該至少一個客體處理系統處理格式之I/O命令訊息轉譯為以本體系統格式之訊息,且以本體系統格式提供該等信息以供該至少一個經模擬通信配接器進行處理,從而促進該至少一個客體處理系統之I/O處理。
- 如請求項1之電腦程式產品,其中提供該多個裝置管理員包括為該經模擬I/O架構之該複數個I/O裝置中之每一I/O裝置提供一單獨裝置管理員。
- 如請求項2之電腦程式產品,其中該模擬進一步包括提供多個訊息佇列,每一訊息佇列與該多個裝置管理員之一各自裝置管理員相關聯,該多個訊息佇列促進將該等為本體系統格式之訊息傳遞至該至少一個經模擬通信配接器。
- 如請求項1之電腦程式產品,其中該多個裝置管理員將多個客體處理系統格式之I/O訊息轉譯為本體系統格式之訊息,以供該至少一個經模擬通信配接器進行處理。
- 如請求項4之電腦程式產品,其中該等多個客體處理系統格式之I/O命令訊息係由該多個裝置管理員轉譯成本體系統格式之訊息,以供該至少一個經模擬通信配接器之一共同通信配接器處理程序進行處理。
- 如請求項4之電腦程式產品,其中該等多個客體處理系統格式之I/O命令訊息包括佇列直接輸入/輸出(QDIO)協定格式之通道命令字(CCW)及非QDIO協定格式之CCW。
- 如請求項6之電腦程式產品,其中該多個裝置管理員將該等為多個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息,以供該至少一個經模擬通信配接器之一共同通信配接器處理程序進行處理,該共同通信配接器處理程序係一開放系統配接器(OSA)處理程序。
- 如請求項1之電腦程式產品,其中該模擬進一步包括提供可經由該至少一個經模擬通信配接器存取之多個網路驅動程式介面,且其中該多個裝置管理員跨越該至少一個經模擬通信配接器共用該多個網路驅動程式介面。
- 如請求項1之電腦程式產品,其中該至少一個客體處理系統包括劃分成多個隔離記憶體區塊之記憶體,且其中該模擬包括允許該多個裝置管理員中之每一裝置管理員存取該多個隔離記憶體區塊中之每一記憶體區塊。
- 如請求項1之電腦程式產品,其中該模擬進一步包括:藉由以下步驟初始化I/O架構模擬:藉由自一已定義輸入/輸出組態目錄獲得組態資訊來初始化該多個裝置管理員;針對每一經初始化裝置管理員形成一訊息佇列;初始化該至少一個經模擬通信配接器;針對每一至少一個經模擬通信配接器形成一服務佇列,該服務佇列係可經由一模擬器服務介面存取;及發出該初始化完成之信號,在此之後可接收為該至少一個客體處理系統格式之I/O命令訊息以供在該多個裝置管理員處轉譯。
- 如請求項1之電腦程式產品,其中該等為至少一個客體處理系統格式之I/O命令訊息包括通道命令字(CCW),且其中該模擬進一步包括:由一裝置管理員攔截至少一個CCW、將該至少一個CCW轉譯為至少一個以本體系統格式之訊息以供該至少一個經模擬通信配接器進行處理、將該至少一個為本體系統格式之訊息放置在一與該裝置管理員相關聯之訊息佇列上、經由該訊息佇列在該至少一個經模擬通信配接器處接收該至少一個為本體系統格式之訊息,並在該至少一個經模擬通信配接器處提供對 該至少一個為本體系統格式之訊息之通信配接器處理,且在其後將資料自該至少一個經模擬通信配接器發出至一網路介面。
- 如請求項1之電腦程式產品,其中該至少一個經模擬通信配接器及該多個裝置管理員中之至少一者形成該經模擬I/O架構之至少一個I/O子系統,且其中該模擬進一步包括:針對該至少一個I/O子系統中之每一I/O子系統,週期性地向記憶體儲存關於該I/O子系統之狀態之復原資訊,並使用針對該I/O子系統的該週期性儲存之復原資訊來從該I/O子系統處的故障中無障礙地復原。
- 如請求項12之電腦程式產品,其中該無障礙地復原包括將該I/O子系統之一故障經模擬通信配接器或裝置管理員重新開始至其故障時之一儲存狀態。
- 如請求項13之電腦程式產品,其中該至少一個I/O子系統係至少一個通道命令識別符,且其中其之該至少一個經模擬通信配接器係至少一個開放系統配接器(OSA)處理程序。
- 一種促進至少一個客體處理系統之輸入/輸出(I/O)處理之方法,該方法包括:在一本體系統上模擬該至少一個客體處理系統之一I/O架構,其中模擬該I/O架構包括:提供多個裝置管理員,該多個裝置管理員模擬該經模擬I/O架構之複數個I/O裝置,其中該多個裝置管理員接收該至少一個客體處理系統之I/O命令訊息,該I/O命 令訊息為至少一個客體處理系統格式;提供將該多個裝置管理員介接至該經模擬I/O架構外部之至少一個網路驅動程式處理程序之至少一個經模擬通信配接器;及其中該多個裝置管理員將經接收為該至少一個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息,且以本體系統格式提供該等信息以供該至少一個經模擬通信配接器進行處理,從而促進該至少一個客體處理系統之I/O處理。
- 如請求項15之方法,其中提供該多個裝置管理員包括為該經模擬I/O架構之該複數個I/O裝置中之每一I/O裝置提供一單獨裝置管理員。
- 如請求項16之方法,其中該模擬進一步包括提供多個訊息佇列,每一訊息佇列與該多個裝置管理員中之一各自裝置管理員相關聯,該多個訊息佇列促進將該等為以本體系統格式之訊息傳遞至該至少一個經模擬通信配接器。
- 如請求項15之方法,其中該多個裝置管理員將為多個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息以供該至少一個經模擬通信配接器進行處理,且其中該等以多個客體處理系統格式之I/O命令訊息由該多個裝置管理員轉譯成本體系統格式之訊息,以供該至少一個經模擬通信配接器之一共同通信配接器處理程序進行處理。
- 如請求項18之方法,其中該等為多個客體處理系統格式之I/O命令訊息包括佇列直接輸入輸出(QDIO)協定格式之通道命令字(CCW)及非QDIO協定格式之CCW。
- 如請求項18之方法,其中該多個裝置管理員將該等為多個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息,以供該至少一個經模擬通信配接器之一共同通信配接器處理程序進行處理,該共同通信配接器處理程序係一開放系統配接器(OSA)處理程序。
- 如請求項15之方法,其中該模擬進一步包括提供可經由該至少一個經模擬通信配接器存取之多個網路驅動程式介面,且其中該多個裝置管理員跨越該至少一個經模擬通信配接器共用該多個網路驅動程式介面。
- 如請求項15之方法,其中該至少一個客體處理系統包括劃分成多個隔離記憶體區塊之記憶體,且其中該模擬包括允許該多個裝置管理員中之每一裝置管理員存取該多個隔離記憶體區塊之每一記憶體區塊。
- 如請求項15之方法,其中該模擬進一步包括:藉由以下步驟初始化I/O架構模擬:藉由自一已定義輸入/輸出組態目錄獲得組態資訊來初始化該多個裝置管理員;針對每一經初始化裝置管理員形成一訊息佇列;初始化該至少一個經模擬通信配接器;針對每一至少一個經模擬通信配接器形成一服務佇列,該服務佇列係可經由一模擬器服務介面存取;及 發出該初始化完成之信號,在此之後可接收為該至少一個客體處理系統格式之I/O命令訊息供在該多個裝置管理員處轉譯。
- 如請求項15之方法,其中該等為至少一個客體處理系統格式之I/O命令訊息包括通道命令字(CCW),且其中該方法進一步包括:由一裝置管理員攔截至少一個CCW、將該至少一個CCW轉譯為至少一個以本體系統格式之訊息以供該至少一個經模擬通信配接器進行處理、將該至少一個為本體系統格式之訊息放置在一與該裝置管理員相關聯之訊息佇列上、經由該訊息佇列在該至少一個經模擬通信配接器處接收該至少一個為本體系統格式之訊息、並在該至少一個經模擬通信配接器處提供對該至少一個為本體系統格式之訊息之通信配接器處理、且在其後將資料自該至少一個經模擬通信配接器發出至一網路介面。
- 如請求項15之方法,其中該至少一個經模擬通信配接器及該多個裝置管理員中之至少一者形成該經模擬I/O架構之至少一個I/O子系統,且其中該方法進一步包括針對該至少一個I/O子系統中之每一I/O子系統,週期性地向記憶體儲存關於該I/O子系統之狀態之復原資訊,並使用針對該I/O子系統的該週期性儲存之復原資訊來從該I/O子系統處的故障中無障礙地復原。
- 如請求項25之方法,其中該無障礙地復原包括將該I/O子系統之一故障經模擬通信配接器或裝置管理員重新開始 至其故障時之一儲存狀態,且其中該至少一個I/O子系統係至少一個通道命令識別符,且其中該至少一個經模擬通信配接器包括至少一個開放系統配接器(OSA)處理程序。
- 一種促進至少一個客體處理系統之輸入/輸出(I/O)處理之系統,該系統包括:一處理環境,其包括一用於至少部分模擬、一I/O架構的模擬器,該模擬器包括:一模擬器I/O介面;多個裝置管理員,該多個裝置管理員模擬經模擬I/O架構之複數個I/O裝置,其中為該經模擬I/O架構之該複數個I/O裝置中之每一I/O裝置提供一單獨裝置管理員,且其中該多個裝置管理員接收該至少一個客體處理系統之I/O命令訊息,該I/O命令訊息為至少一個客體處理系統格式;多個訊息佇列,每一訊息佇列與該多個裝置管理員中之一各自裝置管理員相關聯;至少一個經模擬通信配接器,其將該多個裝置管理員介接至於該經模擬I/O架構外部之至少一個網路驅動程式處理程序;及其中該多個裝置管理員將經接收為至少一個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息,且以本體系統格式提供該等信息以供該至少一個經模擬通信配接器進行處理,從而促進該至少一個客體處 理系統之I/O處理。
- 如請求項27之系統,其中該多個裝置管理員將為多個客體處理系統格式之I/O命令訊息轉譯為本體系統格式之訊息以供該至少一個經模擬通信配接器進行處理。
- 如請求項27之系統,其中該模擬器進一步包括可經由該至少一個經模擬通信配接器存取之多個網路驅動程式介面,且其中該多個裝置管理員跨越該至少一個經模擬通信配接器共用該多個網路驅動程式介面。
- 如請求項27之系統,其中該至少一個客體處理系統包括劃分成多個隔離記憶體區塊之記憶體,且其中該模擬器允許該多個裝置管理員中之每一裝置管理員存取該多個隔離記憶體區塊中之每一記憶體區塊。
- 如請求項27之系統,其中該至少一個經模擬通信配接器及該多個裝置管理員中之至少一者形成該經模擬I/O架構之至少一個I/O子系統,且其中該系統針對該至少一個I/O子系統中之每一I/O子系統進一步包括用於週期性地向記憶體儲存關於該I/O子系統之狀態之復原資訊並使用針對該I/O子系統的該週期性儲存之復原資訊來從該I/O子系統處的故障中無障礙地復原。
- 如請求項31之系統,其中該用於無障礙地復原之構件包括用於將該I/O子系統之一故障經模擬通信配接器或裝置管理員重新開始至其故障時之一儲存狀態之構件,且其中該至少一個I/O子系統係至少一個通道命令識別符,且其中該至少一個經模擬通信配接器包括至少一個開放系統配接器(OSA)處理程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/693,896 US8099274B2 (en) | 2007-03-30 | 2007-03-30 | Facilitating input/output processing of one or more guest processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200846914A TW200846914A (en) | 2008-12-01 |
TWI421698B true TWI421698B (zh) | 2014-01-01 |
Family
ID=39795821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097108366A TWI421698B (zh) | 2007-03-30 | 2008-03-10 | 用以促進至少一個客體處理系統之輸入/輸出(i/o)處理之電腦程式產品、方法及系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8099274B2 (zh) |
JP (1) | JP5363017B2 (zh) |
CN (1) | CN101276288B (zh) |
TW (1) | TWI421698B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5048526B2 (ja) * | 2008-01-10 | 2012-10-17 | 株式会社日立製作所 | 計算機システム及びその計算機システムへのレガシーブート方法 |
US20100199008A1 (en) * | 2009-01-30 | 2010-08-05 | Kwang Wee Lee | System and method for implementing a remote input device using virtualization techniques for wireless device |
US8442509B2 (en) * | 2009-01-30 | 2013-05-14 | Cassis International Pte. Ltd. | System and method for managing a wireless device from removable media with processing capability |
US10452817B1 (en) * | 2009-04-08 | 2019-10-22 | Trend Micro Inc | File input/output redirection in an API-proxy-based application emulator |
US9158566B2 (en) | 2009-09-18 | 2015-10-13 | International Business Machines Corporation | Page mapped spatially aware emulation of computer instruction set |
US8447583B2 (en) | 2009-09-18 | 2013-05-21 | International Business Machines Corporation | Self initialized host cell spatially aware emulation of a computer instruction set |
US8949106B2 (en) * | 2009-09-18 | 2015-02-03 | International Business Machines Corporation | Just in time compiler in spatially aware emulation of a guest computer instruction set |
US8428930B2 (en) * | 2009-09-18 | 2013-04-23 | International Business Machines Corporation | Page mapped spatially aware emulation of a computer instruction set |
EP3002703B1 (en) * | 2009-12-14 | 2017-08-30 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
EP2513789B1 (en) | 2009-12-14 | 2019-10-23 | Citrix Systems, Inc. | A secure virtualization environment bootable from an external media device |
KR20110094764A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 트랜잭션 기반 입출력 인터페이스를 제공하는 가상화 장치 및 방법 |
US8296482B2 (en) * | 2010-06-27 | 2012-10-23 | Intel Corporation | Translating requests between full speed bus and slower speed device wherein the translation logic is based on snoop result and modified cache state |
US20130054533A1 (en) * | 2011-08-24 | 2013-02-28 | Microsoft Corporation | Verifying a data recovery component using a managed interface |
US9063760B2 (en) * | 2011-10-13 | 2015-06-23 | International Business Machines Corporation | Employing native routines instead of emulated routines in an application being emulated |
KR101805627B1 (ko) * | 2011-11-28 | 2017-12-08 | 삼성전자주식회사 | 컴퓨터 시스템의 부팅 제어 방법 및 이를 수행하는 부팅 제어 장치 |
US8898444B1 (en) * | 2011-12-22 | 2014-11-25 | Emc Corporation | Techniques for providing a first computer system access to storage devices indirectly through a second computer system |
US10698686B2 (en) | 2017-11-14 | 2020-06-30 | International Business Machines Corporation | Configurable architectural placement control |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10642757B2 (en) | 2017-11-14 | 2020-05-05 | International Business Machines Corporation | Single call to perform pin and unpin operations |
US10558366B2 (en) | 2017-11-14 | 2020-02-11 | International Business Machines Corporation | Automatic pinning of units of memory |
US10761983B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Memory based configuration state registers |
US10664181B2 (en) | 2017-11-14 | 2020-05-26 | International Business Machines Corporation | Protecting in-memory configuration state registers |
US10635602B2 (en) | 2017-11-14 | 2020-04-28 | International Business Machines Corporation | Address translation prior to receiving a storage reference using the address to be translated |
US10552070B2 (en) | 2017-11-14 | 2020-02-04 | International Business Machines Corporation | Separation of memory-based configuration state registers based on groups |
US10496437B2 (en) | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
US10901738B2 (en) | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
US10761751B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
CN110460675B (zh) * | 2019-08-22 | 2021-10-08 | 广东鉴面智能科技有限公司 | 一种访客通知消息管理和推送方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488716A (en) * | 1991-10-28 | 1996-01-30 | Digital Equipment Corporation | Fault tolerant computer system with shadow virtual processor |
TW200411537A (en) * | 2002-12-19 | 2004-07-01 | Intel Corp | Methods and systems to manage machine state in virtual machine operations |
US20050076324A1 (en) * | 2003-10-01 | 2005-04-07 | Lowell David E. | Virtual machine monitor |
US20050268071A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment |
TW200636567A (en) * | 2005-03-11 | 2006-10-16 | Microsoft Corp | Systems and methods for multi-level intercept processing in a virtual machine environment |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0588046A1 (en) * | 1992-08-14 | 1994-03-23 | International Business Machines Corporation | IEEE standard 802.2 virtual device driver |
JP3302112B2 (ja) * | 1993-06-28 | 2002-07-15 | キヤノン株式会社 | 複合通信制御装置 |
US5983012A (en) * | 1993-09-28 | 1999-11-09 | Bull Hn Information Systems Inc. | Executing programs of a first system on a second system |
US6466962B2 (en) * | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
GB2337434B (en) * | 1997-03-14 | 2002-01-30 | Ian Charles Ogilvy | Method and apparatus for controlling communications |
US5974049A (en) | 1997-08-29 | 1999-10-26 | International Business Machines Corporation | Internet protocol assists for high performance LAN connections |
US6658459B1 (en) * | 1998-02-27 | 2003-12-02 | Adaptec, Inc. | System for sharing peripheral devices over a network and method for implementing the same |
US6862735B1 (en) * | 1999-02-11 | 2005-03-01 | Sun Microsystems, Inc. | Mechanism by which platform independent software may bind to and access platform dependent software |
US6976083B1 (en) | 1999-02-19 | 2005-12-13 | International Business Machines Corporation | Apparatus for providing direct data processing access using a queued direct input-output device |
US6345241B1 (en) * | 1999-02-19 | 2002-02-05 | International Business Machines Corporation | Method and apparatus for simulation of data in a virtual environment using a queued direct input-output device |
US6978233B1 (en) | 2000-03-03 | 2005-12-20 | Unisys Corporation | Method for emulating multi-processor environment |
US7085705B2 (en) | 2000-12-21 | 2006-08-01 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment |
JP2002259060A (ja) * | 2001-02-15 | 2002-09-13 | Internatl Business Mach Corp <Ibm> | 複数の入力デバイスを備えたコンピュータシステム、入力システム、デバイス管理プログラム、デバイス設定プログラム、ダブルクリック伝達方法、および記憶媒体 |
US7272831B2 (en) * | 2001-03-30 | 2007-09-18 | Intel Corporation | Method and apparatus for constructing host processor soft devices independent of the host processor operating system |
US7260820B1 (en) * | 2001-04-26 | 2007-08-21 | Vm Ware, Inc. | Undefeatable transformation for virtual machine I/O operations |
US7072824B2 (en) | 2001-05-09 | 2006-07-04 | Lucent Technologies Inc. | Method and apparatus for emulating a processor |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US20030093649A1 (en) | 2001-11-14 | 2003-05-15 | Ronald Hilton | Flexible caching of translated code under emulation |
JP2005128692A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | シミュレータ及びシミュレーション方法 |
US7558723B2 (en) * | 2003-12-12 | 2009-07-07 | Microsoft Corporation | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices |
US7484210B2 (en) * | 2004-02-17 | 2009-01-27 | Intel Corporation | Apparatus and method for a generic, extensible and efficient data manager for virtual peripheral component interconnect devices (VPCIDs) |
JP4186852B2 (ja) * | 2004-03-19 | 2008-11-26 | 日本電気株式会社 | エミュレーション方式及びプログラム |
US7478388B1 (en) * | 2004-04-21 | 2009-01-13 | Vmware, Inc. | Switching between multiple software entities using different operating modes of a processor in a computer system |
US20060253894A1 (en) * | 2004-04-30 | 2006-11-09 | Peter Bookman | Mobility device platform |
US7941799B2 (en) * | 2004-05-27 | 2011-05-10 | International Business Machines Corporation | Interpreting I/O operation requests from pageable guests without host intervention |
US7546599B2 (en) * | 2004-12-20 | 2009-06-09 | Intel Corporation | Method, apparatus and system for instructing a virtual device from a virtual machine |
TWI359377B (en) * | 2005-04-05 | 2012-03-01 | Ibm | System and method for providing execute-in-place f |
US20070074192A1 (en) * | 2005-08-30 | 2007-03-29 | Geisinger Nile J | Computing platform having transparent access to resources of a host platform |
US7606868B1 (en) * | 2006-03-30 | 2009-10-20 | Wmware, Inc. | Universal file access architecture for a heterogeneous computing environment |
US7954099B2 (en) * | 2006-05-17 | 2011-05-31 | International Business Machines Corporation | Demultiplexing grouped events into virtual event queues while in two levels of virtualization |
US20080126614A1 (en) * | 2006-09-26 | 2008-05-29 | Giap Yong Ooi | Input/output (I/O) device virtualization using hardware |
-
2007
- 2007-03-30 US US11/693,896 patent/US8099274B2/en active Active
-
2008
- 2008-03-10 TW TW097108366A patent/TWI421698B/zh active
- 2008-03-28 JP JP2008085312A patent/JP5363017B2/ja active Active
- 2008-03-28 CN CN2008100869505A patent/CN101276288B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488716A (en) * | 1991-10-28 | 1996-01-30 | Digital Equipment Corporation | Fault tolerant computer system with shadow virtual processor |
TW200411537A (en) * | 2002-12-19 | 2004-07-01 | Intel Corp | Methods and systems to manage machine state in virtual machine operations |
US20050076324A1 (en) * | 2003-10-01 | 2005-04-07 | Lowell David E. | Virtual machine monitor |
US20050268071A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment |
TW200636567A (en) * | 2005-03-11 | 2006-10-16 | Microsoft Corp | Systems and methods for multi-level intercept processing in a virtual machine environment |
Also Published As
Publication number | Publication date |
---|---|
TW200846914A (en) | 2008-12-01 |
US20080243465A1 (en) | 2008-10-02 |
JP5363017B2 (ja) | 2013-12-11 |
CN101276288B (zh) | 2012-05-23 |
US8099274B2 (en) | 2012-01-17 |
JP2008293479A (ja) | 2008-12-04 |
CN101276288A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI421698B (zh) | 用以促進至少一個客體處理系統之輸入/輸出(i/o)處理之電腦程式產品、方法及系統 | |
US10963282B2 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
US10678655B2 (en) | Using RDMA for fast system recovery in virtualized environments | |
US8046641B2 (en) | Managing paging I/O errors during hypervisor page fault processing | |
US11445028B2 (en) | System and method for providing secure console access with multiple smart NICs using NC-SL and SPDM | |
US9092297B2 (en) | Transparent update of adapter firmware for self-virtualizing input/output device | |
US8464259B2 (en) | Migrating virtual machines configured with direct access device drivers | |
JP5536878B2 (ja) | ファイバ・チャネル・ファブリックへのアクセスの変更 | |
US10656877B2 (en) | Virtual storage controller | |
US7437738B2 (en) | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices | |
US8417796B2 (en) | System and method for transferring a computing environment between computers of dissimilar configurations | |
TWI439867B (zh) | 動態實體及虛擬多重路徑輸入/輸出 | |
WO2018058942A1 (zh) | 一种数据处理方法以及备份服务器 | |
US8073674B2 (en) | SCSI device emulation in user space facilitating storage virtualization | |
US20060005189A1 (en) | Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity | |
US20120159245A1 (en) | Enhanced error handling for self-virtualizing input/output device in logically-partitioned data processing system | |
JP3933587B2 (ja) | 計算機システム、計算機装置及びオペレーティングシステムの移送方法 | |
US10922110B2 (en) | Method for storing data in a virtualized storage system | |
Guay et al. | Early experiences with live migration of SR-IOV enabled InfiniBand | |
US8271258B2 (en) | Emulated Z-series queued direct I/O | |
Tasoulas et al. | Prototyping Live Migration With SR-IOV Supported InfiniBand HCSs | |
US20230019814A1 (en) | Migration of virtual compute instances using remote direct memory access | |
US12009990B1 (en) | Hardware-based fault injection service |