TW201025138A - Real-time signal handling in guest and host operating systems - Google Patents

Real-time signal handling in guest and host operating systems Download PDF

Info

Publication number
TW201025138A
TW201025138A TW098133289A TW98133289A TW201025138A TW 201025138 A TW201025138 A TW 201025138A TW 098133289 A TW098133289 A TW 098133289A TW 98133289 A TW98133289 A TW 98133289A TW 201025138 A TW201025138 A TW 201025138A
Authority
TW
Taiwan
Prior art keywords
signal
operating system
thread
work
guest
Prior art date
Application number
TW098133289A
Other languages
English (en)
Inventor
Eric Kass
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201025138A publication Critical patent/TW201025138A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

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)
  • Stored Programmes (AREA)

Description

201025138 六、發明說明: 【發明所屬之技術領域】 式產品。 本發明-般係關於電腦系統内的訊號處理方法 方法的電腦系統、以及包含執行該方法的代碼部分的電月= 【先前技術】 ❹ /獅Power<D系統(系統i⑧模型)執行⑽i5/〇s 糸統,其管理多個i5/0S作業系統程序 = 執行中的程式碼,其包含資源集合,例如料: 址空間、包含全局變數的資料區、以及一或多個= 動物件。在此程序中的第—個執行緒,係稱作起 :二,單-執行緒程序,允許-個以上的=:::;; 的耘序,係稱為多執行緒。 P钒仃 =i5/GS⑧可攜式應用程式解決方案 系統程序内的應4且可執行i5/0S作業 統碼部份。AIX㈣ 砂(物絲執行者)的系
At4ί αα 乍業糸統係υΝΙχ的衍生,主要是針對古埤 ===_業系_於二= 向主作業系統程序的特定執行緒的啟動堆,顯示指 露於結合式、’=業系統的代碼部分的堆框。其細節係揭 弋⑽系統貧訊中心中,作業系統下_>i5/〇s資訊 4 201025138 -> 編 制 程 序 ->i5/0S PASE , http://publib. boulder, ibm. com/infocenter/systems/to pic/rzalf/rzalfintro. htm。 i5/0S作業系統的整合語言環境(ILE)架構,提供一 組應用程式介面(API),稱為ILE通用執行環境(CEE)API, 係適用於混合語言應用程式’因為此等應用程式不依賴高階 語吕。其細節請參照結合式IBM系統資訊中心中,作業系統 下-> i 5/0S資訊-> 編制程序->應用程式介面_>依照類別的 ® API->ILE CEE API , http://publib. boulder, ibm. com/infocenter/systems/to pic/apis/ilelal.htm。 在i5/0S主作業系統的情況下,資料庫系統〇5/〇s的 負料庫糸統稱為DB2)係整合於i5/0S主作業系統中。i5/0S 主作業系統包含資料庫系統以及嵌入式客作業系統pASE WIX) ’係安裝於一個電腦系統主機,例如系統。 ❹ 應用程式撰寫者或使时可透過ILE應用程式介面,發佈 i5/0S主作業系統的系統呼叫,而在内建的資 料庫作業。此資料庫作業會阻擋主作業系統=庫 庫作業完成為止。 資料庫統亦可常駐於遠㈣統主機,其可具有任意的 :、糸統。由於本區彡統錢及遠端纟統主機係透過網路裝 =目連^此資料庫存取係插槽I/Q作業。由於資料庫驅動 程式的客戶端及飼服器構件係安裝於不同的主機上因此系 5 201025138 統呼叫不能進行阻擋,且當伺服 執行時,客戶端可被t斷。 器端的資料庫作業仍在繼續
的非’峨是用來通知程序或執行緒一個特定 二號通常係描述為軟體中斷。非同步訊號是 ,其二二^ 4或早一程序内多個執行緒間的通訊方法。當傳 5二二號广程序或執行緒時’此程序或執行緒捕捉此訊 ==執仃專屬處理此訊號的朗程式的代碼部分。此代碼 1亦稱為訊號處理器。此訊號處理係根據訊號的配置,盆 :由喊號碼表示。作㈣統内訊號的處理,係類似於因為 收到-中斷而進人—中斷處理器的硬體系統。 基=特定執行緒而由某些動作所產生的訊號係被送到 導致該信號被產生的該執行緒。與—程序ID、程序群組⑺、 或非同步事件(例如終端活動)相_而產生的訊號會被傳 送到該程序。P0SIX相容的次程序pthread—kiu()傳送一讯 號到一執行緒。因為執行緒ID辨識一程序内的執行緒,所 以此次程序僅可傳送訊號到相同程序内的執行緒。130幻乂相 容的次程序kilio,因此殺除命令傳送一訊號到一程序。 傳給程序的訊號可自另一個程序或目的程序本身送出。 細節請參照例如馬丁馬可習1997年的多執行緒應用程 式内的特定執行緒資料及執行緒處理, http://www. linuxjournal.com/article/2121 ’ 以及結合式 IBM系統資訊中心作業系統下->ΑΙχ資訊_>ΑΙχ的編制程序 >般程式概念:撰寫及彳貞錯程式:多執行緒程式_〉訊號管 6 201025138 理 ->i5/0S PASE , http://publib. boulder, ibm. com/infocenter/systems/to pic/com. ibm. aix. genprogc/doc/genprogc/signal jngmt. h tm ° 多執行緒電腦程式應用可在單一作業系統環境中,提 供即時訊號處理。在多執行緒程式中處理非同步訊號的一 通用方法’係遮罩作業系統程序中所有執行緒内的訊號,並 接著在相同的程序中,建立至少一個個別的執行緒,其唯一 目的係等待訊號、捕捉、以及處理訊號。
訊號遮罩係維持在執行緒層。當作業處理對一特定執行 緒的訊號,且該執行緒對此種類型的訊號作遮罩時,作業系 統不會轉呈此訊號。當訊號被送到一特定程序,且該程序所 有的執行緒都對此種類型的訊號作遮罩時,此訊號將不會被 傳遞。當不只一個執行緒對此種類型的訊號作遮罩時,其中 了個執行緒將捕捉此訊號,並啟動訊號處理。每個執行緒皆 =有自己的-組訊號’射被遮罩,且將被阻播而不會被 行緒。PGSIX相容的次程式pthrea(Lsigmask()係 用來取侍並設定呼叫執行緒的訊號遮罩。 讯號處理器係維持在程序声。f矣;a 令 號 其中一個等 直到 二專属執=來等待非同步產生的訊 式SlgWait()阻擋呼叫執行緒, 待的訊號被送到該程序或該執行緒為止。 7 201025138 通訊,或透過修改共享資料作間接軌、。方式作直接 他資源不在任-時間點被多個计保護身料或其 =合。互斥係-相互排相。在任何L 、 個執行緒可取製財_,且 馳 釋放互斥,使烟或另—執行緒可以再次^的擁有者可以
訊號處理在i5/〇s PASE環境中之所以合燃从& 因為i5/os主作業系统程序所:會變的複雜,係 oun·㈣ΓΓ ⑨ 執行應用程式或_ 業系統的代碼部分,而另一方面運作主 =統呼叫。當應用程式發佈客作業系統的系統呼叫時系作 業系統程序執行客作業系統的代碼部分。 -當一訊號自客作業系統傳送到作業系統程序時,即透過 執行客作#系統的系統呼叫’程序捕捉此訊號,且啟動客作 業系統的訊號處理器。當一訊號自主作業系統傳送到作業系 、’充程,時,即透過執行主作業系統的系統呼叫,程序亦捕捉 此讯號,且啟動主作業系統的訊號處理器。 嵌於i5/〇S主作業系統的PASE (AIX)客作業系統的習
知實作’允許將i5/〇s環境變數qibm_PASE_MAP_SIGMLS 設定為一特定值(大寫字母Π」),使i5/〇s主作業系統的 預設訊號處理器’將一訊號(即程序自主作業系統捕捉到的 訊號)映射到客作業系統’即主作業系統的訊號處理器立即 201025138 啟動客作業系統的訊號處理n ’即使捕捉到此訊號的程序的 執行緒可能對來自客作業系統對訊號作遮罩。有關環境變數 QIBM—PASE—MAP—SIGNALS的細節,請參照結合式ΙβΜ系統資 訊中心作業系統下一>i5/os資訊一>編制程序〉i5/〇s pASE及 QP2SHELLO與 QP2SHELL20下->執行一 i5/〇s pASE 程式, http.//publib. boulder, ibm. com/inf〇center/systems/in dex. jsp?topic=/apis/qp2shell. htm。 當作業系統的特定執行緒啟動i5/〇s主作業系統的系 統呼叫,以運作非遮罩作業時,舉例而言,插槽1/〇作業, 程序可捕捉來自主作業系統的特定訊號,且捕捉到訊號的執 行緒執行主作業系統的預設訊號處理器。若i5/〇s環境變數 Q|BM_PME_MAP_SIGMLS係奴祕纽,龍設訊號處理 器將訊號自主作業纽映射至客作業祕,以及客作業系統 強迫執行緒執行客作業系統的訊號處理器。 §特疋執行緒執行主作業系統的系統啤叫,以運作内部 遮罩作業時,例如對整合資料庫系統的資料庫請求,此執行 緒會對來自主作業系統的訊號作遮罩。在此情況下,此執行 緒無法捕捉到來自主作業系統的訊號,並啟動主作業系統的 預設訊號處理器。訊號將會暫停’直到主作業系統程序成為 非遮罩為止,即在資料庫作業完成之後。接著,依照環境變 數fIBM—PASE—MAP—SIGNALS,訊號可由主作業系統的訊號處 理器以及可能由客作業系統的訊號處理器作處理。這表示主 作業系統程序不能在一決定性的回應時間内處理被捕捉到 的訊號,此訊號係自主作業系統送到作業系統程序的訊號。 201025138 s 15/0S主作業系統程序的特定執行緒利肖ILE Ap卜 執行主作業系統的系統呼叫時,執行緒可對來自客作業系統 的訊號作遮罩。當執行緒捕捉到來自客作業系統的訊號時, 此訊號會被_在料狀態,直觀執行緒取消自己對來自 客作業系統的峨作遮罩為止。可惜的是,自客作業系統傳 达到作業系統程序的被捕捉到的訊號的處理,在時間上亦會 被延遲。 时商務應用程式SAP®R/3⑧以及mySAPc〇m(g)的語義係 早一執行,此料錢行於i5/GS聰作㈣統。這表 示在任何—個時間點,此應用程摘作業系統程序不能有多 執行緒執行應用程式碼部分,以及運作客作 的系統呼叫。 f多執行緒作㈣統中執行單—執行緒應用程式的需 參 t方部份立即與部分延遲訊賴__的可能解 決方案複雜化。 【發明内容】 理的=發明之—目的係提供在主作業系助作訊號處 其主作業系統具有—作業系統程序,在任 及#入^*此程序最多僅在—個執行緒中,執行應用程式 及嵌入式客作鮮統的代碼部分。當 作業系統程序時,隸* w m傅到 時門㈣L Γ 的峨處理賴在—決定性的 守間内被啟動’此時間點不應依賴作業系統程序執行 201025138 -遮罩作業中主作業系統的系統呼叫,或 -非遮罩作業中主作業系統的系統呼叫,或 ~應用程式碼部分,或 -客作業系統的系統呼叫。 再者,本發明之一目的係亦支援多執行緒應用程式。 方法ΐ發明之此目的係透過在主作業系統内作訊號處理之 ^及錢達成,其主作㈣統包含至少—個作業 。此作業系統程序執行應用程式碼部分及客季统踽 序可執行主作業系統的系統 作執行緒,係專屬於執行·程式碼部分。 鲁 等待執行====爾立—的訊號-執行緒對自主作業系作業系統的特定訊號,且工作 罩。工作執行緒對來ί主t,作業系統程序的訊號作遮 作執行緒執行流程的中斷讀系統的職作遮罩,避免了工 本發明之方法包合 捕捉來自主作業系統先,訊號-等待執行緒 況:情況A:當工作勃一 2 唬。接著,本發明區分二個情 以及情況B :當卫作執行主作業系統的系統呼叫’ 執订緒未執行主作業系統的系統呼叫。 在情況A,當工竹拥一 ^ 執仃、、者正在執行主作業系統的系統呼 201025138 行緒’使之不執行客作業系統的應用程 =統=代碼部分,其係適用於來== tit ΐ待執行緒完成處理特U號之後,此 t系H行_行客健系統的制料瑪部分 參 在本發明之-較佳實補中,t訊號 常的終止n執行緒運作錯誤處理,料允許工作 緒^行客作業系統的應用程柄部分以及系統呼叫。^ 作的錯誤處理可包含終止作業纽 ==會阻撐工作執一程式或客 f工作執行緒正在執行主作㈣統的純呼叫時,工作 執仃緒亦可對來自客作業系統的訊號作遮罩。 特定緒T號—等待執行緒間的检鎖機制,係透過 過ni斥i互斥)鎖的方式實施。訊號—等待執行绪係透 系絲H廡t、鎖’來保護工作執行緒,不讓其執行客作業 〜贿式碼部分及纽呼叫。當峨—等待執 等ΠΪι行緒要求取得相同的互斥鎖時,工作執 Μ料專寺’直峨—等待執行緒釋放互斥鎖為止。在 料執行緒完成客作業系統t的訊號處理後,訊號_ 切執行緒即透過釋放狀互斥鎖,來允許工作執行緒撕 12 201025138 客作業纽的制以碼部分及系統 作的錯誤處理,係在工作執彳㈣燃灯、,者所運 Γ 為訊號—等待執行緒在擁 被觸動 ϋ斥鎖_時’已不正常的結束而無 =況Β’王作執行緒未在執行主作業純的系統呼 叫。k表不工作執打緒正在執行應用程式碼 ❹
統鲁在此情況下,工作執行緒不會對來自客= 的=號作料。為了回應來自主健系統的特定捕捉=統 峨-等待執行賴動功執行緒,執行代碼部分,以處理 來自客作鮮、統的訊號’該訊號係義於來自主作 特定訊號。 '''' 在本發明之較佳實施例t,情況A與B二情況下,當第 二,業系統程序正在執行客作業系統的系統呼叫,傳送訊號 到弟一作業系統程序,接著客作業系統執行主作業系統的系 統訊號,以傳送特定訊號到第一作業系統程序,此特定訊號 係適用於來自第二作業系統程序的訊號。 在本發明之較佳實施例中,主作業系統的系統呼叫正在 運作一資料庫作業。 因此,本發明優勢地透過允許來自i5/0S主作業系統的 訊號’遞送到PASE (AIX)客作業系統,即使主要執行緒正 在執行ILE(整合語言環境)作業,即i5/0S主作業系統的系 統呼叫’且正對來自主作業系統的訊號作遮罩,而在習知技 13 201025138 術中新增即時訊號處理。訊號—等待執行緒與工作執行緒 的栓鎖機制,會保護作業系統程序,使其程序在任何一時^ 點,在此程序的只在-個執行_,執行制程式 系統中其中一者的代碼部分。 一 '、 本發明之方法可運作於魏硬體系統,例如⑽⑧ ❹ 系統(系統i®模型),此電腦硬體系統係執行於具有嵌入 客作業系統(例如臓(ΑΙχ))的主作業系統(例如丨5獨。 在硬體系統中,主作業系統與客作業系統 =主作業系統的作業系統程序可執行客作㈣統 行槽。電腦硬體系統的主作業系統可平行執行多個作 ^系統程序。作業系統程序魏行巾的 =例如等待信號、位址空間、全局變數、及二 所有的執行緒皆執行應用程式的代碼部分以及 作孝並運作主作業系統的系、統呼叫。在本發明中, 乍業系統程序的主要工作執行緒,係專屬執行應 而次要信號-等待執行緒係專屬處理;自主辦 =特定訊號,以避免工作執行緒執行流程的中斷3 係用來暫時保留等待訊號。訊號允許一
Sui、或不同作業系統間的多個執行緒_直接通 資料待執行緒間的間接通訊,共用 ==共用資料的内容,係可透過發佈_ ,緒執行流程,訊號=行二:=統;序= 允許工作執行緒執行客作業系統的“程式碼 14 201025138 呼叫。共用資料可為全 一 在執行主作業系統的代碼部分。’相;作執行緒是否正 行緒的鎖。在任—時^ 相互排斥鎖可用來作工作執 t只有一者可取得# ^^工作執打緒與訊號-等待執行緒 以再次釋放互斥鎖^^’二有此執行緒的擁有者可 則工作執行緒轉等待互:細·緒已取得互斥鎖, 釋放互斥鎖為止。 斥鎖,直到訊號'等待執行緒 其包J腦f式產品’供執行於資料處系統, 、 本方去之各步驟的電腦程式碼部分。 【實施方式】 述中實Γ列已描述於圖式及說明書中,雖然描 ^制本發明。㈣,熟此技藝者當知,本發明t作^ ^改及潤飾而不偏離專利申請襲所界定之較 4 Φ 精神及 勒》嘴。 、 本發明可以硬體、軟體、或硬體及軟體的結 何類型的電腦系統-或適用於實施在此所述之方 二 置亦適用於本發明。硬體及軟體的—般結合可為 腦系統,其具有電腦程式,係被載人並執行時,可 3 系統使其實施在此所述之方法邮式。本發明亦可嵌於: 程式產品中,其產品包含所有可實施在此所述之方法= 徵,且當載入於電腦系統時,可實施此等方法。/ 、寻 以任何語 本發明中的電腦程式手段或電腦程式,係指 15 201025138 5 以 導右Ϊ :寫的指令集合的任何表達,其指令係用 ,致,、有資喊理能力㈣、統,得以直接
Sr 或兩者情況發生之後運作彼功能,此等 』態重置a。、為另一5吾言、代碼、或標記;b)以不同性質 本發明係根據IBM的i5/GS PASE作㈣統作描述。當 任何其絲於主作業系統的客作靠統㈣用於本發
f本發明之較佳實施例中’商業應用程式(如 mySAP·⑽⑧或SAP®R/抑企業)係執行於難(Αΐχ)客作業系 。此應用程式具有單—執行緒程序的需求,此需求為本 ’明之目的之-。這表示在每—個程序中任__時間點,此 程序最多僅有-個執行緒職執行客作鮮統的應用程式 碼或系統呼十然而,執行於客作㈣統的應賺式並不一 定需要是單-執行緒。本發明亦_於多執行緒應用程式。 圖1十,工作執行緒(1〇1)係i5/〇s程序的主要執行緒, 此執行緒正在執行i5/GS主作鮮統的祕呼叫⑽)與應 用程式或PASE (AIX)客作業系統的代碼部份〇⑻。啟動 時,工作執行緒設定⑽)_遮罩〇〇9),以將自己對來自主 作業系統的訊號作遮罩。 考慮-範例’其中工作執行緒執行應隸式或客作業系 統的代碼部分’並需要運作需要轉㈣統的f源的任務, 16 201025138 此任務可為一資料庫作業:首先,工作執行緒設定(11〇)一 遮罩(111),以對來自客作業系統的訊號作遮罩,並透過發 佈主作業系統的系統呼叫,分支(112)到執行主作業系統的 代碼部分。再者,工作執行緒的主作業系統代碼部分(102) 可順序性地取得(113)並釋放(114)互斥鎖(n5)。互斥鎖係 「相互排斥鎖」的簡稱。互斥鎖係作為「閘道互斥」之用, 類似於走過一個可開啟並關閉的閘道。閘道互斥的取得,僅 在訊號-等待執行緒不阻擋(116)互斥鎖(117)的情況下才會 發生。在相反的情況下,當訊號—等待執行緒阻擒互斥鎖(117) 時,工作執行緒將會等待,直到訊號_等待執行緒釋放互斥 鎖、或擁有鎖的訊號-等待執行緒不正常的結束為止。工作 執行緒可設定(118)—狀態(119),以表示在主作業系統執 行。當工作執行緒完成主作業系統的系統呼叫時如果訊號 等待執行緒尚未取得(116)閘道互斥(ip),則工作執行緒 取得(120)並釋放(121)閘道互斥(122)。如上述,當訊號— 等待執行緒阻擋互斥鎖(117)時,工作執行緒將會等待,直 到訊號-等待執行緒釋放互斥鎖、或擁有鎖的訊號_等待執行 緒不正常的結束為止。標號(115, 117, 122)係代表相同的 閘道互斥。若工作執行緒在處理主作業系統的程式碼前,先 "又疋狀癌、(119),以表示在主作業系統執行,這將會取消相 同狀悲(124)的設定(123),以表示非在主作業系統中執行, 並自主作業系統代碼部分分支回到(125)應用程式或客作業 系統的代碼部分。標號(119, 124)代表相同狀態,表示工作 ^行緒的執行係在應用程式鱼客作業系統的代碼部分、或者 疋在主作業系統的代碼部分。最後,工作執行緒取消遮罩 (111)的設定(126),以取消自己對來自客作業系統的訊號的 17 201025138 遮罩,並_⑽)猜應餘式或客作鮮期代碼部分。 ^工作執行緒被啟動、或第-次執行主作業系統的代碼 部分前,例如在第-次的資料庫活動前,此活動可能係資料 庫驅動程式的載人或第-次的資料庫連接,碎執行緒開始 (104)次要執行緒⑽)。次要執行緒⑽)亦係執行i5/〇s 主作業系統的系統呼叫⑽)以及應用程式或PASE⑽)客 作業系統的代碼部分⑽…次要執行緒設定(⑽遮罩 (129)以將自己對來自客作業系統的訊號作遮H合(13〇) 至j主作業系統代碼部分、取消對來自主作業系統的訊號的遮 罩(132)的設定、並發佈sigwait()指令,以等待⑽)來自 主作業系統的峨。次要執行緒⑽)_為訊號_等待執行 緒’因為此執行緒等待來自主作業系統的訊號的同時,會對 客作業系統的訊號作遮罩。 ,在本發明之較佳實施例中,SAP商業應用程式永遠會傳 ,訊號給i5/OS主作業系統。若PASE (ΑΙχ)客作業系統的 ® '、統呼叫提出一第二訊號,則此訊號會由i5/〇S主作業系统 ,系統呼叫’重新映射至主作業系統的特定訊號。舉例而 5,PASE (AU)魏idll()會被重新映射到i5/〇s功能 kill()。這不是必要作業,但具有連續性的優勢·· 1. 互動對話的使用者所初始的訊號為i5/〇s主作業系 統的訊號。 ' 2. 習知技術中,j/os主作業系統的環境變數 ^1BM—MAP—P·—s IG1VALS可設定為特定值(大寫英文 子母「I」)。因此,當工作執行緒正在非遮罩作業中 18 201025138 執行i5/0S主作業系統的系統呼叫時,例如,插槽 I/O作業,以及當i5/0S主作業系統提出特定訊號 時,i5/0S主作業系統會自動將訊號自i5/0S主作業 系統映射到PASE (AIX)客作業系統的對應訊號,此 客作業系統可立即處理訊號,不顧工作執行緒係對來 自客作業糸統的訊號作遮罩。
3·訊號可自PASE (AIX)客作業系統傳送到另一個i5/〇S 程序,不顧目的程序已啟動嵌入式PASE (ΑΙχ)客作 ^系統。如果所有訊號為i5/0S主作業系統訊號,傳 送訊號到另一 i5/〇S程序的i5/〇S PASE應用程式無 需知道訊號係傳送到哪種類型的應用程式(純i5/〇s 或 i5/0S PASE)。
-一丨「木'丁、%队利紙得延到作業系統程序 t的訊號-等待執行緒⑽)會捕捉(134)此訊號,因為工作 t緒對來自主作業系統的訊號作遮罩。訊號等待執行緒 *已在π/os主作業系統安裝了自身的訊號處理器,因 =預設訊號處理器,並取消i5/os _環境變^ qibm_pase_map_signals 的影響。 訊號-等雜驗查工純行較^ 統的系統呼叫。Λ 了推γ +认太 丁王作菜系 藉丄二、 檢查,訊號—等待訊號讀取共用 呼叫的工作執行绪的狀態、或提取工作程序的呼=的疊系統 依照工作執行緒的狀態⑴9),可進行二個動作之一 19 201025138 或B :情況A ··若作執行緒正在執行主㈣系統的系統呼 叫(102) ’以及情況B :若1作執行緒未在執行主作業系統 的系統呼叫。在後者的情況,工作執行緒正在執行應用程式 及客作業系統中其中-者的代碼部分⑽),其中應用程式 正在發佈客作業系統的系統呼叫。 情況A) 當工作執行緒正在執行主作業系統的系統呼叫(1〇2) ❹時’訊號等待執行緒利用p〇SIX指令 pthread—mutex—lock〇,取得(116)主作業系統中的互斥鎖 (117)。僅在取得互斥鎖後或當發生錯誤時,此功能才回到 呼叫者。當另一執行緒鎖住互斥時,此系統呼叫將會等待, 直到互斥被釋放為止。考慮當自應用程式或客作業系統的代 碼部分分支(112)到主作業系統的代碼部分、或自主作業系 統的代碼部分分支到應用程式或客作業系統的代碼部分 (125)時,工作執行緒正確地取得(113, 12〇)並釋放(114, 121)互斥鎖(115,122)。在取得互斥鎖之後,訊號-等待執行 Ο 緒分支(I35)到客作業系統的代碼部分、呼叫posix指令 pthread_sigmask() ’以取消自己對來自客作業系統的訊號 的阻擋,即取消對來自客作業系統的訊號的遮罩(129)的設 定,並利用P0SIX指令pthread_kill()直接提供自己一個 相關聯的訊號。訊號-等待執行緒捕捉相關聯的訊號,並啟 動(138)客作業系統的訊號處理器。當訊號處理器完成時, 訊號-等待執行緒將自己對來自客作業系統的訊號作遮罩, 即再次設定(139)對來自客作業系統的訊號作遮罩(丨4〇)。接 著’訊號-等待執行緒分支(141)到主作業系統的代碼部分, 20 201025138 並釋放(143)互斥鎖(1Π),使得工作執行緒自主作業系統的 代碼部分回到應用程式或客作業系統的代碼部分的步驟不 會再被阻擋。最後’訊號-等待執行緒持續等待(143)來自主 作業糸統的訊號。 當PASE (AIX)客作業系統中SAP商業應用程式的訊號 處理器(138)發佈例如一個取消資料庫請求的請求時,工作 執行緒會結束資料庫程序’並等待取得(12〇)互斥鎖(122)。 當§孔说-等待執行緒釋放(142)相同的互斥鎖(117)時,工作 ® 執行緒可取得(120)並釋放(121)互斥鎖(122),並接著分支 回到(125)應用程式或客戶作業系統的代碼部分。因此,工 作執行緒可運作資源清除、回復到一致的資料庫儲存點、並 開始處理下一個工作單元。 在本發明之較佳實施例中,實驗顯示自i5/0S擁有者終 結互斥(PTHREAD—MUTEXJMERTERM—NP)衍生閘道互斥(丨i & 117,122,153)是有益處的。細節請參考結合式ibm系統資 β 訊中心作業系統下—〉i 資訊->編制程序->應用程式介面 ->依照類別的API->Pthread API-〉互斥同步 http://publib. boulder, ibm. com/infocenter/systems/to pic/apis/users48.thm.在工作執行緒自丨5/坭主作業系 統的代碼部分分支回到(125)應用程式或pase (AIX)客作業 系統的代碼部分時,會利用指令pthrea(LmuteX-1〇ck〇, 試圖取得(120)閘道互斥。然而,在工作執行緒執行i5/〇s 主作業系統的系統呼叫時,訊號-等待執行緒可能已取得 (116)相同的閘道互斥⑴7)。若在卫作執行緒試圖取得⑽) 21 201025138 im053)之前、或當工作執行緒正在等待取得閘道互 喊^純行_冰115),賴道互斥接 __錯誤。這表示訊號—等待執行緒已: ㈣敕/且主要工作執行緒會發佈(154)指令灿(),以 整個程序。若在試圖取得閘道互斥時,卫作執行緒有另 ^固錯誤,麻執行_會齡exito來不正常地結 束i5/OS程序。
情況B) 圖2綠示當工作執行緒在主作業系統林忙碌時,這表 示工作執行緒正在執行應用程式或客作業系統的代碼部分 (103) ’訊號-等待執行緒如何捕捉〇61)訊號。為了回絲 自主作業系統的訊號(161) ’訊號-等待執行緒分支〇62)到 客作業系統的代碼部分,並在客作業系統中廣播(163)指令 kil 1()。因為訊號—等待執行緒對來自客作業系統的訊號作 遮罩(164),因此僅有正在執行客作業系統的代碼部分(1〇3) 的工作執行緒可以捕捉此訊號,並使用(165)客作業系統的 訊號處理器。在傳送訊號後,訊號-等待執行緒分支(166) 回到主作業系統的代碼部分,並再次等待(167)來自主作業 系統的訊號。在工作執行緒已處理訊號後,可繼續(168)先 前的程式碼。 圖3a繪示客作業系統中工作執行緒的啟動(2〇1)的流 程圖’客作業系統初始化(202)訊號-等待執行緒的啟動,如 圖4a所示。工作執行緒對來自主作業系統的訊號作遮罩 22 201025138
(203) ’並執行(204)客作業系統中的應用程式,這代表執行 應用程式的程式碼部分及客作業系統的系統呼叫。在工作執 行緒執行(206)主作業系統的系統啤叫前’會先將自己對來 自客作業系統的訊號作遮罩(205)。根據步驟(2〇6),圖3C 繪示工作執行緒如何執行主作業系統的系統呼叫。在工作執 行緒繼續執行(208)客作業系統中的應用程式,且自己作結 束(209)、或由作業系統要求結束前,工作執行緒會取消對 來自客作業系統的訊號作遮罩的設定(2〇7)。 在圖3b的流程圖中,當例如訊號_等待執行緒在客作業 系統中廣播訊號’且工作執行緒捕捉到(212)來自訊號_等& 執行緒的訊號時,工作執行緒正在執行(211)客作業系統的 應用程^。在工作執行緒繼續執行⑵4)客作業系統中的應 用程式前,工作執行緒會呼叫⑵3)客作業系統的訊號處ς 圖3C係參照圖3a的步驟⑽),並繪示工作執行緒如 =執行主作«統❹、統呼叫。在工作執行緒自客作業系統 =碼部分分支(221)到主作業系統代碼部分之後,工作執行 缺=⑵2)取得圖1所示的互斥⑴5)。在訊號_等待執行 =擁有相同的互斥⑴7)時,可能會不正f的結束。當工作 ^緒試圖取得此被去棄的互斥時,會發生系統錯誤 ^賴誤也可能是基於魏时。在祕錯誤的情 以n疋j的力支〕’工作執行緒發佈(224) exit()指令, 且心正Γ呈序。當沒有發生系統錯誤(223,「否」的分支), 為訊號—料執行緒已取射目_互相沒有釋放互斥 23 201025138
It作執行緒會料,朗可取得互斥為止(222)。接著, 工作執行緒設定(225)狀態,表示在主作料 «^(226)„ 〇 ^ 盈a,式碼。在分支_(223)客作業系統前,工作執行緒 二試「圖⑽)取得互斥。當基於上述原因發生系統錯誤時 U 5是」的分支),工作執行緒發佈(230) exit()指令, 以終結整個程序。當沒有發生系統錯誤時(229,「否」的分 支)’且因為訊號-等待執行緒已取得相同的互斥而沒有釋放 ❹ 互1時’ I作執行緒會等待,直到可取得互斥為止⑽)。 ,著作執行緒重新設定(231)表示在主作㈣統進行執 订的狀態,以表示在客作業系統進行執行,並釋放(232)互 斥0 圖4a的流程圖描述訊號-等待執行緒如何啟動(241), 並將自己對來自客作業系統的訊號作遮罩(242)。訊號_等待 執行緒分支到主作業系統的代碼部分,並以較佳實施例的修 改過的訊號處理器,來取代(243)預設主作業系統訊號處理 參 器。訊號—等待執行緒取消自己對來自主作業系統的訊號的 遮罩(244),並等待(245)來自主作業系統的訊號。訊號-等 待執行緒的等待狀態(245)分別係圖4b及4c所呈現的流程 圖的啟動狀態(251,261)。 圖4b I會示訊號-等待執行緒如何等待來自主作業系統 的訊號的流程圖。在訊號-等待執行緒繼續等待(254)來自主 作業系統的訊號之前’訊號-等待執行緒可捕捉(252)來自主 作業系統的訊號,並呼叫(253)主作業系統的修改過的訊號 24 201025138 處理器,如圖4d所示。 圖4c的流程圖繪示訊號-等待執行緒在結束(264)前的 步驟:始於等待(261)來自主作業系統的訊號的狀態,訊號_ 等待執行緒將自己對來自主作業系統的訊號作遮罩(262), 並回復(263)預設主作業系統訊號處理器。 圖4d參照圖4b的步驟(253),且流程圖繪示主作業系 統中訊號-等待執行緒的訊號處理器的各步驟。當訊號_等待 執行緒呼叫(271)主作業系統中的訊號處理器時,訊號_等待 執行緒試圖(272)取得圖1所示之工作執行緒的互斥 (117)。這疋與工作執行緒在主作業系統的系統呼叫起點與 終點所取得(113,120)並釋放(114,121)的互斥相同的互斥 (115,122)。在系統錯誤的情況下(273,「是」分支),訊號 -等待發佈(274) exit()指令,以終止整個程序。當沒有發 生系統錯誤(273,「否」分支)’以及因為卫作執行緒已經取 得相同的互斥而沒有釋放互斥時,訊號—等待會一直等待, 直到互斥被釋放且可取得(272)為止。接著,訊號_等待執行 緒執行(275)客作業系統中訊號-等待執行緒的程式碼部 分,以處理捕捉自主作業系統的特定訊號,如圖知所示, 並釋放(276)主作業系統中工作執行緒的互斥。訊號處理器 在主作業系統中,完成(277)圖4b的步驟(253)。 _圖4e參照圖4d的步驟(275),且顯示訊號—等待執行緒 執行客作㈣統的訊號—等待執行緒的裎式碼的流程圖,其 中此程式碼係由主作業系統的訊號處理器所啟動。訊號等 25 201025138 待執行緒分支(281)到客作業系統的代碼部分、將捕捉自主 作業系統的訊號號碼映射(282)到客作業系統所適用的訊號 號碼、以及檢查(283)工作執行緒是否正在執行主作業系統 的系統呼叫。若檢查(283)的回覆為「是」,則訊號-等待執 行緒取消自己對來自客作業系統的訊號的遮罩(284),以及 將相關聯的訊號重新指引(285)給自己,進而呼叫客作業系 統的訊號處理器。相關聯的訊號係適用於主作業系統的特定 訊號。當訊號-等待執行緒完成客作業系統的訊號處理程序 時,訊號-等待執行緒再次設定(286)對來自客作業系統的訊 號的遮罩。 當工作執行緒未在執行主作業系統的系統呼叫時(283, 回覆「否」),工作執行緒將訊號廣播至作業系統程序,進 而启^動(288)工作執行緒中客作業系統的訊號處理器。在訊 號-等待執行緒完成決定點(283)二個分支的步驟後,訊號_ 等待執行緒回到(287, 289)主作業系統的代碼部分。)
如上述,本發明係與多執行緒應用程式相容。多執行緒 應用程式可包含主要應雜錢行緒,專屬於執行應用程式 碼部分H欠要應用程式執行緒,專屬於處理來自客作業 系統的Λ號。主要應用程式執行緒總是可以對 統的訊號作遮罩。 ΎΈ^ 古次施例中,本發明可實施於#料庫驅動程式的共 ΐ貝拙/㉟。在崎況下’蚊使帛本發明的應用程式是 早一執行緒或多執行緒係重要的。彳貞測此錄行緒應用程式 26 201025138 可否處理主要應用程式執行緒以外的次要執行緒應用程式 的訊號是不可行的。 根據本發明’主要應用程式執行緒啟動次要訊號-等待 執行緒’係在主要應用程式執行緒第一次執行主作業系統的 系統呼叫前,專屬處理來自主作業系統的特定訊號。 在情況A ’當主要應用程式執行緒正在執行主作業系統 的系統呼叫時,次要訊號-等待執行緒處理來自主作業系統 的特定訊號,並保護主要應用程式執行緒,使之不至於執行 應用程式及客作業系統的代碼部分。 /在清況B,虽主要應用程式正在執行應用程式或客作業 系統的代碼部分時,次魏昏等待執行_透過發佈指令 ill() ’在客作業系統中廣播第二訊號,盆 统的特定捕捉訊號。由於主要應用二= 罩,因此次要朗程式執行緒係唯—捕捉並處理來自 -人要執行緒-等待執行緒的廣播第二訊號的執行緒。 系統程序包含不只—個卫作執行緒時每個工作 /丁等種t務。每個轉執倾會有—料屬的訊 等躲行料被純倾理此程序的 對應工作執仃緒的訊號之用。因此, 應用程式相S。 發㈣與錄行緒的 27 201025138 ,本發明之較佳實施例中,主作㈣統的系統呼叫,一 =糸在内建的資料庫系統中執行諸庫作業。由於資料庫系 統(=5/0S為DB2)係整合於i5/〇s主作業系统中,因此對内 =料庫的系統呼叫係阻擋呼叫,如下:自客作業系統到主 3系統的⑽呼叫(透過_應⑽式介面ilecall〇 或簡CALLO)阻擋自客作業系統傳送到作業系統程序的外 4訊號的呼彳ji作執行緒。主作鮮、統内到整合的i5/〇s資 料庫系統的系統呼叫,係主作業系統中的阻播系統呼个因 此,作業系統程序的工作執行崎來自主作㈣統及客作業 糸統的訊號作遮罩。 資料庫纽亦可常駐於遠端電腦㈣域,此主機係透 過網路與本區電腦系統相連。接著,系統呼叫使用ι/〇插 槽,且不會阻擋。呼叫工作執行緒可被中斷。
為了確保來自第二客作業系統程序的訊號遞送訊號可 被映射到主作㈣統的對應特定訊號,並透過主作業系統作 傳送。接著’第-作㈣統程序的峨特執行緒係唯— 捕捉並處理捕捉來自^作業祕的特定訊號的執行緒。 本發明並不受限於資料庫作業,且可應用於任何遮罩 非遮罩作業,其對應主作靠統的卩錢或非阻n統呼叫。 在本發明之第一替換實施例中,應用程式可直接對客
業系統發佈訊號。 T 28 201025138 狀況A:當工作執行緒正在執行主作業系統的系統呼 叫,且對來自客作業系統的訊號作遮罩時會需要第二訊號 4待執行緒。第二訊號-等待執行緒可對來自主作業系統的 訊號作遮罩,並等待來自客作業系統的訊號。 訊 等待執行緒捕捉到來自客作業系統的第一訊號時,會分支 ,,業系統,並在主作業系統中廣播對應的第二訊號。第二 汛號會由第一訊號-等待執行緒作處理,如本發明之較佳實 施例所述。 在狀況B,當工作執行緒未在執行主作業系統的系統呼 叫時’第二訊號-等待執行緒或工作執行緒(二者皆取消對來 自客作業系統的訊號作遮罩),可直接捕捉來自客作業系統 ,第訊號。然而,第一訊號-等待執行緒係對來自客作業 系統的訊號舰罩,且僅在等待來自主作㈣制訊號。當 工作執行緒捕捉到來自客作業系統的第一訊號時,會呼叫客 作業系統的訊號處職。當第二職_等純行緒捕捉到來 自客作業系統的第-訊號時’會分支到主作㈣統,並在主 ❿ 作業系統廣播適用於第-她訊號的對應第二訊號n 號會由第一訊號-等待執行緒作處理,如本發明之較佳實施 例所述’即第-訊號-等待執行緒在客作業系統傳送一第三 訊號,係適用於工作執行緒捕捉到的第二訊號。唯一不同之 處在於’錄佳#_巾,第-織_特執行緒原本會發 佈kilio的情況下,第一替換實施例中,此執行緒會在客 作業系統中直接對工作執行緒發佈pthread-kiu()。這避 免,第-替換實施例中若第二訊號—等待執行緒再次看到來 自第一訊號-等待執行緒的第三訊號時發生任何循環。 29 201025138 在本發明之第二替換實關中,作料、統程序會有多個 工作執行緒,支援錄行緒應歸式。此作業祕程序僅會 有一個專屬訊號-等待執行緒,處理所有來自主作業系統的 魏’並控制作業魏程序所有工作執行緒的栓鎖機制。 因此,本發明提供近乎立即(即時)處理訊號的方法而 _ m 遮罩或非料作業巾’執行應㈣式或客作業系統的 代碼。P分或主作㈣統的系統呼叫駐作執行緒。 【圖式簡單說明】 本發明係以制作贿,且*受限於圖式的形狀,其令·· =1雜據本㈣,紅作執行緒正在執行主作業系統 、系統呼叫時,—程序的訊號處理的示意方塊圖; 系統::艮據=當广:_緒未執行主作業系統的 時程序的訊旎處理的示意方塊圖; 的流idi3(c)係根據本發明工作執行緒中程式碼執行 碼執4⑷雜據本發魏號—等躲行緒中程式 【主要元件符號說明】 101 102 103 104 工作執行緒 糸統呼叫 代碼部份 工作執行緒開始 201025138
105 106 107 108 、 110 109 、 111 112 113 114 115、117、122 116 118 119 120 121 123 124 125 126 127 128 129 130 131 132 134 次要執行緒 系統呼叫 代碼部分 工作執行緒設定 遮罩 分支 取得 釋放 互斥鎖 不阻擂 設定 狀態 取得 釋放 設定 狀態 分支回到 設定 繼續 次要執行緒設定 遮罩 集合 等待 遮罩 捕捉 31 201025138 分支 啟動 設定 遮罩 分支 、143 釋放 捕捉 分支 廣播 遮罩 使用 分支 等待 繼續
32

Claims (1)

  1. 201025138 201025138 七 申清專利範圍 1. _議程序係 於該主作業系統之-客作業系統的的系統呼叫、以及嵌 代碼部作執行緒’係專屬執行該應用程式 待執彳f ’社作執行轉立—綱_訊號-等 理來自主作業系統的特定訊號,以及該工作 ❹避免該工作執;緒=;==系統程序的訊號作遮罩,以 該方法包含該訊號1待執行緒 行緒正在執行該主作業系統的- 特定訊號的細,財法⑽於其包含㈣統的一 系統呼 叫時所捕捉到的該特定訊號 不使該工作執行 _〜料執行緒倾社作執行緒, 緒執仃雜健祕的助程式代碼部分以及系統呼叫, 系統的訊ΐ 雜自該客作業 ^ 作業系統的該特定訊號, 等待執練訊驗,該訊號一 分以及系統呼叫。 ,執仃4客作業系統的應用程式碼部 2·如專利申請範圍第i項所述之 绪不正魏結束,且从許虹作㈣巾當概號-等待執行 用程式碼部分錢系統呼叫時,$工二錢_客作業系統的應 μ忭執仃緒運作錯誤處理。 33 201025138 ^如專利申請範圍帛2項所述之方法,其中由該 作的該錯誤處理係包含結束該作㈣統程序。執仃緒所運 4. 如㈣之專利申請範圍任一項所述之方法 亦係對來自該客作錄統的訊號作遮罩。、“執仃緒 5. 如前述之專利申請範圍任一項所述之方法,其中: 該訊號-等待執行緒係透過取得一互斥鎖 使該工作執行緒執行該客作料期應用程式二 該訊號-等待執行緒係透過釋放該互斥鎖 執行該客作業系統的應用程式碼部分以及系統呼^,SX 仃緒 該工作執行緒所運作的錯誤處理係當該工作 號-等待執行緒已不正常地結束,並擁有該 、 互斥鎖時被啟動。 蜎而無去取传該 鲁 6. 如專利申請範圍第!項所述之方法,更包含以下步驟: 為了回應該特定捕捉到的訊號,以及當該 ^主作業系統的-系統呼叫,以及該工作執行 == 業系統的訊號作遮罩, 对采自该客作 該訊號-等待執行緒啟動該工作執行緒, 處理來自該客作㈣統的訊號,該訊麵翻於該分’ 7. 如前述之專利申請範圍任一項所述之方法,其中—… 一 統程序正在執行該客作業系統的一系統呼叫, 第一作業系 乂傳送一訊號到該 34 201025138 該 ^乍ίΐί程序,以及接著該客健系統正在執行該主作業系 統的-系統啤叫,以傳送該特定訊號到該第— 特定訊號麵祕來自該第二作㈣触相雜^、’ ’ 方法’其中該主作業系統 9. 一 在執行 料纽卷序正 主作業从之-客__作=叫、_於該 號一』待執行緒*捕捉來比程的中處^ ,'該電腦糸統包含^作該訊 叫時所捕捉到的該特绪正在執打該主作㈣統的一系統呼 緒細佩行 —士:執該客作* 該訊號~ 業系統的應用程式碼部 =:^=特一 35 201025138 10. —種電腦程式產品,係供執行於一資料處理系統,該系統包 含電腦程式碼部分,係運作前述專利申請範圍第1到8項之一項 之各步驟。
    36
TW098133289A 2008-11-28 2009-09-30 Real-time signal handling in guest and host operating systems TW201025138A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP08170166 2008-11-28

Publications (1)

Publication Number Publication Date
TW201025138A true TW201025138A (en) 2010-07-01

Family

ID=41361316

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133289A TW201025138A (en) 2008-11-28 2009-09-30 Real-time signal handling in guest and host operating systems

Country Status (4)

Country Link
US (1) US8060788B2 (zh)
EP (1) EP2353087B1 (zh)
TW (1) TW201025138A (zh)
WO (1) WO2010060680A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461916B (zh) * 2012-02-23 2014-11-21 Wistron Corp 切換雙作業系統之方法以及使用該方法之電子裝置
US9052920B2 (en) 2012-02-23 2015-06-09 Wistron Corp. Electronic devices and methods for switching between dual operating systems
US9201814B2 (en) 2012-02-23 2015-12-01 Wistron Corp. Electronic devices and methods for sharing peripheral devices in dual operating systems

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341643B2 (en) * 2010-03-29 2012-12-25 International Business Machines Corporation Protecting shared resources using shared memory and sockets
US8719478B2 (en) 2011-08-11 2014-05-06 Hewlett-Packard Development Company, L.P. Deadlock prevention
US9378038B2 (en) 2013-06-07 2016-06-28 American Megatrends, Inc. Methods, devices and computer readable storage devices for emulating a gyroscope in a guest operating system from a host operating system
US20140366024A1 (en) * 2013-06-07 2014-12-11 American Megatrends, Inc. Methods, Devices and Computer Readable Storage Devices for Emulating a Light Sensor in a Guest Operating System from a Host Operating System
US9858097B2 (en) 2013-06-07 2018-01-02 American Megatrends, Inc. Methods, devices and computer readable storage devices for emulating rotation events in a guest operating system from a host operating system
CN107562544A (zh) * 2017-09-08 2018-01-09 郑州云海信息技术有限公司 一种信号处理的方法及装置
US11580217B2 (en) * 2019-10-25 2023-02-14 Vmware, Inc. Implementing deferred guest calls in a host-based virtual machine introspection system
US11829807B2 (en) * 2020-05-15 2023-11-28 Samsung Electronics Co., Ltd. Method and apparatus for preventing task-signal deadlock due to contention for mutex in RTOS

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961865B1 (en) * 2001-05-24 2005-11-01 Oracle International Corporation Techniques for resuming a transaction after an error
US7257516B2 (en) * 2001-09-20 2007-08-14 International Business Machines Corporation Method, apparatus, and program for eliminating thread skew in multithreaded performance benchmarks
US7765547B2 (en) * 2004-11-24 2010-07-27 Maxim Integrated Products, Inc. Hardware multithreading systems with state registers having thread profiling data
US7716521B1 (en) * 2005-05-06 2010-05-11 Oracle America, Inc. Multiple-core, multithreaded processor with flexible error steering mechanism
US7721148B2 (en) * 2006-06-29 2010-05-18 Intel Corporation Method and apparatus for redirection of machine check interrupts in multithreaded systems
US7921329B2 (en) * 2007-05-09 2011-04-05 Microsoft Corporation Worker thread corruption detection and remediation
US7870443B2 (en) * 2008-10-23 2011-01-11 Dell Products L.P. Method to isolate crash of an embedded multi-threaded application to a shared library call without core dump files or debugger

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461916B (zh) * 2012-02-23 2014-11-21 Wistron Corp 切換雙作業系統之方法以及使用該方法之電子裝置
US9052920B2 (en) 2012-02-23 2015-06-09 Wistron Corp. Electronic devices and methods for switching between dual operating systems
US9201814B2 (en) 2012-02-23 2015-12-01 Wistron Corp. Electronic devices and methods for sharing peripheral devices in dual operating systems

Also Published As

Publication number Publication date
WO2010060680A1 (en) 2010-06-03
EP2353087B1 (en) 2016-12-28
US8060788B2 (en) 2011-11-15
US20100138685A1 (en) 2010-06-03
EP2353087A1 (en) 2011-08-10

Similar Documents

Publication Publication Date Title
TW201025138A (en) Real-time signal handling in guest and host operating systems
US7058950B2 (en) Callback event listener mechanism for resource adapter work executions performed by an application server thread
JP5501377B2 (ja) トランザクションメモリにおけるトランザクション処理
KR102072726B1 (ko) 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들
US6848106B1 (en) Snapshot restore of application chains and applications
JP2520543B2 (ja) プログラムの実行を管理する方法及びシステム
WO2004077270A2 (en) Systems and methods for transaction chaining
JP5710434B2 (ja) アシスト・ハードウエア・スレッドの拡張可能な状態追跡のための方法、情報処理システム、およびプロセッサ
US20070033640A1 (en) Generic context service in a distributed object environment
US8271768B2 (en) Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions
US20080005438A1 (en) Methods and Apparatuses to Maintain Multiple Execution Contexts
US20100262972A1 (en) Deadlock avoidance
WO2015131542A1 (zh) 数据处理方法、装置和系统
US8146085B2 (en) Concurrent exception handling using an aggregated exception structure
JP4432087B2 (ja) データベース更新管理システム、プログラムおよび方法
JP2006146678A (ja) 情報処理装置におけるプログラム制御方法、情報処理装置、及びプログラム
CN101770394B (zh) 基于构件接口的异步调用方法
US20150088810A1 (en) Efficient coordination across distributed computing systems
US20040040024A1 (en) System and method for a process shutdown interface
US20070120865A1 (en) Applying rendering context in a multi-threaded environment
Blewett et al. Pro Asynchronous Programming with. NET
CN108052392B (zh) 一种基于区块链的业务处理方法及装置
WO2014009845A1 (en) Operating a program code object in conjunction with an application context
JP6151946B2 (ja) 情報処理システム、情報処理装置およびそれらの制御方法
JP4327226B2 (ja) 情報処理装置におけるメソッドの処理方法、情報処理装置、及びプログラム