專利名稱:用于實時操作系統(tǒng)的任務(wù)異常診斷方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,更具體地涉及一種用于實時操作系統(tǒng)的 4壬務(wù)異常it斷方法及系統(tǒng)。
背景技術(shù):
任務(wù)是可以由實時操作系統(tǒng)調(diào)度并由處理器執(zhí)行的能夠竟?fàn)?系統(tǒng)資源的最小單位,它能夠獨(dú)立運(yùn)行來完成某一相對獨(dú)立的功
能。任務(wù)在系統(tǒng)中具有有唯一的標(biāo)識(即TID)、自己獨(dú)立的任務(wù) 控制塊(Transaction Control Block,簡稱TCB )、以及4壬務(wù)棧。系統(tǒng) 調(diào)度器使用TCB的數(shù)據(jù)結(jié)構(gòu)來管理任務(wù)調(diào)度功能。其中,TCB包 括任務(wù)的當(dāng)前狀態(tài)、優(yōu)先級、要等待的事件或資源、任務(wù)程序碼的 起始地址、初始堆棧指針等信息。任務(wù)具有優(yōu)先級是內(nèi)核進(jìn)行任務(wù) 調(diào)度的基礎(chǔ)。
實時才喿作系統(tǒng)是指能在確定的時間內(nèi)執(zhí)4亍其功能,并對外部的 異步事件作出響應(yīng)的計算才幾系統(tǒng)。 一般的實時系統(tǒng)由一個實時多任 務(wù)環(huán)境構(gòu)成。實時多任務(wù)環(huán)境允許一個實時應(yīng)用作為 一 系列獨(dú)立任 務(wù)來運(yùn)行,各任務(wù)有各自的線程和系統(tǒng)資源。實時操作系統(tǒng)的內(nèi)核 實現(xiàn)了對多任務(wù)的管理,包括任務(wù)的調(diào)度、任務(wù)的異常處理等。在系統(tǒng)的運(yùn)行過程中,程序代碼或數(shù)據(jù)的出4告(如非法命令、 總線或地址錯誤、被零除、寫越界等)會導(dǎo)致系統(tǒng)出現(xiàn)問題。實時 操作系統(tǒng)異常處理模塊此時將會引起異常的任務(wù)休眠,并保存任務(wù) 在異常出錯處的狀態(tài)值。通常會將這些信息記錄下來,以用于任務(wù) 異常診斷。但因受到實際運(yùn)行環(huán)境復(fù)雜、出錯原因眾多等因素的影 響,僅僅依賴于這些記錄的信息并不能夠快速定位任務(wù)的異常問 題,找到任務(wù)異常的根因。
當(dāng)實時操作系統(tǒng)的異常監(jiān)控模塊檢測到某個任務(wù)有異常發(fā)生
時,實時操作系統(tǒng)異常處理模塊記錄該任務(wù)相關(guān)的TCB等信息。 這些信息包括異常類型、任務(wù)ID、任務(wù)名、調(diào)用棧、異常指令、寄 存器值等信息,這些信息可用于后續(xù)的任務(wù)異常分析。
但是這些信息由實時操作系統(tǒng)直接提供,可擴(kuò)展性差。并且這 些記錄信息缺少靈活性,與任務(wù)的功能、作用不存在關(guān)聯(lián),因此利 用記錄的信息,只能找到問題出現(xiàn)在哪個地方,而不能找出其他的 與任務(wù)相關(guān)的重要資源信息。
由上可見,在進(jìn)行異常任務(wù)診斷時,需要引入一種新的解決方 案,以解決上述的問題。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種用于實時操作系統(tǒng)的任務(wù)異常診斷方法 及系統(tǒng),以能夠得到用于任務(wù)異常診斷的更多的相關(guān)信息,從而提 高任務(wù)異常分析的效率。
根據(jù)本發(fā)明的一個方面,提供了一種用于實時操作系統(tǒng)的任務(wù) 異常"i貪斷方法,包括以下步驟當(dāng)出現(xiàn)4壬務(wù)異常時,任務(wù)異常i貪斷 模塊根據(jù)發(fā)生異常的任務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過
任務(wù)異常記錄函凄t與任務(wù)的ID之間的對應(yīng)關(guān)系定位任務(wù)異常記錄 函數(shù);以及通過任務(wù)異常記錄函數(shù)記錄異常任務(wù)的相關(guān)信息,以用 于診斷異常任務(wù)。
在上述任務(wù)異常診斷方法中,在出現(xiàn)任務(wù)異常之前,進(jìn)行以下 步驟在實時操作系統(tǒng)中創(chuàng)建獨(dú)立的任務(wù)異常診斷模塊,其包含任 務(wù)異常處理信息表,任務(wù)異常處理信息表包含任務(wù)異常記錄函數(shù)及 其與任務(wù)的ID之間的對應(yīng)關(guān)系。
在上述的任務(wù)異常診斷方法中,采用注冊機(jī)制向任務(wù)異常診斷 模塊注冊任務(wù)異常記錄函數(shù)和對應(yīng)關(guān)系。
在上述的任務(wù)異常"^斷方法中,還包括以下步驟當(dāng)任務(wù)主動 退出時,通過調(diào)用反注冊函數(shù)取消任務(wù)異常記錄函數(shù)、及對應(yīng)關(guān)系 在任務(wù)異常診斷模塊上的注冊。
在上述的任務(wù)異常診斷方法中,實時操作系統(tǒng)中的系統(tǒng)異常監(jiān) 控模塊發(fā)送異常消息給任務(wù)異常診斷模塊,異常消息包含發(fā)生異常 的4壬務(wù)的ID。
在上述的任務(wù)異常診斷方法中,相關(guān)信息根據(jù)任務(wù)的功能來設(shè)置。
在上述的任務(wù)異常診斷方法中,異常任務(wù)的相關(guān)信息包括下列 信息中的至少一種系統(tǒng)正處理的數(shù)據(jù)信息、收發(fā)包信息、任務(wù)相 關(guān)的重要數(shù)據(jù)結(jié)構(gòu)、任務(wù)異常時間、異常任務(wù)名、異常任務(wù)ID、設(shè) 備軟硬件版本信息、及系統(tǒng)剩余內(nèi)存。
在上述的任務(wù)異常診斷方法中,當(dāng)任務(wù)異常診斷模塊沒有在任 務(wù)異常處理信息表中查詢到與ID相對應(yīng)的任務(wù)異常記錄函數(shù)時,
不對發(fā)生異常的任務(wù)的相關(guān)信息進(jìn)行記錄、或通過任務(wù)異常處理信 息表中的所有的任務(wù)異常記錄函數(shù)對任務(wù)的相關(guān)信息進(jìn)行記錄。
根據(jù)本發(fā)明的另 一方面,提供了 一種用于實時操作系統(tǒng)的任務(wù)
異常診斷系統(tǒng),其包括任務(wù)異常診斷模塊創(chuàng)建裝置,用于在實時 操作系統(tǒng)中創(chuàng)建獨(dú)立的任務(wù)異常診斷模塊,任務(wù)異常診斷模塊包含 任務(wù)異常處理信息表,任務(wù)異常處理信息表包含任務(wù)異常記錄函數(shù) 及其與任務(wù)的ID之間的對應(yīng)關(guān)系;以及異常任務(wù)相關(guān)信息記錄裝 置,用于當(dāng)出現(xiàn)任務(wù)異常時,指令任務(wù)異常診斷模塊根據(jù)發(fā)生異常 的任務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過對應(yīng)關(guān)系定位任務(wù) 異常記錄函數(shù),并通過任務(wù)異常記錄函數(shù)記錄異常任務(wù)的相關(guān)信 息,以用于診斷異常任務(wù)。
在上述的任務(wù)異常診斷系統(tǒng)中,采用注冊機(jī)制向任務(wù)異常診斷 模塊注冊任務(wù)異常記錄函數(shù)和對應(yīng)關(guān)系。
在上述的任務(wù)異常診斷系統(tǒng)中,還包括注冊取消裝置,用于當(dāng) 任務(wù)主動退出時,通過調(diào)用反注冊函數(shù)取消任務(wù)異常記錄函數(shù)、及 對應(yīng)關(guān)系在任務(wù)異常診斷模塊上的注冊。
在上述的任務(wù)異常診斷系統(tǒng)中,當(dāng)出現(xiàn)任務(wù)異常時,通過消息 方式通知任務(wù)異常診斷模塊發(fā)生異常的任務(wù)的ID。
在上述的任務(wù)異常"^斷系統(tǒng)中,實時操作系統(tǒng)中的系統(tǒng)異常監(jiān) 控模塊發(fā)送異常消息給任務(wù)異常診斷模塊,異常消息包含發(fā)生異常 的任務(wù)的ID。
在上述的任務(wù)異常診斷系統(tǒng)中,相關(guān)信息根據(jù)任務(wù)的功能來設(shè)置。
在上述的任務(wù)異常診斷系統(tǒng)中,異常任務(wù)的相關(guān)信息包括下列
信息中的至少一種系統(tǒng)正處理的數(shù)據(jù)信息、收發(fā)包信息、任務(wù)相 關(guān)的重要數(shù)據(jù)結(jié)構(gòu)、任務(wù)異常時間、異常任務(wù)名、異常任務(wù)ID、設(shè) 備軟硬件版本信息、及系統(tǒng)剩余內(nèi)存。
在上述的任務(wù)異常診斷系統(tǒng)中,當(dāng)任務(wù)異常診斷模塊沒有在任 務(wù)異常處理信息表中查詢到與ID相對應(yīng)的任務(wù)異常記錄函數(shù)時, 異常任務(wù)相關(guān)信息記錄裝置不對發(fā)生異常的任務(wù)的相關(guān)信息進(jìn)行 記錄、或通過任務(wù)異常處理信息表中的所有的任務(wù)異常記錄函數(shù)對 任務(wù)的相關(guān)信息進(jìn)行記錄。
通過上述才支術(shù)方案,本發(fā)明實現(xiàn)了如下4支術(shù)效果
本發(fā)明有效地豐富了任務(wù)異常診斷的手段,提升了任務(wù)異常分 析的效率;并且設(shè)計者可以根據(jù)各個任務(wù)功能的不同,靈活設(shè)計各 個任務(wù)異常需記錄的內(nèi)容,從而實現(xiàn)了與業(yè)務(wù)功能相關(guān)聯(lián)的記錄。
本發(fā)明的其它特征和優(yōu)點將在隨后的i兌明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā) 明的目的和其他優(yōu)點可通過在所寫的i兌明書、4又利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并 不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中
圖1示出了根據(jù)本發(fā)明的用于實時操作系統(tǒng)的任務(wù)異常診斷方 法的流程圖; 圖2示出了根據(jù)本發(fā)明的在實時操作系統(tǒng)內(nèi)進(jìn)行任務(wù)異常診斷 時,各模塊間的動作示意時,實現(xiàn)異常信息記錄的具體流程圖;以及
圖4示出了根據(jù)本發(fā)明的用于實時操作系統(tǒng)的任務(wù)異常診斷系 統(tǒng)的才匡圖。
具體實施例方式
下面將參考附圖并結(jié)合實施例,來詳細(xì)i兌明本發(fā)明。
圖1是根據(jù)本發(fā)明的在實時操作系統(tǒng)內(nèi)進(jìn)行任務(wù)異常診斷時, 各模塊間的動作示意圖;圖2是根據(jù)本發(fā)明的在實時操作系統(tǒng)內(nèi)進(jìn) 行任務(wù)異常診斷時,實現(xiàn)異常信息記錄的具體流程圖。
參考圖1、圖2、及圖3所示,說明根據(jù)本發(fā)明的用于實時操 作系統(tǒng)的任務(wù)異常斷方法。。
如圖l所示,根據(jù)本發(fā)明的用于實時操作系統(tǒng)得任務(wù)異常診斷 方法包纟舌以下步驟
S104,當(dāng)出現(xiàn)任務(wù)異常時,任務(wù)異常診斷模塊根據(jù)發(fā)生異常的 任務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過任務(wù)異常記錄函數(shù)與 任務(wù)的ID之間的對應(yīng)關(guān)系定位任務(wù)異常記錄函數(shù)。例如,在實時 操作系統(tǒng)的異常處理模塊檢測到系統(tǒng)有異常發(fā)生時,通過消息方式 (消息中含異常任務(wù)的ID)通知圖2中的任務(wù)異常診斷模塊。任務(wù)異 常診斷模塊收到此消息后,使用任務(wù)ID在任務(wù)異常處理信息表中 查詢對應(yīng)的異常i己錄函凄t。
如查詢到,則進(jìn)行S106,通過任務(wù)異常記錄函數(shù)記錄異常任務(wù) 的相關(guān)信息,以用于診斷異常任務(wù);如查詢不到,則根據(jù)系統(tǒng)的策 略不進(jìn)行記錄、或者調(diào)用所有的任務(wù)異常診斷模塊的異常記錄函 數(shù),實現(xiàn)全面的信息記錄。如圖2所示,將任務(wù)異常信息記錄在存 儲模塊中。在進(jìn)行記錄的時候可以附加記錄系統(tǒng)重要信息如任務(wù) 異常時間、異常任務(wù)名、異常任務(wù)ID、設(shè)備軟硬件版本信息、系統(tǒng) 剩余內(nèi)存等。其進(jìn)行記錄的處理流程如圖3所示。其中,我們可以 根據(jù)各個任務(wù)的不同功能,靈活設(shè)計任務(wù)異常記錄的內(nèi)容。例如, 對于處理報文轉(zhuǎn)發(fā)的任務(wù),我們可以記錄該任務(wù)正在處理的報文信 息;對于進(jìn)4于隊列調(diào)度的4壬務(wù),我們可以記錄該任務(wù)正在處理的隊 列信息。
其中,在出現(xiàn)任務(wù)異常之前,進(jìn)行以下步驟S102,在實時操 作系統(tǒng)中創(chuàng)建獨(dú)立的任務(wù)異常診斷模塊,其包含任務(wù)異常處理信息 表,任務(wù)異常處理信息表包含任務(wù)異常記錄函數(shù)及其與任務(wù)的ID 之間的對應(yīng)關(guān)系。此處的任務(wù)異常it斷才莫塊的實例如圖2中所示的 具有注冊、調(diào)度、異常記錄功能的任務(wù)異常診斷模塊。
其中,采用注冊機(jī)制向任務(wù)異常診斷模塊注冊任務(wù)異常記錄函 數(shù)和對應(yīng)關(guān)系。例如,注冊索引為任務(wù)ID (即TID)。在每個任務(wù) 生成的時候,實時才喿作系統(tǒng)會為任務(wù)分配唯一的任務(wù)標(biāo)識(即TID )。 我們可以將此作為唯一索引向異常診斷才莫塊注冊一個異常記錄函 數(shù),該異常記錄函數(shù)在該任務(wù)異常時由異常診斷模塊進(jìn)行觸發(fā)調(diào) 用,實現(xiàn)該任務(wù)相關(guān)重要資源信息(包括但不限于系統(tǒng)正處理的數(shù) 據(jù)信息、收發(fā)包信息、任務(wù)相關(guān)的重要數(shù)據(jù)結(jié)構(gòu)等)的記錄功能。 待相關(guān)任務(wù)均完成注冊后,在任務(wù)異常診斷模塊會生成一張任務(wù)異 常處理信息表,該表中存儲了相關(guān)任務(wù)的異常記錄函數(shù)以及與任務(wù) ID的對應(yīng)關(guān)系如下表所示
任務(wù)ID 異常記錄函數(shù) TID_01 TID—02 TID一03
其中,該任務(wù)異常i貪斷方法還包括以下步驟S108,當(dāng)任務(wù)主 動退出時,通過調(diào)用反注冊函數(shù)取消任務(wù)異常記錄函數(shù)、及對應(yīng)關(guān) 系在任務(wù)異常診斷模塊上的注冊。
其中,實時操作系統(tǒng)中的系統(tǒng)異常監(jiān)控模塊發(fā)送異常消息給任 務(wù)異常診斷模塊,異常消息包含發(fā)生異常的任務(wù)的ID。
其中,相關(guān)信息根據(jù)任務(wù)的功能來設(shè)置。
其中,異常任務(wù)的相關(guān)信息包括下列信息中的至少一種系統(tǒng) 正處理的數(shù)據(jù)信息、收發(fā)包信息、任務(wù)相關(guān)的重要數(shù)據(jù)結(jié)構(gòu)、任務(wù) 異常時間、異常任務(wù)名、異常任務(wù)ID、設(shè)備軟硬件版本信息、及系 纟充剩余內(nèi)存。
其中,當(dāng)任務(wù)異常診斷模塊沒有在任務(wù)異常處理信息表中查詢 到與ID相對應(yīng)的任務(wù)異常記錄函數(shù)時,不對發(fā)生異常的任務(wù)的相 關(guān)信息進(jìn)行記錄、或通過任務(wù)異常處理信息表中的所有的任務(wù)異常 記錄函數(shù)對任務(wù)的相關(guān)信息進(jìn)行記錄。
其中,在系統(tǒng)檢測到異常發(fā)生時,因系統(tǒng)的調(diào)度策略不同,采 取的措施也不同。有些會重新啟動系統(tǒng);有些會重新啟動任務(wù);有 些可能不做任何處理。為了保證記錄的任務(wù)異常信息在設(shè)備重啟動
Exception一Record一O 1 Exception—Record—02 Exception Record 03
后信息不會丟失,任務(wù)異常診斷模塊提供了固化記錄功能,不但可
將記錄信息存儲在系統(tǒng)提供的RAM(如內(nèi)存)中,還可將記錄信 息存書者到系統(tǒng)的ROM設(shè)備中(如NVRAM, FLASH等)。
另外,本發(fā)明使用友好的交互方式提供任務(wù)異常信息查詢功 能、任務(wù)異常信息清空功能。
圖4是根據(jù)本發(fā)明的用于實時操作系統(tǒng)的任務(wù)異常診斷系統(tǒng)的 框圖。如圖4所示,根據(jù)本發(fā)明的用于實時操作系統(tǒng)的任務(wù)異常診 斷系統(tǒng)包括任務(wù)異常診斷模塊創(chuàng)建裝置402,用于在實時操作系 統(tǒng)中創(chuàng)建獨(dú)立的任務(wù)異常診斷模塊,任務(wù)異常診斷模塊包含任務(wù)異 常處理信息表,任務(wù)異常處理信息表包含任務(wù)異常記錄函數(shù)及其與 任務(wù)的ID之間的對應(yīng)關(guān)系;以及異常任務(wù)相關(guān)信息記錄裝置404, 用于當(dāng)出現(xiàn)任務(wù)異常時,指令任務(wù)異常診斷才莫塊根據(jù)發(fā)生異常的任 務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過對應(yīng)關(guān)系定位任務(wù)異常 記錄函數(shù),并通過任務(wù)異常記錄函數(shù)記錄異常任務(wù)的相關(guān)信息,以 用于診斷異常任務(wù)。
其中,采用注冊機(jī)制向任務(wù)異常診斷模塊注冊任務(wù)異常記錄函 凄t和只于應(yīng)關(guān)系。
其中,該任務(wù)異常i貪斷系統(tǒng)還包括注冊取消裝置406,用于當(dāng) 任務(wù)主動退出時,通過調(diào)用反注冊函數(shù)取消任務(wù)異常記錄函數(shù)、及 對應(yīng)關(guān)系在任務(wù)異常診斷模塊上的注冊。
其中,當(dāng)出現(xiàn)任務(wù)異常時,通過消息方式通知任務(wù)異常診斷模 塊發(fā)生異常的任務(wù)的ID。實時操作系統(tǒng)中的系統(tǒng)異常監(jiān)控模塊發(fā)送 異常消息給任務(wù)異常診斷模塊,異常消息包含發(fā)生異常的任務(wù)的 ID。
其中,相關(guān)信息根據(jù)任務(wù)的功能來設(shè)置。其中,異常任務(wù)的相
關(guān)信息包括下列信息中的至少一種系統(tǒng)正處理的數(shù)據(jù)信息、收發(fā) 包信息、任務(wù)相關(guān)的重要數(shù)據(jù)結(jié)構(gòu)、任務(wù)異常時間、異常任務(wù)名、 異常任務(wù)ID、設(shè)備軟硬件版本信息、及系統(tǒng)剩余內(nèi)存。
其中,當(dāng)任務(wù)異常診斷模塊沒有在任務(wù)異常處理信息表中查詢 到與ID相對應(yīng)的任務(wù)異常記錄函數(shù)時,異常任務(wù)相關(guān)信息記錄裝 置不對發(fā)生異常的任務(wù)的相關(guān)信息進(jìn)行記錄、或通過任務(wù)異常處理 信息表中的所有的任務(wù)異常記錄函數(shù)對任務(wù)的相關(guān)信息進(jìn)行記錄。
從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果
本發(fā)明有效地豐富了任務(wù)異常診斷的手段,提升了任務(wù)異常分 析的效率;并且設(shè)計者可以根據(jù)各個任務(wù)功能的不同,靈活設(shè)計各 個任務(wù)異常需記錄的內(nèi)容,從而實現(xiàn)了與業(yè)務(wù)功能相關(guān)聯(lián)的記錄。
顯然,本領(lǐng)域的4支術(shù)人員應(yīng)該明白,上述的本發(fā)明的各才莫塊或 各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算 裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們 可以用計算裝置可執(zhí)行的程序4戈碼來實現(xiàn),從而,可以將它們存儲
在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成 電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模 塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。應(yīng) 該明白,這些具體實施中的變化對于本領(lǐng)域的技術(shù)人員來說是顯而 易見的,不脫離本發(fā)明的精神保護(hù)范圍。
以上所述4又為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā) 明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn) 等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種用于實時操作系統(tǒng)的任務(wù)異常診斷方法,其特征在于,包括以下步驟當(dāng)出現(xiàn)任務(wù)異常時,任務(wù)異常診斷模塊根據(jù)發(fā)生異常的任務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過任務(wù)異常記錄函數(shù)與任務(wù)的ID之間的對應(yīng)關(guān)系定位所述任務(wù)異常記錄函數(shù);以及通過所述任務(wù)異常記錄函數(shù)記錄所述異常任務(wù)的相關(guān)信息,以用于診斷所述異常任務(wù)。
2. 根據(jù)權(quán)利要求1所述的任務(wù)異常診斷方法,其特征在于,所述 任務(wù)異常處理信息表由所述任務(wù)異常診斷模塊創(chuàng)建,包含任務(wù) 異常記錄函數(shù)及其與任務(wù)ID之間的對應(yīng)關(guān)系。
3. 根據(jù)權(quán)利要求2所述的任務(wù)異常診斷方法,其特征在于,采用 注冊機(jī)制向所述任務(wù)異常診斷模塊注冊所述任務(wù)異常記錄函 凄丈和所述只于應(yīng)關(guān)系。
4. 根據(jù)權(quán)利要求3所述的任務(wù)異常診斷方法,其特征在于,還包 括以下步驟當(dāng)任務(wù)主動退出時,通過調(diào)用反注冊函數(shù)取消所 述任務(wù)異常記錄函數(shù)、及所述對應(yīng)關(guān)系在所述任務(wù)異常診斷模 塊上的注冊。
5. 根據(jù)權(quán)利要求2所述的任務(wù)異常診斷方法,其特征在于,所述 實時操作系統(tǒng)中的系統(tǒng)異常監(jiān)控模塊發(fā)送異常消息給所述任 務(wù)異常診斷模塊,所述異常消息包含發(fā)生異常的任務(wù)的ID。
6. 根據(jù)權(quán)利要求2所述的任務(wù)異常診斷方法,其特征在于,所述 相關(guān)信息根據(jù)任務(wù)的功能來設(shè)置。
7. 根據(jù)權(quán)利要求6所述的任務(wù)異常診斷方法,其特征在于,所述 異常任務(wù)的相關(guān)信息包括下列信息中的至少一種系統(tǒng)正處理 的數(shù)據(jù)信息、收發(fā)包信息、任務(wù)相關(guān)的重要數(shù)據(jù)結(jié)構(gòu)、任務(wù)異 常時間、異常任務(wù)名、異常任務(wù)ID、設(shè)備軟硬件版本信息、 及系統(tǒng)剩余內(nèi)存。
8. 根據(jù)權(quán)利要求2所述的任務(wù)異常診斷方法,其特征在于,當(dāng)所 述任務(wù)異常診斷模塊沒有在所述任務(wù)異常處理信息表中查詢 到與所述ID相對應(yīng)的所述任務(wù)異常記錄函數(shù)時,不對發(fā)生異 常的所述<壬務(wù)的相關(guān)信息進(jìn)4亍記錄、或通過所述4壬務(wù)異常處理 信息表中的所有的所述4壬務(wù)異常記錄函lt對所述任務(wù)的相關(guān) 信息進(jìn)4亍記錄。
9. 一種用于實時操作系統(tǒng)的任務(wù)異常診斷系統(tǒng),其特征在于,包 括任務(wù)異常診斷模塊創(chuàng)建裝置,用于在實時操作系統(tǒng)中創(chuàng) 建獨(dú)立的任務(wù)異常診斷模塊,所述任務(wù)異常診斷模塊包含任務(wù) 異常處理信息表,所述任務(wù)異常處理信息表包含任務(wù)異常記錄 函凄t及其與4壬務(wù)的ID之間的對應(yīng)關(guān)系;以及異常任務(wù)相關(guān)信息記錄裝置,用于當(dāng)出現(xiàn)任務(wù)異常時, 指令所述任務(wù)異常診斷模塊根據(jù)發(fā)生異常的任務(wù)的ID查詢所 述任務(wù)異常處理信息表,以通過所述對應(yīng)關(guān)系定位所述任務(wù)異 常記錄函數(shù),并通過所述任務(wù)異常記錄函數(shù)記錄所述異常任務(wù) 的相關(guān)信息,以用于診斷所述異常任務(wù)。
10. 根據(jù)權(quán)利要求9所述的任務(wù)異常診斷系統(tǒng),其特征在于,還包 括注冊取消裝置,用于當(dāng)任務(wù)主動退出時,通過調(diào)用反注冊函凄史取消所述任務(wù)異常記錄函數(shù)、及對應(yīng)關(guān)系在所述任務(wù)異常it斷才莫塊上的注冊。
全文摘要
本發(fā)明公開了一種用于實時操作系統(tǒng)的任務(wù)異常診斷方法及系統(tǒng)。其中,該方法包括以下步驟當(dāng)出現(xiàn)任務(wù)異常時,任務(wù)異常診斷模塊根據(jù)發(fā)生異常的任務(wù)的ID查詢?nèi)蝿?wù)異常處理信息表,以通過任務(wù)異常記錄函數(shù)與任務(wù)的ID之間的對應(yīng)關(guān)系定位任務(wù)異常記錄函數(shù);以及通過任務(wù)異常記錄函數(shù)記錄異常任務(wù)的相關(guān)信息,以用于診斷異常任務(wù)。通過本發(fā)明,能夠得到用于任務(wù)異常診斷的更多的相關(guān)信息,從而提高任務(wù)異常分析的效率。
文檔編號G06F11/36GK101192192SQ200610145788
公開日2008年6月4日 申請日期2006年11月21日 優(yōu)先權(quán)日2006年11月21日
發(fā)明者趙志旺 申請人:華為技術(shù)有限公司