诊断系统异样的方法技术方案

技术编号:2822638 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种诊断系统异样的方法。此方法在接收中断事件后,执行处理程序以服务此中断事件。若中断事件未被服务,则累计未执行次数,直到未执行次数等于临界值时,便将中断事件的事件来源的相关数据记录至存储单元。如此,便可从记录中快速得知系统异样发生的所在处,缩短寻找异常原因的时间。

【技术实现步骤摘要】

本专利技术是有关于一种系统诊断方法,且特别是有关于一种通过检査系统管理中断(System Management Interrupt, SMI)的服务来。
技术介绍
系统管理模式(System Management Mode, S醒)为现今一般个人电脑系统所 用的中央处理单元的一种特别功能。而基本输入输出系统(Basic Input Output System, BIOS)可以在系统管理模式下执行许多处理程序,例如系统管理中断处理 程序(SMI handler),以服务硬件装置所发出的中断事件。另外,系统管理模式 更支持主板特殊的功能,而利用处理程序去完成特殊硬件动作。在目前的电脑系统中,若在开机或安装操作系统的过程中,处理程序停留在 某个关卡而无法执行后续动作时,就使用者观点而言,就像是系统挂掉(hang)。 其中原因可能是因为系统对于所接收中断事件没有相对应的服务,导致无法服务此 中断事件。例如,当通用串行总线(Universal Serial Bus, USB)装置发出一个 中断事件,而无相对应的服务时,将导致系统出现饥饿(starvation)状态。也就 是说中断事件仍旧等待着被服务,在离开处理程序之后,将立刻再进入处理程序, 如此循环着。另外,当中断事件清除不掉而导致系统继续尝试服务此中断事件,亦将使得 系统出现饥饿状态,而其原因可能为处理程序的程序码有问题。也就是说,处理程 序具有中断事件相对应的服务,但是由于处理程序有错误(bug),因而始终无法 呼叫对应的服务来处理中断事件,使得系统呈现锁住状态。此外,当系统含有硬件装置的驱动程序时,硬件装置所发出的中断事件将由 其驱动程序进行服务。此时,若中断事件清除不掉,即是此硬件装置的驱动程序有 问题。例如,当系统含有USB装置的驱动程序,即使中断事件已服务完毕,但是由 于其驱动程序有错误而使得中断事件清除不掉。综上所述,当发生上述系统挂掉的情形时,传统作法为开发人员依照自身经 验,而尝试各种可能的情况以找出系统挂掉的原因。如此作法常常需花费许多时间 方能找出问题所在,费时又费力。
技术实现思路
本专利技术提供一种,将系统发生异样的相关数据记录下来, 以供快速检査异样的原因。本专利技术提出一种,首先接收中断事件。接着,执行处理 程序以服务中断事件。然后,判断中断事件是否被服务;当中断事件未被服务时, 累计未执行次数。最后,当未执行次数达到临界值时,将中断事件的事件来源的相 关数据记录至存储单元。在本专利技术一实施例中,上述当中断事件未被服务时,将未执行次数累计的步骤之后,还包括尝试服务中断事件,并重复上述步骤。在本专利技术一实施例中,上述在执行处理程序以服务中断事件的步骤之前,还包括检测事件来源的状态位元及使能位元,并对二者进行与(and)运算,以获得第一运算结果。在本专利技术一实施例中,上述在执行处理程序以服务中断事件的步骤包括当中 断事件服务完成时,将状态位元清除。在本专利技术一实施例中,上述在执行处理程序以服务中断事件的步骤之后,还 包括检测事件来源的状态位元及使能位元,并对二者进行与运算,以获得第二运算 结果。接着,比较第一运算结果及第二运算结果是否相同;若第一运算结果与第二 运算结果相同时,将未执行次数累加l。在本专利技术一实施例中,上述在将中断事件的相关数据记录至存储单元的步骤 之后,还包括读取存储单元,以显示中断事件的事件来源的相关数据所对应的硬件 装置。在本专利技术一实施例中,上述将中断事件的事件来源的相关数据记录至存储单 元的步骤,还包括传送记录指令通知基板管理控制器(Baseboard Management Controller, BMC),以将事件来源的相关数据记录至系统事件日志(System Event Log, SEL),并存储至存储单元。在本专利技术一实施例中,上述执行处理程序以服务中断事件的步骤包括接收系统管理中断(System Management Interr叩t, SMI)信号,以进入系统管理模式 (System Management Mode, SMM),并在系统管理模式下,执行处理程序以服务 中断事件。在本专利技术一实施例中,上述系统管理中断信号为通过触发系统管理中断硬件 接口而产生。在本专利技术一实施例中,上述事件来源的相关数据包括事件名称以及来源路径, 事件名称包括周期性事件(periodic event)或通用事件(general purpose event); 而来源路径包括中断事件所有通过的节点。在本专利技术一实施例中,上述事件来源包括中断事件初始通过的节点。本专利技术于中断事件未被服务时计算其未执行次数,直到未执行次数达到临界 值后,则判断此中断事件处于异样状态,因而将其相关数据记录之。如此一来,开 人员便可通过此记录而得知发生异样的相关数据,在除错上将更方便且快速。为让本专利技术的上述特征和优点能更明显易懂,下文特举较佳实施例,并配合 附图作详细说明如下。附图说明图1是依照本专利技术一实施例所绘示的流程图。 图2是依照本专利技术一实施例所绘示的系统架构方块图。 图3是依照本专利技术另一实施例所绘示的流程图。 图4是依照本专利技术一实施例所绘示的中断事件的来源路径的示意图。具体实施例方式目前当系统发生异样时,例如发生系统挂掉(hang)的情形,必须耗费许多 时间去尝试各种可能性去找出问题所在。因此,本专利技术可将发生系统异样的相关数 据记录下来,而从记录中快速得知问题所在处。为了使本专利技术的内容更为明了,以 下特举实施例作为本专利技术确实能够据以实施的范例。图1是依照本专利技术一实施例所绘示的流程图。请参照图 1,首先步骤S101为接收中断事件,此中断事件由硬件装置或芯片组(chipset)所发出。举例来说,当系统开机时,硬件装置或芯片组会通过发出中断事件来通知 处理单元(例如中央处理单元),使得处理单元得知有哪些装置需要去服务。中断事件例如是系统管理中断(System Management Interrupt, SMI)事件接着,步骤S102执行处理程序以服务中断事件。处理程序例如是系统管理中 断处理程序(SMI handler)。详细地说,当中断事件触发系统管理中断硬件接口 时,则会产生系统管理中断信号。而处理单元接收此系统管理中断信号后,将进入 系统管理模式(System Management Mode, S薩),并在系统管理模式下,执行由 基本输入输出系统(Basic I叩ut Output System, BIOS)准备好的处理程序以服 务中断事件。从系统角度来看,BIOS会经由系统管理中断信号而收到中断事件的通知。在 中断事件发生时,BIOS会与操作系统沟通,以将控制权由操作系统转交至BIOS。 接着,BI0S将会负责完成所请求的动作,即是BIOS将执行处理程序以服务中断事 件。然后,步骤S103便去判断中断事件是否被服务。当中断事件被服务完成时, 便会将服务完成的中断事件清除,而执行步骤S107结束服务此中断事件。若中断事件未被服务,则执行步骤S104,累计未执行次数,以计算此中断事 件未被服务的次数。举例来说,每个中断事件皆有一个相对应的未执行次数,并将 此未执行次数的初始值设定为0,当此中断事件未被服务时,每次皆将此未执行次数累加1。举例来说,将未执本文档来自技高网
...

【技术保护点】
一种诊断系统异样的方法,包括:接收一中断事件;执行一处理程序以服务该中断事件;判断该中断事件是否被服务;当该中断事件未被服务时,累计一未执行次数;以及当该未执行次数达到一临界值时,将该中断事件的一事件来源的相关数据记录至一存储单元。

【技术特征摘要】

【专利技术属性】
技术研发人员:卢盈志
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1