技术领域
[0001] 本
发明涉及一种计算机系统监控方法,且特别涉及一种侦测计算机系统当机的方法。
背景技术
[0002] 随着科技的进步以及计算机系统的普及化,越来越多的现代人习惯用计算机系统来处理文件、浏览网络、播放影音档案或储存数据,计算机系统也因此成为现代人在工作或生活上不可或缺的工具之一。
[0003] 在目前的计算机系统中,若在开机或
操作系统运作的过程中,处理程序停留在某个关卡而无法执行后续动作时,即为当机(hang)。其中原因可能是因为计算机系统对于所接收中断事件没有相对应的服务,导致无法服务此中断事件。传统侦测计算机系统当机(hang)的方法,其需要在操作系统底下撰写周期性服务程序(Periodic Service),以通过此服务程序去重新加载计算机系统的
定时器。此外,不同的操作系统会有不同的服务程序。
[0004] 然而,传统作法仅能在操作系统底下去检查系统是否当机,而无法在尚未进入操作系统前即检查系统是否当机。此外,传统作法也无法实时检测到系统发生当机。再者,传统作法不仅要花费额外成本来撰写对应的服务程序,在撰写上也更为复杂,例如需要驱动程序来存取芯片寄存器。
发明内容
[0005] 本发明提供一种侦测计算机系统当机的方法,利用系统管理中断机制来判断是否发生当机。
[0006] 本发明提出一种侦测计算机系统当机的方法。在此,计算机系统包括
基本输入输出系统、中央处理单元以及计时单元,中央处理单元耦接该基本输入输出系统以及该计时单元。其中,此计时单元包括第一计时完了位。当计时单元在计时至第一预设时间之后,计时单元会写入一特定值至第一计时完了位。首先,基本输入输出系统会依据周期性系统管理中断(periodic systemmanagement interrupt)启动系统管理中断处理程序(SMI handler),其中系统管理中断处理程序用来重新启动上述计时单元。接着,通过基本输入输出系统执行开机自我测试(Power On Self Test,POST),并检查第一计时完了位的值。当第一计时完了位记录上述特定值时,通过基本输入输出系统显示一计时完了信息。
[0007] 在本发明一
实施例中,上述侦测计算机系统当机的方法中,通过芯片单元触发周期性系统管理中断,以启动系统管理中断处理程序。其中,可设定一第二预设时间,使得芯片单元每隔第二预设时间而触发周期性系统管理中断。
[0008] 在本发明一实施例中,上述在检查第一计时完了位的值之后,通过基本输入输出系统可将第一计时完了位的值储存至记忆单元。例如,在计算机系统的记忆单元设置一第二计时完了位,以储存第一计时完了位的值。
[0009] 在本发明一实施例中,上述在显示计时完了信息之后,通过基本输入输出系统更可将记录在第一计时完了位中的特定值清除。
[0010] 在本发明一实施例中,上述计时单元为看
门狗定时器(watchdog timer)。
[0011] 基于上述,本发明是在基本输入输出系统下,利用计时单元以及周期性系统管理中断机制来侦测计算机系统是否发生当机。据此,可在基本输入输出系统执行开机自我测试时,即可开始启动侦测计算机系统是否发生当机,不需于操作系统(Operating System,OS)下透过周期性服务程序及驱动程序来进行检测,在开发上更为方便。
[0012] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合
附图作详细说明如下。
附图说明
[0013] 图1是依照本发明一实施例的侦测计算机系统当机的方法
流程图;
[0014] 图2是依照本发明一实施例的计算机系统的结构示意图。
[0015] 附图标记说明:
[0016] S105-S120:本发明一实施例的侦测计算机系统当机的方法各步骤;
[0017] 210:中央处理单元; 220:芯片单元; 221:第二计数寄存器;
[0018] 223:第二致能位; 225:状态位; 230:SMI处理程序;
[0019] 240:计时单元; 241:第一计数寄存器;243:第一致能位;
[0020] 245:第一计时完了位;250:基本输入输出系统。
具体实施方式
[0021] 为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
[0022] 图1是依照本发明一实施例所绘示的侦测计算机系统当机的方法流程图。本实施例适用于基本输入输出系统(Basic Input Output System,BIOS),其是利用计时单元、周期性系统管理中断(periodic system managementinterrupt)机制来达成。
[0023] 请参照图1,首先,在步骤S105中,依据周期性系统管理中断来启动系统管理中断处理程序(SMI handler)。在此,通过SMI处理程序来重新加载计时单元。详细地说,系统管理模式(System Management Mode,SMM)为现有一般个人计算机系统所用的中央处理单元的一种特别功能。而基本输入输出系统可以在系统管理模式下执行SMI处理程序,并可服务周期性系统管理中断。
[0024] 图2是依照本发明一实施例所绘示的计算机系统的结构示意图。请参照图2,计算机系统包括中央处理单元210、芯片单元220、SMI处理程序230、计时单元240以及基本输入输出系统250。芯片单元220用以触发周期性系统管理中断,使得基本输入输出系统250通过中央处理单元210来启动SMI处理程序230,以通过SMI处理程序230来重新启动计时单元240。
[0025] 在此,计时单元240例如为
看门狗定时器(watchdog timer),包括第一计数寄存器(register)241、第一致能位243以及第一计数完了位(time-out bit)245。其中,第一计数寄存器241用以记录第一预设时间,使得计时单元240自0开始计时至第一预设时间。第一致能位243用以决定计时单元240是否启动而开始进行计时。例如,当第一致能位243为1时,表示计时单元240被启动而开始进行计时;第一致能位243为0时,停止计时单元
240。而当计时单元240自0开始计时至第一预设时间之后,便会停止计时并记录一特定值(例如1)至第一计时完了位245。
[0026] 另外,芯片单元220例如为南北桥
芯片组,包括第二计数寄存器221、第二致能位223以及状态位225。其中,第二计数寄存器221用以记录第二预设时间,使得芯片单元220每隔第二预设时间即触发周期性系统管理中断。例如,设定第二预设时间为一分钟,也就是说,芯片单元220会每隔一分钟触发一次周期性系统管理中断。第二致能位223用以决定芯片单元220是否开始触发周期性系统管理中断。例如,当第二致能位223为1时,表示芯片单元220被启动而开始每隔第二预设时间便触发周期性系统管理中断;当第二致能位223为0时,即停止周期性系统管理中断的功能。状态位225是用以记录系统管理中断是否为周期性系统管理中断。例如,当系统管理中断为周期性系统管理中断时,状态位225的值为
1;当系统管理中断不为周期性系统管理中断时,则状态位225的值为0。
[0027] 而SMI处理程序230是用以服务系统管理中断。当系统管理中断产生时,SMI处理程序230会检查芯片单元220的状态位225来判断此系统管理中断是否为周期性系统管理中断。若此系统管理中断为周期性系统管理中断,则在SMI处理程序230服务周期性系统管理中断时,其会重新加载计时单元240的第一计数寄存器241中的值,并且清除芯片单元220的状态位225。
[0028] 接着返回图1,并同时参照图2,在步骤S110中,通过基本输入输出系统250执行开机自我测试(Power On Self Test,POST)。之后,在步骤S115中,基本输入输出系统250会检查第一计时完了位245的值,以判断计时单元240是否被重新启动。详细地说,当SMI处理程序230被启动时会去服务上述周期性系统管理中断,在服务时,SMI处理程序230会重新启动计时单元240,使得计时单元240重新进行计时的动作。因此,倘若SMI处理程序230没有将计时单元240重新启动,则当计时单元240计时至第一预设时间时,便会在第一计时完了位245中记录一特定值并可重新启动计算机系统(reset system)。相反地,倘若SMI处理程序230将计时单元240重新启动,即表示目前计算机系统运作正常,则第一计时完了位245便不会存有上述特定值。
[0029] 在本实施例中,第二预设时间小于第一预设时间。例如,第二预设时间设定为30秒,第一预设时间设定为31秒。据此,芯片单元220会每隔30秒即触发周期性系统管理中断。若SMI处理程序230在31秒内未重新启动计时单元240,则计时单元240便会在第一计时完了位245中记录1。
[0030] 然后,在步骤S120中,当第一计时完了位245记录特定值时,基本输入输出系统250会显示一计时完了信息。之后,基本输入输出系统250更可清除记录在第一计时完了位
245中的特定值。
[0031] 在此,当判定第一计时完了位245所记录的为上述特定值时,基本输入输出系统250还可将第一计时完了位245的值储存至记忆单元(未图示)。例如,在计算机系统的非挥发性随机存取内存(Non-Volatile Random AccessMemory,NVRAM)中设置一第二计时完了位(未图示),以储存第一计时完了位的值。据此,当计算机系统在操作系统下时,便能够通过查寻第二计时完了位来得知计算机系统是否曾经发生当机,以执行对应的处理。例如,当第二计时完了位为1时,即发送
电子邮件以通知系统管理者。
[0032] 综上所述,本发明是在基本输入输出系统下,利用计时单元以及周期性系统管理中断机制来侦测计算机系统是否发生当机。据此,不需在操作系统下通过周期性服务程序及驱动程序即可进行检测,在开发上更为方便,且更省成本。并且,可在基本输入输出系统执行开机自我测试时,即可开始启动侦测计算机系统是否发生当机。另外,在周期性SMI被触发时便会立即执行SMI处理程序,在判断上不会产生延迟状况,因而不会出现误判情形。
[0033] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行
修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。