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

一種系統(tǒng)故障信息轉儲的方法與系統(tǒng)的制作方法

文檔序號:6576551閱讀:370來源:國知局
專利名稱:一種系統(tǒng)故障信息轉儲的方法與系統(tǒng)的制作方法
技術領域
本發(fā)明涉及操作系統(tǒng)故障定位技術,尤其涉及一種用來實現(xiàn)在操作系統(tǒng)出現(xiàn)故障 時,將故障信息進行轉儲的方法。
背景技術
隨著嵌入式操作系統(tǒng)在通信行業(yè)、汽車制造業(yè)、軍事工業(yè)等行業(yè)的高速發(fā)展,以及 開源操作系統(tǒng)的蓬勃發(fā)展,操作系統(tǒng)核心技術已經(jīng)不再由少數(shù)企業(yè)壟斷。對企業(yè)來說,定制 自己的操作系統(tǒng)已經(jīng)不再是難題。但是,從另一個方面來看,操作系統(tǒng)軟件有它的獨特性, 現(xiàn)有成熟的調(diào)試技術,都是基于操作系統(tǒng)本身提供的功能實現(xiàn)的,能夠方便的調(diào)試應用程 序的BUG,卻不能很好的調(diào)試內(nèi)核本身。特別是操作系統(tǒng)崩潰時,可能造成系統(tǒng)死機、自動重 啟等現(xiàn)象,導致故障現(xiàn)場不保存,普通的調(diào)試工具也無法使用。目前,分析系統(tǒng)崩潰原因的常用方法是通過調(diào)試工具分析系統(tǒng)死機文件,找到出 現(xiàn)故障的匯編代碼,然后根據(jù)故障現(xiàn)場(出現(xiàn)故障時的寄存器值、堆棧信息、當前任務名稱 等),分析故障原因。但是,這種方法的不足之處在于必須有死機文件存在。這個條件在某些情況下是 不容易得到滿足的,比如1、系統(tǒng)沒有保存死機文件的介質(zhì)。2、系統(tǒng)崩潰時,文件操作功能已經(jīng)失效,無法保存死機文件。3、系統(tǒng)崩潰時,并沒有觸發(fā)內(nèi)核異常,而是在中斷處理代碼中陷入了死循環(huán),造成 系統(tǒng)無法調(diào)度,進而死機。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是,提供一種轉儲系統(tǒng)故障信息的方法及系統(tǒng)。本發(fā)明采用了如下技術方案一種系統(tǒng)故障信息轉儲的方法,包括步驟A、根據(jù)系統(tǒng)運行環(huán)境,在系統(tǒng)運行時注冊故障信息的轉儲接口函數(shù),所述接 口函數(shù)中設置有故障信息與轉儲位置的對應關系;步驟B、當系統(tǒng)故障時,回調(diào)所述接口函數(shù),并根據(jù)該函數(shù)的注冊信息轉儲故障信 息到相應的轉儲位置。所述接口函數(shù)是在內(nèi)核、驅(qū)動程序、模塊進行注冊的;所述故障信息至少包括以下信息之一任務堆棧、CPU寄存器狀態(tài)、內(nèi)核關鍵數(shù)據(jù) 結構信息;所述系統(tǒng)故障至少包括以下故障之一系統(tǒng)崩潰、內(nèi)核陷入死循環(huán)。所述步驟B的信息轉儲處理包括以下步驟的一種或多種步驟Bi、如果所述接口函數(shù)是注冊了將信息轉儲到內(nèi)存,則回調(diào)該函數(shù),將信息轉 儲到內(nèi)存;
步驟B2、如果所述接口函數(shù)是注冊了將信息轉儲到網(wǎng)絡,則回調(diào)該函數(shù),將信息轉 儲到網(wǎng)絡;步驟B3、如果所述接口函數(shù)是注冊了將信息轉儲到非易失性存儲介質(zhì),則回調(diào)該 函數(shù),將信息轉儲到非易失性存儲介質(zhì)。所述步驟Bl在轉儲信息時,是將信息轉儲到系統(tǒng)的保留內(nèi)存中;所述步驟Bl之后 還包括以下處理過程系統(tǒng)帶電重啟后,可將所述保留內(nèi)存中的信息進行二次轉儲,或者打 印出來。所述步驟B2在轉儲信息時,是系統(tǒng)通過直接控制網(wǎng)卡經(jīng)網(wǎng)絡向其他設備發(fā)送數(shù) 據(jù)包,由其他設備保存信息。一種系統(tǒng)故障信息轉儲的系統(tǒng),包括信息轉儲注冊模塊,用于根據(jù)系統(tǒng)運行環(huán)境在系統(tǒng)運行時注冊信息轉儲接口函 數(shù),所述接口函數(shù)中設置有故障信息與轉儲位置的對應關系;信息轉儲模塊,用于根據(jù)所述接口函數(shù)的注冊信息轉儲故障信息到相應的轉儲位 置;故障檢測模塊,用于檢測系統(tǒng)是否出現(xiàn)故障。所述系統(tǒng)故障至少包括以下故障之一系統(tǒng)崩潰、內(nèi)核陷入死循環(huán)。所述信息轉儲模塊在轉儲故障信息時包括以下處理的一種或多種處理1 如果所述接口函數(shù)是注冊了將信息轉儲到內(nèi)存,則回調(diào)該函數(shù),將信息轉 儲到內(nèi)存;處理2 如果所述接口函數(shù)是注冊了將信息轉儲到網(wǎng)絡,則回調(diào)該函數(shù),將信息轉 儲到網(wǎng)絡;處理3 如果所述接口函數(shù)是注冊了將信息轉儲到非易失性存儲介質(zhì),則回調(diào)該 函數(shù),將信息轉儲到非易失性存儲介質(zhì)。所述處理1是將信息轉儲到系統(tǒng)的保留內(nèi)存中;所述處理1之后還包括以下處理 過程系統(tǒng)帶電重啟后,可將所述保留內(nèi)存中的信息進行二次轉儲,或者打印出來。所述處理2是系統(tǒng)通過直接控制網(wǎng)卡經(jīng)網(wǎng)絡向其他設備發(fā)送數(shù)據(jù)包,由其他設備
保存信息。本發(fā)明的有益效果是本發(fā)明將系統(tǒng)故障信息保存到內(nèi)存、網(wǎng)絡以及非易失性存 儲介質(zhì)中,避免了系統(tǒng)沒有保存死機文件的介質(zhì)時獲取不到死機文件的情況,也避免了系 統(tǒng)崩潰時無法保存死機文件的情況,還避免了死機時無法獲取故障信息的情況。


圖1是本發(fā)明方法一種具體實施例的流程示意圖。圖2是本發(fā)明系統(tǒng)的邏輯結構示意圖。
具體實施例方式下面通過具體實施方式
結合附圖對本發(fā)明作進一步詳細說明。如圖1所示的本發(fā)明方法具體實施例的流程示意圖,在操作系統(tǒng)開始運行后,1 注冊信息轉儲函數(shù)。
此時進行信息轉儲回調(diào)函數(shù)的初始化,即在內(nèi)核、驅(qū)動程序、模塊注冊信息轉儲回 調(diào)函數(shù),注冊的回調(diào)函數(shù)中設置有故障信息與轉儲位置的對應情況??梢愿鶕?jù)系統(tǒng)的實際 情況,分別注冊內(nèi)存信息轉儲回調(diào)函數(shù)、網(wǎng)絡信息轉儲回調(diào)函數(shù)、非易失性介質(zhì)信息轉儲回 調(diào)函數(shù)。2 檢測到死機故障。在系統(tǒng)運行過程中,檢測操作系統(tǒng)故障,故障包括系統(tǒng)崩潰或內(nèi)核陷入死循環(huán)。一 旦發(fā)現(xiàn)操作系統(tǒng)發(fā)生故障,則觸發(fā)信息轉儲過程。觸發(fā)點包含但是不僅僅包含(1)內(nèi)核發(fā)生了致命性的地址訪問錯誤;(2)內(nèi)核關鍵數(shù)據(jù)結構被破壞導致不能繼續(xù)運行;(3)內(nèi)核在關中斷情況下發(fā)生了死循環(huán)導致不能進行調(diào)度。以上三種情況都需要將調(diào)試信息、故障現(xiàn)場保存起來供故障分析時使用。對于地址訪問錯誤與關鍵數(shù)據(jù)結構被破壞類錯誤,將引發(fā)異常,操作系統(tǒng)會觸發(fā) 調(diào)用d0_page_faUlt、die函數(shù)等進行異常處理,在這些異常處理函數(shù)中,調(diào)用回調(diào)函數(shù)進 行信息轉儲;對于死循環(huán)故障,系統(tǒng)在中斷處理函數(shù)入口處,記錄下進入中斷處理函數(shù)的時間, 在退出中斷處理函數(shù)時,記錄下退出中斷處理函數(shù)的時間。然后通過NMI和SMI中斷,定時 檢測中斷處理函數(shù)的處理時間,如果中斷處理程序長時間沒有退出,那么就認為是死循環(huán) 故障,進而調(diào)用回調(diào)函數(shù)進行信息轉儲。一旦系統(tǒng)檢測到死機故障,則按以下步驟進行處理。3:是否需要保存到內(nèi)存?判斷是否注冊了內(nèi)存信息轉儲回調(diào)函數(shù),如果注冊了該回調(diào)函數(shù),表示需要將調(diào) 試信息、故障現(xiàn)場保存到內(nèi)存中,則繼續(xù)執(zhí)行步驟5。如果沒有注冊該回調(diào)函數(shù),則轉到步驟 5。4:將信息轉儲到內(nèi)存。信息轉儲到內(nèi)存這種方式最簡單但是最可靠。因為它不依賴于系統(tǒng)中斷,也不依 賴于特定硬件(如磁盤、網(wǎng)卡)。在硬件受限的情況下可以使用。由于內(nèi)存是易失性介質(zhì), 因此,在轉儲信息時,應當將信息轉儲到系統(tǒng)保留的內(nèi)存中,即調(diào)用注冊的內(nèi)存信息轉儲回 調(diào)函數(shù),將調(diào)試信息、故障現(xiàn)場保存到內(nèi)存中。執(zhí)行完畢信息轉儲到內(nèi)存后,轉到步驟5。實際操作中,在保存信息后,設備不能斷電。設備帶電重啟后,可以再將保留內(nèi)存 中的信息進行二次轉儲或者打印出來。5:是否需要保存到網(wǎng)絡?判斷是否注冊了網(wǎng)絡信息轉儲回調(diào)函數(shù),如果注冊了該回調(diào)函數(shù),表示需要將調(diào) 試信息、故障現(xiàn)場通過網(wǎng)絡進行保存,則繼續(xù)執(zhí)行步驟6。如果沒有注冊該回調(diào)函數(shù),則轉到 步驟7。6:將信息轉儲到網(wǎng)絡。在系統(tǒng)發(fā)生故障時,操作系統(tǒng)提供的網(wǎng)絡接口不一定能夠正常工作,因此,在轉儲 信息時,并不直接調(diào)用系統(tǒng)網(wǎng)絡接口函數(shù)(例如網(wǎng)絡套接字接口)進行保存,而是調(diào)用注冊 的內(nèi)存信息轉儲回調(diào)函數(shù),直接控制網(wǎng)卡,通過網(wǎng)卡向網(wǎng)絡其他主機發(fā)送數(shù)據(jù)包,將調(diào)試信 息、故障現(xiàn)場保存到網(wǎng)絡其他主機設備中,執(zhí)行完畢后,轉到步驟7。
7 是否需要保存到磁盤?判斷是否注冊了非易失介質(zhì)信息轉儲回調(diào)函數(shù),如果注冊了該回調(diào)函數(shù),表示需 要將調(diào)試信息、故障現(xiàn)場保存到非易失性介質(zhì)中,則繼續(xù)執(zhí)行步驟8。如果沒有注冊該回調(diào) 函數(shù),則結束處理流程。8 將信息轉儲到非易失性介質(zhì),如磁盤。轉儲信息到非易失性存儲介質(zhì)是最常用的轉儲方式。除了磁盤外,也可以轉儲到 閃存flash等其他非易失性存儲介質(zhì)中。由于以下情況將可能造成轉儲功能失效如,內(nèi)存中,內(nèi)核代碼被破壞,導致文件系統(tǒng)不可用;如,在關中斷情況下,執(zhí)行了死循環(huán),導致系統(tǒng)不響應中斷,也就無法進行磁盤讀 寫操作;如,磁盤驅(qū)動功能不正常。因此,一般情況下,優(yōu)先將信息轉儲到內(nèi)存和網(wǎng)絡中,最后才將信息轉儲到非易失 性存儲介質(zhì)中。這亦是本發(fā)明方法最佳具體實施例的處理思路。轉儲時是通過調(diào)用注冊的 非易失性介質(zhì)信息轉儲回調(diào)函數(shù),將調(diào)試信息、故障現(xiàn)場保存到非易失性介質(zhì)中。執(zhí)行完畢 后,結束處理流程。本發(fā)明還提供了一種內(nèi)核故障信息轉儲系統(tǒng),其邏輯結構如圖2所示,包括信息 轉儲注冊模塊、信息轉儲模塊、故障檢測模塊。信息轉儲注冊模塊根據(jù)系統(tǒng)的實際情況在內(nèi)核、驅(qū)動程序、模塊進行信息轉儲回 調(diào)函數(shù)的初始化,分別注冊內(nèi)存信息轉儲回調(diào)函數(shù)、網(wǎng)絡信息轉儲回調(diào)函數(shù)、非易失性存儲 介質(zhì)信息轉儲回調(diào)函數(shù)。故障檢測模塊用于檢測系統(tǒng)是否發(fā)生故障。當內(nèi)核發(fā)生了地址訪問錯誤或關鍵數(shù) 據(jù)結構被破壞等異常被捕獲到時,操作系統(tǒng)會觸發(fā)調(diào)用do_page_faUlt、die函數(shù)等進行異 常處理,在這些異常處理函數(shù)中,調(diào)用回調(diào)函數(shù)在信息轉儲模塊進行信息轉儲;對于死循環(huán) 故障,系統(tǒng)在中斷處理函數(shù)入口處,記錄下進入中斷處理函數(shù)的時間,在退出中斷處理函數(shù) 時,記錄下退出中斷處理函數(shù)的時間。然后通過NMI和SMI中斷,定時檢測中斷處理函數(shù)的 處理時間,如果中斷處理程序長時間沒有退出,那么就認為是死循環(huán)故障,進而調(diào)用回調(diào)函 數(shù)在信息轉儲模塊進行信息轉儲。信息轉儲模塊根據(jù)注冊了的回調(diào)函數(shù)判斷若是注冊了內(nèi)存信息轉儲回調(diào)函數(shù), 則轉儲信息到內(nèi)存;若是注冊了網(wǎng)絡信息轉儲回調(diào)函數(shù),則轉儲信息到網(wǎng)絡;若是注冊了 非易失性存儲介質(zhì)信息轉儲回調(diào)函數(shù),則轉儲信息到非易失性存儲介質(zhì)。以上內(nèi)容是結合具體的實施方式對本發(fā)明所做的進一步詳細說明,不能認定本發(fā) 明的具體實施只局限于這些說明。對于本發(fā)明所述技術領域的普通技術人員來說,在不脫 離本發(fā)明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護 范圍。
權利要求
1.一種系統(tǒng)故障信息轉儲的方法,其特征在于,包括步驟A、根據(jù)系統(tǒng)運行環(huán)境,在系統(tǒng)運行時注冊故障信息的轉儲接口函數(shù),所述接口函 數(shù)中設置有故障信息與轉儲位置的對應關系;步驟B、當系統(tǒng)故障時,回調(diào)所述接口函數(shù),并根據(jù)該函數(shù)的注冊信息轉儲故障信息到 相應的轉儲位置。
2.如權利要求1所述的方法,其特征在于所述接口函數(shù)是在內(nèi)核、驅(qū)動程序、模塊進行注冊的;所述故障信息至少包括以下信息之一任務堆棧、CPU寄存器狀態(tài)、內(nèi)核關鍵數(shù)據(jù)結構 fn息;所述系統(tǒng)故障至少包括以下故障之一系統(tǒng)崩潰、內(nèi)核陷入死循環(huán)。
3.如權利要求1或2所述的方法,其特征在于,所述步驟B的信息轉儲處理包括以下步 驟的一種或多種步驟Bi、如果所述接口函數(shù)是注冊了將信息轉儲到內(nèi)存,則回調(diào)該函數(shù),將信息轉儲到 內(nèi)存;步驟B2、如果所述接口函數(shù)是注冊了將信息轉儲到網(wǎng)絡,則回調(diào)該函數(shù),將信息轉儲到 網(wǎng)絡;步驟B3、如果所述接口函數(shù)是注冊了將信息轉儲到非易失性存儲介質(zhì),則回調(diào)該函數(shù), 將信息轉儲到非易失性存儲介質(zhì)。
4.如權利要求3所述的方法,其特征在于,所述步驟Bl在轉儲信息時,是將信息轉儲到 系統(tǒng)的保留內(nèi)存中;所述步驟Bl之后還包括以下處理過程系統(tǒng)帶電重啟后,可將所述保 留內(nèi)存中的信息進行二次轉儲,或者打印出來。
5.如權利要求3所述的方法,其特征在于,所述步驟B2在轉儲信息時,是系統(tǒng)通過直接 控制網(wǎng)卡經(jīng)網(wǎng)絡向其他設備發(fā)送數(shù)據(jù)包,由其他設備保存信息。
6.一種系統(tǒng)故障信息轉儲的系統(tǒng),其特征在于,包括信息轉儲注冊模塊,用于根據(jù)系統(tǒng)運行環(huán)境在系統(tǒng)運行時注冊信息轉儲接口函數(shù),所 述接口函數(shù)中設置有故障信息與轉儲位置的對應關系;信息轉儲模塊,用于根據(jù)所述接口 函數(shù)的注冊信息轉儲故障信息到相應的轉儲位置;故障檢測模塊,用于檢測系統(tǒng)是否出現(xiàn)故障。
7.如權利要求6所述的系統(tǒng),其特征在于,系統(tǒng)故障至少包括以下故障之一系統(tǒng)崩 潰、內(nèi)核陷入死循環(huán)。
8.如權利要求6所述的系統(tǒng),其特征在于,所述信息轉儲模塊在轉儲故障信息時包括 以下處理的一種或多種處理1 如果所述接口函數(shù)是注冊了將信息轉儲到內(nèi)存,則回調(diào)該函數(shù),將信息轉儲到 內(nèi)存;處理2 如果所述接口函數(shù)是注冊了將信息轉儲到網(wǎng)絡,則回調(diào)該函數(shù),將信息轉儲到 網(wǎng)絡;處理3 如果所述接口函數(shù)是注冊了將信息轉儲到非易失性存儲介質(zhì),則回調(diào)該函數(shù), 將信息轉儲到非易失性存儲介質(zhì)。
9.如權利要求8所述的系統(tǒng),其特征在于,所述處理1是將信息轉儲到系統(tǒng)的保留內(nèi)存中;所述處理1之后還包括以下處理過程系統(tǒng)帶電重啟后,可將所述保留內(nèi)存中的信息進 行二次轉儲,或者打印出來。
10.如權利要求8所述的系統(tǒng),其特征在于,所述處理2是系統(tǒng)通過直接控制網(wǎng)卡經(jīng)網(wǎng) 絡向其他設備發(fā)送數(shù)據(jù)包,由其他設備保存信息。
全文摘要
本發(fā)明公開了一種內(nèi)核故障信息轉儲的方法,該方法針對系統(tǒng)機故障的不同情況,收集操作系統(tǒng)內(nèi)核調(diào)試信息、故障信息,并將這些信息通過不同方式如內(nèi)存、網(wǎng)絡、非易失性存儲介質(zhì)等轉儲起來,以便在操作系統(tǒng)內(nèi)核故障時,盡量保存更多有用的信息,方便定位系統(tǒng)故障問題。
文檔編號G06F11/14GK102063344SQ200910109669
公開日2011年5月18日 申請日期2009年11月18日 優(yōu)先權日2009年11月18日
發(fā)明者謝寶友 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
府谷县| 泸定县| 乌兰浩特市| 安阳市| 连山| 上林县| 浠水县| 丰镇市| 永寿县| 成武县| 海丰县| 泸西县| 湟源县| 林西县| 襄城县| 安阳县| 重庆市| 偏关县| 五河县| 齐河县| 本溪市| 那坡县| 聂拉木县| 东山县| 香港 | 察哈| 德格县| 图木舒克市| 绩溪县| 孟连| 阿拉善盟| 南靖县| 岳普湖县| 上栗县| 乳山市| 金阳县| 温宿县| 太湖县| 景宁| 舞钢市| 天津市|