專利名稱:偵測計算機系統(tǒng)當機的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機系統(tǒng)監(jiān)控方法,且特別涉及一種偵測計算機系統(tǒng)當機的方法。
背景技術(shù):
隨著科技的進步以及計算機系統(tǒng)的普及化,越來越多的現(xiàn)代人習(xí)慣用計算機系統(tǒng) 來處理文件、瀏覽網(wǎng)絡(luò)、播放影音檔案或儲存數(shù)據(jù),計算機系統(tǒng)也因此成為現(xiàn)代人在工作或 生活上不可或缺的工具之一。在目前的計算機系統(tǒng)中,若在開機或操作系統(tǒng)運作的過程中,處理程序停留在某 個關(guān)卡而無法執(zhí)行后續(xù)動作時,即為當機(hang)。其中原因可能是因為計算機系統(tǒng)對于 所接收中斷事件沒有相對應(yīng)的服務(wù),導(dǎo)致無法服務(wù)此中斷事件。傳統(tǒng)偵測計算機系統(tǒng)當機 (hang)的方法,其需要在操作系統(tǒng)底下撰寫周期性服務(wù)程序(Periodic Service),以通過 此服務(wù)程序去重新加載計算機系統(tǒng)的定時器。此外,不同的操作系統(tǒng)會有不同的服務(wù)程序。然而,傳統(tǒng)作法僅能在操作系統(tǒng)底下去檢查系統(tǒng)是否當機,而無法在尚未進入操 作系統(tǒng)前即檢查系統(tǒng)是否當機。此外,傳統(tǒng)作法也無法實時檢測到系統(tǒng)發(fā)生當機。再者,傳 統(tǒng)作法不僅要花費額外成本來撰寫對應(yīng)的服務(wù)程序,在撰寫上也更為復(fù)雜,例如需要驅(qū)動 程序來存取芯片寄存器。
發(fā)明內(nèi)容
本發(fā)明提供一種偵測計算機系統(tǒng)當機的方法,利用系統(tǒng)管理中斷機制來判斷是否 發(fā)生當機。本發(fā)明提出一種偵測計算機系統(tǒng)當機的方法。在此,計算機系統(tǒng)包括基本輸入輸 出系統(tǒng)、中央處理單元以及計時單元,中央處理單元耦接該基本輸入輸出系統(tǒng)以及該計時 單元。其中,此計時單元包括第一計時完了位。當計時單元在計時至第一預(yù)設(shè)時間之后, 計時單元會寫入一特定值至第一計時完了位。首先,基本輸入輸出系統(tǒng)會依據(jù)周期性系 統(tǒng)管理中斷(periodic systemmanagement interrupt)啟動系統(tǒng)管理中斷處理程序(SMI handler),其中系統(tǒng)管理中斷處理程序用來重新啟動上述計時單元。接著,通過基本輸入輸 出系統(tǒng)執(zhí)行開機自我測試(Power On Self Test,POST),并檢查第一計時完了位的值。當 第一計時完了位記錄上述特定值時,通過基本輸入輸出系統(tǒng)顯示一計時完了信息。在本發(fā)明一實施例中,上述偵測計算機系統(tǒng)當機的方法中,通過芯片單元觸發(fā)周 期性系統(tǒng)管理中斷,以啟動系統(tǒng)管理中斷處理程序。其中,可設(shè)定一第二預(yù)設(shè)時間,使得芯 片單元每隔第二預(yù)設(shè)時間而觸發(fā)周期性系統(tǒng)管理中斷。在本發(fā)明一實施例中,上述在檢查第一計時完了位的值之后,通過基本輸入輸出 系統(tǒng)可將第一計時完了位的值儲存至記憶單元。例如,在計算機系統(tǒng)的記憶單元設(shè)置一第 二計時完了位,以儲存第一計時完了位的值。在本發(fā)明一實施例中,上述在顯示計時完了信息之后,通過基本輸入輸出系統(tǒng)更可將記錄在第一計時完了位中的特定值清除。在本發(fā)明一實施例中,上述計時單元為看門狗定時器(watchdog timer) 0基于上述,本發(fā)明是在基本輸入輸出系統(tǒng)下,利用計時單元以及周期性系統(tǒng)管理 中斷機制來偵測計算機系統(tǒng)是否發(fā)生當機。據(jù)此,可在基本輸入輸出系統(tǒng)執(zhí)行開機自我測 試時,即可開始啟動偵測計算機系統(tǒng)是否發(fā)生當機,不需于操作系統(tǒng)(Operating System, OS)下透過周期性服務(wù)程序及驅(qū)動程序來進行檢測,在開發(fā)上更為方便。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳 細說明如下。
圖1是依照本發(fā)明-圖2是依照本發(fā)明-附圖標記說明 S105-S120 本發(fā)明-210 中央處理單元 223 第二致能位; 240 計時單元;
-實施例的偵測計算機系統(tǒng)當機的方法流程圖; -實施例的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
-實施例的偵測計算機系統(tǒng)當機的方法各步驟;
220 芯片單元;221 第二計數(shù)寄存器
225 狀態(tài)位;230 =SMI處理程序;
241 第一計數(shù)寄存器; 243 第一致能位; 245 第一計時完了位; 250 基本輸入輸出系統(tǒng)。
具體實施例方式為了使本發(fā)明的內(nèi)容更為明了,以下特舉實施例作為本發(fā)明確實能夠據(jù)以實施的 范例。圖1是依照本發(fā)明一實施例所繪示的偵測計算機系統(tǒng)當機的方法流程圖。本實施 例適用于基本輸入輸出系統(tǒng)(Basic Input Output System,BIOS),其是利用計時單元、周 期性系統(tǒng)管理中斷(periodic system management interrupt)機制來達成。請參照圖1,首先,在步驟S105中,依據(jù)周期性系統(tǒng)管理中斷來啟動系統(tǒng)管理中斷 處理程序(SMI handler) 0在此,通過SMI處理程序來重新加載計時單元。詳細地說,系統(tǒng) 管理模式(System Management Mode, SMM)為現(xiàn)有一般個人計算機系統(tǒng)所用的中央處理單 元的一種特別功能。而基本輸入輸出系統(tǒng)可以在系統(tǒng)管理模式下執(zhí)行SMI處理程序,并可 服務(wù)周期性系統(tǒng)管理中斷。圖2是依照本發(fā)明一實施例所繪示的計算機系統(tǒng)的結(jié)構(gòu)示意圖。請參照圖2,計算 機系統(tǒng)包括中央處理單元210、芯片單元220、SMI處理程序230、計時單元240以及基本輸 入輸出系統(tǒng)250。芯片單元220用以觸發(fā)周期性系統(tǒng)管理中斷,使得基本輸入輸出系統(tǒng)250 通過中央處理單元210來啟動SMI處理程序230,以通過SMI處理程序230來重新啟動計時 單元240。在此,計時單元240例如為看門狗定時器(watchdog timer),包括第一計數(shù)寄存 器(register) 241、第一致能位243以及第一計數(shù)完了位(time-out bit)245。其中,第一 計數(shù)寄存器241用以記錄第一預(yù)設(shè)時間,使得計時單元240自0開始計時至第一預(yù)設(shè)時間。 第一致能位243用以決定計時單元240是否啟動而開始進行計時。例如,當?shù)谝恢履芪?43為1時,表示計時單元240被啟動而開始進行計時;第一致能位243為0時,停止計時單元 240。而當計時單元240自0開始計時至第一預(yù)設(shè)時間之后,便會停止計時并記錄一特定值 (例如1)至第一計時完了位245。另外,芯片單元220例如為南北橋芯片組,包括第二計數(shù)寄存器221、第二致能位 223以及狀態(tài)位225。其中,第二計數(shù)寄存器221用以記錄第二預(yù)設(shè)時間,使得芯片單元220 每隔第二預(yù)設(shè)時間即觸發(fā)周期性系統(tǒng)管理中斷。例如,設(shè)定第二預(yù)設(shè)時間為一分鐘,也就是 說,芯片單元220會每隔一分鐘觸發(fā)一次周期性系統(tǒng)管理中斷。第二致能位223用以決定芯 片單元220是否開始觸發(fā)周期性系統(tǒng)管理中斷。例如,當?shù)诙履芪?23為1時,表示芯片 單元220被啟動而開始每隔第二預(yù)設(shè)時間便觸發(fā)周期性系統(tǒng)管理中斷;當?shù)诙履芪?23 為0時,即停止周期性系統(tǒng)管理中斷的功能。狀態(tài)位225是用以記錄系統(tǒng)管理中斷是否為 周期性系統(tǒng)管理中斷。例如,當系統(tǒng)管理中斷為周期性系統(tǒng)管理中斷時,狀態(tài)位225的值為 1 ;當系統(tǒng)管理中斷不為周期性系統(tǒng)管理中斷時,則狀態(tài)位225的值為0。而SMI處理程序230是用以服務(wù)系統(tǒng)管理中斷。當系統(tǒng)管理中斷產(chǎn)生時,SMI處 理程序230會檢查芯片單元220的狀態(tài)位225來判斷此系統(tǒng)管理中斷是否為周期性系統(tǒng)管 理中斷。若此系統(tǒng)管理中斷為周期性系統(tǒng)管理中斷,則在SMI處理程序230服務(wù)周期性系 統(tǒng)管理中斷時,其會重新加載計時單元240的第一計數(shù)寄存器241中的值,并且清除芯片單 元220的狀態(tài)位225。接著返回圖1,并同時參照圖2,在步驟SllO中,通過基本輸入輸出系統(tǒng)250執(zhí)行 開機自我測試(Power On Self Test,P0ST)。之后,在步驟S115中,基本輸入輸出系統(tǒng)250 會檢查第一計時完了位245的值,以判斷計時單元240是否被重新啟動。詳細地說,當SMI 處理程序230被啟動時會去服務(wù)上述周期性系統(tǒng)管理中斷,在服務(wù)時,SMI處理程序230會 重新啟動計時單元240,使得計時單元240重新進行計時的動作。因此,倘若SMI處理程序 230沒有將計時單元240重新啟動,則當計時單元240計時至第一預(yù)設(shè)時間時,便會在第一 計時完了位245中記錄一特定值并可重新啟動計算機系統(tǒng)(reset system)。相反地,倘若 SMI處理程序230將計時單元240重新啟動,即表示目前計算機系統(tǒng)運作正常,則第一計時 完了位245便不會存有上述特定值。在本實施例中,第二預(yù)設(shè)時間小于第一預(yù)設(shè)時間。例如,第二預(yù)設(shè)時間設(shè)定為30 秒,第一預(yù)設(shè)時間設(shè)定為31秒。據(jù)此,芯片單元220會每隔30秒即觸發(fā)周期性系統(tǒng)管理中 斷。若SMI處理程序230在31秒內(nèi)未重新啟動計時單元240,則計時單元240便會在第一 計時完了位245中記錄1。然后,在步驟S120中,當?shù)谝挥嫊r完了位245記錄特定值時,基本輸入輸出系統(tǒng) 250會顯示一計時完了信息。之后,基本輸入輸出系統(tǒng)250更可清除記錄在第一計時完了位 245中的特定值。在此,當判定第一計時完了位245所記錄的為上述特定值時,基本輸入輸出系統(tǒng) 250還可將第一計時完了位245的值儲存至記憶單元(未圖示)。例如,在計算機系統(tǒng)的非 揮發(fā)性隨機存取內(nèi)存(Non-Volatile Random AccessMemory, NVRAM)中設(shè)置一第二計時完 了位(未圖示),以儲存第一計時完了位的值。據(jù)此,當計算機系統(tǒng)在操作系統(tǒng)下時,便能夠 通過查尋第二計時完了位來得知計算機系統(tǒng)是否曾經(jīng)發(fā)生當機,以執(zhí)行對應(yīng)的處理。例如, 當?shù)诙嫊r完了位為1時,即發(fā)送電子郵件以通知系統(tǒng)管理者。
綜上所述,本發(fā)明是在基本輸入輸出系統(tǒng)下,利用計時單元以及周期性系統(tǒng)管理 中斷機制來偵測計算機系統(tǒng)是否發(fā)生當機。據(jù)此,不需在操作系統(tǒng)下通過周期性服務(wù)程序 及驅(qū)動程序即可進行檢測,在開發(fā)上更為方便,且更省成本。并且,可在基本輸入輸出系統(tǒng) 執(zhí)行開機自我測試時,即可開始啟動偵測計算機系統(tǒng)是否發(fā)生當機。另外,在周期性SMI被 觸發(fā)時便會立即執(zhí)行SMI處理程序,在判斷上不會產(chǎn)生延遲狀況,因而不會出現(xiàn)誤判情形。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然 可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種偵測計算機系統(tǒng)當機的方法,其中所述計算機系統(tǒng)包括一基本輸入輸出系統(tǒng)、 一中央處理單元以及一計時單元,所述中央處理單元耦接所述基本輸入輸出系統(tǒng)以及所述 計時單元,其中所述計時單元包括一第一計時完了位,所述偵測計算機系統(tǒng)當機的方法包 括當所述計時單元在計時至一第一預(yù)設(shè)時間時,所述計時單元寫入一特定值至所述第一 計時完了位;依據(jù)一周期性系統(tǒng)管理中斷,由所述基本輸入輸出系統(tǒng)啟動一系統(tǒng)管理中斷處理程 序,其中所述系統(tǒng)管理中斷處理程序用來重新啟動所述計時單元;通過所述基本輸入輸出系統(tǒng)執(zhí)行一開機自我測試;通過所述基本輸入輸出系統(tǒng)檢查所述第一計時完了位的值;以及當所述第一計時完了位記錄所述特定值時,通過所述基本輸入輸出系統(tǒng)顯示一計時完 了 fn 息。
2.根據(jù)權(quán)利要求1所述的偵測計算機系統(tǒng)當機的方法,還包括通過一芯片單元觸發(fā)所述周期性系統(tǒng)管理中斷,以啟動所述系統(tǒng)管理中斷處理程序。
3.根據(jù)權(quán)利要求2所述的偵測計算機系統(tǒng)當機的方法,還包括設(shè)定一第二預(yù)設(shè)時間,使得所述芯片單元每隔所述第二預(yù)設(shè)時間而觸發(fā)所述周期性系 統(tǒng)管理中斷。
4.根據(jù)權(quán)利要求3所述的偵測計算機系統(tǒng)當機的方法,其中所述第二預(yù)設(shè)時間小于所 述第一預(yù)設(shè)時間。
5.根據(jù)權(quán)利要求1所述的偵測計算機系統(tǒng)當機的方法,其中在通過所述基本輸入輸出 系統(tǒng)檢查所述第一計時完了位的值的步驟之后,還包括通過所述基本輸入輸出系統(tǒng)將所述第一計時完了位的值儲存至一記憶單元。
6.根據(jù)權(quán)利要求5所述的偵測計算機系統(tǒng)當機的方法,還包括在所述計算機系統(tǒng)的所述記憶單元中設(shè)置一第二計時完了位,以儲存所述第一計時完 了位的值。
7.根據(jù)權(quán)利要求1所述的偵測計算機系統(tǒng)當機的方法,其中在通過所述基本輸入輸出 系統(tǒng)顯示所述計時完了信息的步驟之后,還包括通過所述基本輸入輸出系統(tǒng)清除記錄在所述第一計時完了位中的所述特定值。
8.根據(jù)權(quán)利要求1所述的偵測計算機系統(tǒng)當機的方法,其中所述計時單元為看門狗定 時器(watchdog timer)。
全文摘要
本發(fā)明提供了一種偵測計算機系統(tǒng)當機的方法,適于一基本輸入輸出系統(tǒng)。在此,提供一計時單元,此計時單元包括計時完了位,其中當計時單元在計時至一預(yù)設(shè)時間之后,寫入特定值至其計時完了位。首先,依據(jù)周期性系統(tǒng)管理中斷啟動系統(tǒng)管理中斷處理程序,其中系統(tǒng)管理中斷處理程序用來重新啟動上述計時單元。接著,執(zhí)行開機自我測試。之后,檢查計時完了位的值。當?shù)谝挥嫊r完了位記錄上述特定值時,顯示一計時完了信息。
文檔編號G06F11/32GK101996129SQ20091016339
公開日2011年3月30日 申請日期2009年8月17日 優(yōu)先權(quán)日2009年8月17日
發(fā)明者盧盈志, 王郁蕙 申請人:英業(yè)達股份有限公司