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

可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法

文檔序號:6613453閱讀:223來源:國知局
專利名稱:可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法
可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法
技術(shù)領(lǐng)域
本發(fā)明系提供一種可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法,特別是有關(guān)于
利用一看門狗(watch dog)定時器,以監(jiān)控多個線程的技術(shù)領(lǐng)域。背景技術(shù)
現(xiàn)代的電子裝置或信息系統(tǒng)中,操作系統(tǒng)(如Linux或Windows)常需要同時處理許多重要的任務(wù),而這些任務(wù)亦常經(jīng)由多個線程(Thread)分頭并進(jìn)來加以完成。如果這些線程其中的一出現(xiàn)問題,例如操作系統(tǒng)的資源被單一線程全部占用或鎖住(Lock)而使得其它線程無法使用、線程處于無窮循環(huán)狀態(tài)而許久沒有響應(yīng)、或者是硬件出現(xiàn)問題而造成線程無法順利執(zhí)行…等等,皆會導(dǎo)致操作系統(tǒng)無法正常運作甚至當(dāng)機(jī),若此時又無人監(jiān)控并立刻處理,便很容易地造成個人和企業(yè)莫大的損失。因此,如何利用監(jiān)控線程的狀態(tài),來達(dá)到監(jiān)控操作系統(tǒng)的運作情形,乃至于發(fā)現(xiàn)線程出現(xiàn)異常時,能立即且自動地對線程或操作系統(tǒng)進(jìn)行處理,以隨時保持操作系統(tǒng)正常運作,非常值得大家的重視和深入探討。
請參閱圖l,為現(xiàn)有技術(shù)監(jiān)控多線程狀態(tài)的方法示意圖。圖中,此方法主要設(shè)定一線程為監(jiān)控線程11,而其它線程為被監(jiān)控線程12。此監(jiān)控線程11系用以定時與被監(jiān)控線程12聯(lián)系,以獲得每個線程的工作狀態(tài),每個被監(jiān)控線程12都需于監(jiān)控線程11發(fā)出點名消息141時,實時回饋點名應(yīng)答消息142,以告知本線程的工作狀態(tài)和其它信息。另外,監(jiān)控線程ll亦維護(hù)一個包含每個線程狀態(tài)的信息表,操作系統(tǒng)則根據(jù)各個線程的不同狀態(tài)采取不一樣的策略。再者,監(jiān)控線程ll設(shè)置一定時器,用以定時觸發(fā)點名事件,以發(fā)送點名消息141給所有被監(jiān)控線程12,并設(shè)置等待應(yīng)答的超時長度。當(dāng)被監(jiān)控線程12發(fā)生點名應(yīng)答超時143時,監(jiān)控線程11累加被監(jiān)控線程12的超時次數(shù),于超時次數(shù)超過一默認(rèn)值時,便將被監(jiān)控線程12變?yōu)榻┧罓顟B(tài),同時進(jìn)行通知系統(tǒng)144的動作,以通知系統(tǒng)主控線程13。
上述現(xiàn)有技術(shù)的缺點,在于此方法并未對監(jiān)控線程ll進(jìn)行監(jiān)控,若是監(jiān)控線程ll本身出現(xiàn)異常時,則無法得知問題所在。另外,此方法需耗費部份資源,以維護(hù)一條監(jiān)控線程11及一個包含每個線程狀態(tài)的信息表,作法復(fù)雜且維護(hù)不易。

發(fā)明內(nèi)容
有鑒于上述課題,本發(fā)明的目的系提供一種可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法,特別是有關(guān)于利用一看門狗定時器,來監(jiān)控多個線程的技術(shù)領(lǐng)域,來滿足使用者監(jiān)控多線程狀態(tài)的需求,并解決現(xiàn)有技術(shù)的缺點,除可輕易監(jiān)控所有線程外,亦不需耗費資源維護(hù)一監(jiān)控線程及一信息表,作法簡單容易。
因此,為達(dá)上述目的,本發(fā)明提出一種可監(jiān)控多線程狀態(tài)的系統(tǒng),用以監(jiān)
控于一操作系統(tǒng)下運作的多個線程,且一第一線程于這些線程的刷新(Recount)頻率中具有一最大刷新頻率。此系統(tǒng)至少包含一計時單元及一監(jiān)控單元,計時
單元用以產(chǎn)生一計數(shù)值,而監(jiān)控單元則監(jiān)控第一線程及其它線程所進(jìn)行的一刷新動作。其中當(dāng)?shù)谝痪€程進(jìn)行刷新動作時,若其它線程的刷新次數(shù)其中之一未達(dá)一特定要求,則監(jiān)控單元對操作系統(tǒng)進(jìn)行一復(fù)位(Reset)動作。若其它線程的刷新次數(shù)達(dá)到特定要求,則第一線程更新其一第一刷新次數(shù),并對計時單元進(jìn)行刷新動作以重數(shù)計數(shù)值。另當(dāng)其它線程進(jìn)行刷新動作時,則其它線程更新其刷新次數(shù)。
為達(dá)上述目的,本發(fā)明提出一種監(jiān)控多線程狀態(tài)的方法,用以監(jiān)控于一操作系統(tǒng)下運作的多個線程,且一第一線程于這些線程的刷新頻率中具有一最大
刷新頻率,此方法至少包含步驟如下
(a) 通過一計時單元產(chǎn)生一計數(shù)值;
(b) 利用一監(jiān)控單元監(jiān)控第一線程及其它線程所進(jìn)行的一刷新動作;
(c) 當(dāng)?shù)谝痪€程進(jìn)行刷新動作時,若其它線程的刷新次數(shù)其中之一未達(dá)一特定要求,則監(jiān)控單元對操作系統(tǒng)進(jìn)行一復(fù)位動作。若其它線程的刷新次數(shù)達(dá)到特定要求,則第一線程更新其一第一刷新次數(shù),并對計時單元進(jìn)行刷新動作以重數(shù)計數(shù)值;
(d) 當(dāng)其它線程進(jìn)行刷新動作時,則其它線程更新其刷新次數(shù)。相較于現(xiàn)有技術(shù),利用本發(fā)明,除可輕易監(jiān)控所有線程外,亦不需耗費資
源維護(hù)一監(jiān)控線程及一信息表,作法簡單容易。
為對本發(fā)明的目的、構(gòu)造特征及其功能有進(jìn)一步的了解,茲配合附圖詳細(xì)說明如下


圖1為現(xiàn)有技術(shù)的監(jiān)控多線程狀態(tài)的方法的示意圖。
圖2顯示本發(fā)明的可監(jiān)控多線程狀態(tài)的系統(tǒng)的示意圖。圖3顯示本發(fā)明的可監(jiān)控多線程狀態(tài)的系統(tǒng)的較佳實施例示意圖。圖4顯示本發(fā)明的監(jiān)控多線程狀態(tài)的方法的流程圖。
具體實施方式
為讓本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文依本發(fā)明的可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法,特舉較佳實施例,并配合所附相關(guān)圖示,作詳細(xì)說明如下,其中相同的組件將以相同的組件符號加以說明。
請參閱圖2,顯示本發(fā)明的可監(jiān)控多線程狀態(tài)的系統(tǒng)的示意圖。圖中,此系統(tǒng)21用以監(jiān)控于一操作系統(tǒng)23 (如Linux或Windows)下運作的多個線程22,而這些線程22的刷新頻率由大到小或由小到大被排序,且一第一線程221于這些線程22的刷新頻率中具有一最大刷新頻率2211。另外,系統(tǒng)21至少包含一計時單元211及一監(jiān)控單元212,計時單元211用以產(chǎn)生一計數(shù)值2111,而監(jiān)控單元212則監(jiān)控第一線程221及其它線程222所進(jìn)行的一刷新動作。
當(dāng)?shù)谝痪€程221進(jìn)行刷新動作時,若其它線程222的刷新次數(shù)2222其中之一未達(dá)一特定要求2223,例如其它線程222的刷新次數(shù)2222未與第一刷新次數(shù)2212成一比例關(guān)系,或者是說,其它線程222的刷新次數(shù)2222除以刷新頻率2221未大約等于第一刷新次數(shù)2212除以最大刷新頻率2211,則監(jiān)控單元212對操作系統(tǒng)23進(jìn)行一復(fù)位動作, 一般為重新啟動(Reboot)或關(guān)閉(Shutdown)操作系統(tǒng)23。同時,第一線程221亦會設(shè)置一標(biāo)志,以標(biāo)明其它線程222其中的一出現(xiàn)異常,而導(dǎo)致操作系統(tǒng)23被復(fù)位。若其它線程222的刷新次數(shù)2222全部達(dá)到特定要求2223,則第一線程221更新其第一刷新次數(shù)2212,并對計時單元211進(jìn)行刷新動作以重數(shù)計數(shù)值2111。
另外,當(dāng)其它線程222進(jìn)行刷新動作時,則其它線程222更新其刷新次數(shù)2222。除此之外,上述的第一刷新次數(shù)2212及其它線程222的刷新次數(shù)2222于第一刷新次數(shù)2212產(chǎn)生溢位(Overflow)前會被歸零(Zero)。
請參閱圖3,顯示本發(fā)明的可監(jiān)控多線程狀態(tài)的系統(tǒng)的較佳實施例示意圖。圖中,此實施例系以一看門狗定時器31來實現(xiàn)本發(fā)明的系統(tǒng),用以監(jiān)控于一Li皿x操作系統(tǒng)33下運作的多個線程32。看門狗定時器31至少包含一計時單元311及一監(jiān)控單元312,此計時單元311用以產(chǎn)生一計數(shù)值3111,而監(jiān)控單元312則監(jiān)控第一線程321及其它線程322所進(jìn)行的一刷新動作。
一開始時,先對需要被監(jiān)控的線程32,依照其刷新頻率由大到小排序完成。假設(shè)這些線程32共有第一線程321、第二線程、…、第n線程,其刷新頻率各為第一刷新頻率(fl)、第二刷新頻率(f2)、…、第n刷新頻率(fn),且fl>=f2〉= 〉=fn。其中,第一線程321具有一最大刷新頻率3211,即第一刷新頻率(fl)等于最大刷新頻率3211,而第二線程一第n線程則歸為其它線程322。在Linux操作系統(tǒng)33啟動后,按照最大刷新頻率3211設(shè)置看門狗定時器31,亦即將看門狗定時器31的刷新周期設(shè)定為1/fl。
當(dāng)?shù)谝痪€程321進(jìn)行刷新動作時,先檢測其它線程322的刷新次數(shù)3222是否符合特定要求3223。例如,其它線程322的刷新次數(shù)3222是否與第一刷新次數(shù)3212成一比例關(guān)系,或者是說,其它線程322的刷新次數(shù)3222除以刷新頻率3221是否大約等于第一刷新次數(shù)3212除以最大刷新頻率3211。舉個例子,假設(shè)第一線程321的第一刷新次數(shù)3212為tl,而其它線程322如第m線程(2=〈m=〈n)的刷新次數(shù)為tm,刷新頻率為fm,那么tm/fm應(yīng)大約等于tl/f 1,即(tm/fm) —(tl/fl)。如果tm/fm遠(yuǎn)小于tl/fl,例如(tm/fm) 〈 (tl/f 1+1),則表示第m線程的刷新次數(shù)tni不夠,亦即第m線程未定時進(jìn)行刷新動作。這個時候,第一線程321便會設(shè)置一標(biāo)志3213以標(biāo)明第m線程未定時進(jìn)行刷新動作,同時第一線程321不進(jìn)行刷新動作而直接返回。如此一來,因為第一線程321未定時進(jìn)行刷新動作,故計時單元311中的計數(shù)值3111在達(dá)到一指定計數(shù)值后,便會由監(jiān)控單元312對Linux操作系統(tǒng)33進(jìn)行一復(fù)位動作,而重新啟動Linux操作系統(tǒng)33。
在Linux操作系統(tǒng)33重新啟動后,檢測到第一線程321設(shè)置的標(biāo)志3213,也就知道是第m線程出現(xiàn)異常而導(dǎo)致Linux操作系統(tǒng)33被復(fù)位。當(dāng)然,如果第一線程321未設(shè)置任何的標(biāo)志3213,以標(biāo)明第二線程一第n線程其中的一出現(xiàn)異常,就表示說是第一線程321導(dǎo)致了 Linux操作系統(tǒng)33被復(fù)位。若其它線程322的刷新次數(shù)3222全部達(dá)到特定要求3223,則第一線程321更新其第一刷新次數(shù)3212,并對計時單元311進(jìn)行刷新動作以重數(shù)計數(shù)值3111。
另外,當(dāng)其它線程322進(jìn)行刷新動作時,則其它線程322僅更新其刷新次數(shù)3222,而不真正對計時單元311的計數(shù)值3111進(jìn)行刷新動作以重數(shù)計數(shù)值3111。還有,第一刷新次數(shù)3212在產(chǎn)生溢位前會被歸零,以避免第一刷新次數(shù)3212及其它線程322的刷新次數(shù)3222發(fā)生溢位現(xiàn)象。
請參閱圖4,顯示本發(fā)明的監(jiān)控多線程狀態(tài)的方法的流程圖。圖中,此方法對應(yīng)圖2所示的可監(jiān)控多線程狀態(tài)的系統(tǒng),用以監(jiān)控于一操作系統(tǒng)23 (如Linux或Windows)下運作的多個線程22,而這些線程22的刷新頻率由大到小或由小到大被排序,且一第一線程221于這些線程22的刷新頻率中具有一最大刷新頻率2211,此方法至少包含下列歩驟
步驟S41:通過一計時單元211產(chǎn)生一計數(shù)值2111;
步驟S42:利用一監(jiān)控單元212監(jiān)控第一線程221及其它線程222所進(jìn)行的一刷新動作;
步驟S43:當(dāng)?shù)谝痪€程221進(jìn)行刷新動作時,若其它線程222的刷新次數(shù)2222其中之一未達(dá)一特定要求2223,例如其它線程222的刷新次數(shù)2222未與第一刷新次數(shù)2212成一比例關(guān)系,或者是說,其它線程222的刷新次數(shù)2222除以刷新頻率2221未大約等于第一刷新次數(shù)2212除以最大刷新頻率2211,則監(jiān)控單元212對操作系統(tǒng)23進(jìn)行一復(fù)位動作, 一般為重新啟動或關(guān)閉操作系統(tǒng)23。同時,第一線程221亦會設(shè)置一標(biāo)志,以標(biāo)明其它線程222其中的一出現(xiàn)異常,而導(dǎo)致操作系統(tǒng)23被復(fù)位。若其它線程222的刷新次數(shù)2222達(dá)到特定要求2223,則第一線程221更新其第一刷新次數(shù)2212,并對計時單元211進(jìn)行刷新動作以重數(shù)計數(shù)值2111;
步驟S44:當(dāng)其它線程222進(jìn)行刷新動作時,則其它線程222更新其刷新次數(shù)2222。
除此之外,上述的第一刷新次數(shù)2212及其它線程222的刷新次數(shù)2222于第一刷新次數(shù)2212產(chǎn)生溢位前會被歸零。
權(quán)利要求
1、一種可監(jiān)控多線程狀態(tài)的系統(tǒng),用以監(jiān)控于一操作系統(tǒng)下運作的若干個線程,且一第一線程于這些線程的刷新頻率中具有一最大刷新頻率,其特征在于,該系統(tǒng)至少包含一計時單元,用以產(chǎn)生一計數(shù)值;以及一監(jiān)控單元,系監(jiān)控該第一線程及其它線程所進(jìn)行的一刷新動作,其中當(dāng)該第一線程進(jìn)行該刷新動作時,若其它線程的刷新次數(shù)其中之一未達(dá)一特定要求,則該監(jiān)控單元對該操作系統(tǒng)進(jìn)行一復(fù)位(Reset)動作,若其它線程的刷新次數(shù)達(dá)到該特定要求,則該第一線程更新其一第一刷新次數(shù),并對該計時單元進(jìn)行該刷新動作以重數(shù)該計數(shù)值,當(dāng)其它線程進(jìn)行該刷新動作時,則其它線程更新其刷新次數(shù)。
2、 如權(quán)利要求1所述的系統(tǒng),其特征在于,該系統(tǒng)包括為一看門狗定時器。
3、 如權(quán)利要求l所述的系統(tǒng),其特征在于,該操作系統(tǒng)包括為一 Linux操 作系統(tǒng)或一 Windows操作系統(tǒng)。
4、 如權(quán)利要求l所述的系統(tǒng),其特征在于,這些線程的刷新頻率由大到小 或由小到大被排序。
5、 如權(quán)利要求l所述的系統(tǒng),其特征在于,該第一刷新次數(shù)及其它線程的 刷新次數(shù)于該第一刷新次數(shù)產(chǎn)生溢位前被歸零。
6、 如權(quán)利要求1所述的系統(tǒng),其特征在于,該特定要求包括為其它線程的 刷新次數(shù)與該第一刷新次數(shù)成一比例關(guān)系。
7、 如權(quán)利要求l所述的系統(tǒng),其特征在于,非第一線程的線程其中的一刷 新次數(shù)未達(dá)該特定要求時,則該第一線程系設(shè)置一標(biāo)志,以標(biāo)明其它線程其中 的一出現(xiàn)異常,而導(dǎo)致該操作系統(tǒng)執(zhí)行一復(fù)位動作。
8、 如權(quán)利要求l所述的系統(tǒng),其特征在于,該復(fù)位動作包括為重新啟動或 關(guān)閉該操作系統(tǒng)。
9、 一種監(jiān)控多線程狀態(tài)的方法,用以監(jiān)控于一操作系統(tǒng)下運作的若干個線 程,且一第一線程于這些線程的刷新頻率中具有一最大刷新頻率,其特征在于, 該方法至少包含通過一計時單元產(chǎn)生一計數(shù)值;利用一監(jiān)控單元監(jiān)控該第一線程及其它線程所進(jìn)行的一刷新動作; 當(dāng)該第一線程進(jìn)行該刷新動作時,若其它線程的刷新次數(shù)其中之一未達(dá)一 特定要求,則該監(jiān)控單元對該操作系統(tǒng)進(jìn)行一復(fù)位動作,若其它線程的刷新次 數(shù)達(dá)到該特定要求,則該第一線程更新其一第一刷新次數(shù),并對該計時單元進(jìn) 行該刷新動作以重數(shù)該計數(shù)值;以及當(dāng)其它線程進(jìn)行該刷新動作時,則其它線程更新其刷新次數(shù)。
10、 如權(quán)利要求9所述的方法,其特征在于,該操作系統(tǒng)包括為一 Linux 操作系統(tǒng)或一 Windows操作系統(tǒng)。
11、 如權(quán)利要求9所述的方法,其特征在于,這些線程的刷新頻率由大到 小或由小到大被排序。
12、 如權(quán)利要求9所述的方法,其特征在于,該第一刷新次數(shù)及其它線程 的刷新次數(shù)于該第一刷新次數(shù)產(chǎn)生溢位前被歸零。
13、 如權(quán)利要求9所述的方法,其特征在于,該特定要求包括為其它線程 的刷新次數(shù)與該第一刷新次數(shù)成一比例關(guān)系。
14、 如權(quán)利要求9所述的方法,其特征在于,若其它線程其中的一刷新次 數(shù)未達(dá)該特定要求,則該第一線程系設(shè)置一標(biāo)志,以標(biāo)明其它線程其中的一出 現(xiàn)異常,而導(dǎo)致該操作系統(tǒng)被復(fù)位。
15、 如權(quán)利要求9所述的方法,其特征在于,該復(fù)位動作包括為重新啟動 或關(guān)閉該操作系統(tǒng)。
全文摘要
本發(fā)明揭示一種可監(jiān)控多線程狀態(tài)的系統(tǒng)及其監(jiān)控方法。此系統(tǒng)包含一用以產(chǎn)生一計數(shù)值的計時單元;一監(jiān)控第一線程及其它線程所進(jìn)行的一刷新動作的監(jiān)控單元。此方法包含步驟通過一計時單元產(chǎn)生一計數(shù)值;利用一監(jiān)控單元監(jiān)控第一線程及其它線程所進(jìn)行的一刷新動作;當(dāng)?shù)谝痪€程進(jìn)行刷新動作時,若其它線程的刷新次數(shù)其中之一未達(dá)一特定要求,則監(jiān)控單元對操作系統(tǒng)進(jìn)行一復(fù)位動作。若其它線程的刷新次數(shù)達(dá)到特定要求,則第一線程更新其一第一刷新次數(shù),并對計時單元進(jìn)行刷新動作以重數(shù)計數(shù)值;當(dāng)其它線程進(jìn)行刷新動作時,則其它線程更新其刷新次數(shù)。從而除可輕易監(jiān)控所有線程外,亦不需耗費資源維護(hù)一監(jiān)控線程及一信息表,作法簡單容易。
文檔編號G06F11/00GK101458640SQ200710172370
公開日2009年6月17日 申請日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者臧東明 申請人:環(huán)達(dá)電腦(上海)有限公司;神達(dá)電腦股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
保定市| 昌邑市| 齐河县| 安义县| 定襄县| 云浮市| 十堰市| 宣武区| 绩溪县| 福贡县| 鹤岗市| 浦江县| 沙坪坝区| 锦州市| 沙洋县| 定西市| 和平区| 康保县| 平谷区| 蓬莱市| 吕梁市| 中卫市| 舞阳县| 沙田区| 阿拉善右旗| 东阿县| 瑞丽市| 军事| 荥经县| 湾仔区| 伊吾县| 临桂县| 全州县| 安吉县| 嘉义县| 福安市| 新河县| 文成县| 赣州市| 渭南市| 神池县|