CN100587669C - 用于对计算机的自动技术支持的方法和系统 - Google Patents

用于对计算机的自动技术支持的方法和系统 Download PDF

Info

Publication number
CN100587669C
CN100587669C CN200410079832A CN200410079832A CN100587669C CN 100587669 C CN100587669 C CN 100587669C CN 200410079832 A CN200410079832 A CN 200410079832A CN 200410079832 A CN200410079832 A CN 200410079832A CN 100587669 C CN100587669 C CN 100587669C
Authority
CN
China
Prior art keywords
computer system
mode
operating system
timer
attendant application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN200410079832A
Other languages
English (en)
Other versions
CN1619492A (zh
Inventor
小托马斯·弗尔赫尔
小卡里·D·休伯
罗伊·W·斯特德曼
詹姆斯·范阿特斯达伦
克里希纳穆尔蒂·文卡塔拉曼尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/377,726 external-priority patent/US6560726B1/en
Priority claimed from US09/413,422 external-priority patent/US6606716B1/en
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of CN1619492A publication Critical patent/CN1619492A/zh
Application granted granted Critical
Publication of CN100587669C publication Critical patent/CN100587669C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

一种用于为计算机系统提供自动技术支持的方法及计算机系统,所述方法包括下列步骤:在所述计算机系统的操作期间的任何时候按下服务按钮;判定所述计算机系统是否正在执行引导序列;如果所述计算机系统不是正在执行引导序列,以第一方式启动服务应用程序,以便调用它来提供自动技术支持;如果所述计算机系统正在执行引导序列,在引导序列期间的预定时间以第二方式启动服务应用程序,以便调用它来提供自动技术支持。

Description

用于对计算机的自动技术支持的方法和系统
本申请是申请日为2000年8月21日,申请号为00131722.9,发明名称为“用于对计算机的自动技术支持的方法和系统”的中国发明专利申请的分案申请。
技术领域
这项专利申请整体涉及一种计算设备领域,更尤其涉及一种用于计算机自动支持的方法和系统。
背景技术
个人计算机系统在商业和家庭中已经日益变得普通。尽管术语“个人计算机”意味着一个通用设备,“个人计算机”通常存在一个硬件和软件组件的广泛差异。例如,不同的个人计算机可以有不同速度的处理器和总线,不同容量的硬盘驱动器和RAM存储器,及被连接在不同类型的接口插件上的外部设备,比如音频设备。更进一步地,一大批的生产商制造计算机组件以至于在一个给定的个人计算机里,即使本质上有相似操作特性的组件也可能具有基于每一个组件的生产商规格的重大的差异。
关于软件,通常地所有个人计算机都有一个对于协调硬件组件操作的操作系统的共同需求。然而,每一个独立的个人计算机可以有许多可能的操作系统中的一种。例如,Microsoft(微软)产品已经从它的最初的磁盘操作系统(“DOS”)发展到Windows系统,包括Windows3.1、Windows95、Windows98、Windows CE和Windows NT。除了这些Microsoft操作系统之外,其他类型的操作系统也是可以使用的,比如不同版本的Unix,包括Linux。
除了这个操作系统的广泛差异之外,个人计算机可能操作大量不同类型的软件应用程序。一个给定的软件应用程序可以以不同的方式与不同的操作系统相互影响。因此,即使有本质上相似的硬件组件,有不同软件的个人计算机可能以本质上不同的方式操作。
计算机用户能因为许多原因在操作系统中体验困难。知识缺乏、硬件故障、软件不兼容,以及许多其他原因能给计算机用户导致问题。即使给定硬件和软件可使用的广泛的范围(意味着一个用户能体验的硬件/软件组合的甚至更大的范围),也很难判定计算机是否有问题。
这个情况因为个人计算机没有好的机构来自动判定硬件/软件系统是否有问题的事实而更复杂了。虽然确定的操作系统包含帮助检测硬件特殊部分的一些类型问题的代码,但这种机构在用于判定操作系统是否有问题上可能不够一致。事实上,一个操作系统问题的共同故障现象是不能引导,在这种情况下OS不能被支持以便帮助。另一个操作系统问题的共同故障现象是挂起,在这种情况下操作系统因为广泛的多种原因对键盘和鼠标变得无反应。这将被注意到这种类型的问题能被已经安装在操作系统之上的软件部分所引起,比如一个应用程序或者驱动程序,或者已经被加载的软件之间的不兼容性。可运作的系统可能由于软件不兼容性在一些稍后点停止操作。
另一个问题是缺少一个用于用户的统一机构来调用支持。如果用户有疑问或者系统有问题,或者至少用户察觉到问题,现在没有统一的机构来获得这种系统以便尝试着对用户提供支持。尽管对用户有多种类型的可以使用的帮助,但它们依赖一个或者多个工作输入设备,比如鼠标和/或者键盘,以及能够定位在系统和在例如国际互联网的全球信息资源上的多种信息资源中的一种足够水平的用户知识。
因此,对通过一个统一的故障保险机构就能达到而不管操作系统和其他软件的功能状态的用于识别和解决个人计算机系统问题、而且能在广泛类型的操作系统上被实现的方法和系统的需求已经出现。
对于当操作系统已经不能引导或者已经挂起时能够检查并能采取适当校正动作的方法和系统存在着更进一步的需求。
对于包括一个监视系统的这种系统存在着更进一步的需求,监视系统与操作系统通信且反之亦然并有能力与广泛的多种不同的操作系统进行通信。
对于能被调用尝试着解决操作系统引导故障和操作系统挂起条件的标准机构存在着更进一步的需求。
对于将尝试着解决操作系统挂起条件而不管在引导或者别的方式过程中支持是否已经被用户请求并且不管用户是否已经提出了多次支持请求的这样的标准机构存在着更进一步的需求。
依据当前公开的内容,方法和系统被提供用来从本质上消除或者减少与先前已开发的用于识别计算机系统问题的方法和系统相联系的缺点和问题。监视系统检测计算机系统的问题并帮助识别和解决问题。确定当前计算机系统的性能水平,并且依据计算机系统的性能提供用于计算机系统的技术支持。
发明内容
依据这个发明的一个方面,一个状态机监视操作系统性能以便察觉计算机系统故障。监视计时器本质上与计算机系统引导程序的启动同时被启动并在计算机系统引导序列的预定点被清零。如果监视计时器在预定时间周期之后保持未被清零则计算机系统引导故障被确定存在。例如,监视计时器在预定时间周期期满之前以操作系统服务例程被清零,从而表明操作系统在预定时间周期内已经引导通过引导序列的服务例程点。没能以服务例程清零监视计时器表明引导过程通过服务例程被调用的引导序列点的故障。
在一个实施例中,用户通过按下服务按钮启动操作系统监视以便指示计算机系统的问题。服务按钮的按下在适当的时间启动支持功能,比如服务应用程序的启动。支持功能允许通过监视系统对计算机系统的测试。服务按钮通过操作系统的调用启动与监视引导相联系的监视计时器。可代替地或者除了与监视引导相联系的监视计时器启动之外,服务按钮启动另一个作为挂起检测计时器的监视计时器。如果服务按钮在计算机系统引导期间被按下,挂起检测计时器在计算机系统引导序列的预定点处被启动,比如在用户提供注册信息之后,并且在服务应用程序启动之时被清零。如果挂起检测计时器在预定挂起检测时间之后保持未被清零,操作系统挂起错误被识别。
依据一个实施例,计算机故障的检测导致计算机系统重新引导到服务模式。服务模式引导服务模式操作系统以便即使计算机的主操作系统已经失效也能分析计算机系统。服务模式引导程序的启动也启动了一个监视计时器。监视计时器在服务模式操作系统引导序列的预定点处被清零。如果监视计时器在预定时间周期之后保持未被清零则计算机系统故障被确定存在。如果服务模式引导程序通过先前的用户服务按下按钮而被启动并确保故障检测,则服务模式挂起检测计时器监视服务模式操作系统引导序列以便检测服务模式操作系统的任何挂起。
在另一个实施例中,在一个有服务按钮和控制器芯片组的计算机系统中提供了用于自动支持的方法。方法包括步骤:按下服务按钮、响应按下步骤在控制器芯片组中的通用输入寄存器中设置第一个二进制位以便产生第一中断信号、接收第一中断并且判定计算机系统是否正在引导,和如果系统正在引导则以第一方式启动服务应用程序例程、或者如果系统没有正在引导则以第二方式启动服务应用程序例程。
还提供了一个计算机系统,所述计算机系统具有一个至少有一个计时器的处理器、一个控制器芯片组、一个系统BIOS、和一个用于通过BIOS与计算机系统的组件通信的操作系统。服务按钮被连接到芯片组中的通用输入寄存器里,用于生成引起第一中断的寄存器。系统更进一步地包括一个被连接到输入寄存器,用来接收第一中断并且以依赖于计算机系统是处在引导状态还是非引导状态的方式处理它的中断处理器。
还提供了一个有系统BIOS和操作系统的计算机系统,其中,计算机系统包括被连接到控制器芯片组中的通用输入寄存器上用来在寄存器中设置一个二进制位以生成第一中断信号的服务按钮。如果计算机系统不是在引导状态中,则在系统BIOS中的中断处理器接收到第一中断信号,并且启动第二中断信号给操作系统,以便启动服务应用程序。如果计算机系统是在引导状态,二进制位保持设置,并且如果二进制位已经被设置,则被包含在操作系统中的代码在以后的引导序列过程中检查二进制位状态并且启动服务应用程序。
本项发明提供了许多重要的技术优点。一个重要的技术优点是对检测与计算机系统相联系的问题的综合支持。监视用于硬件或者操作系统故障的计算机系统引导序列能使问题检测和对解决问题的支持自动化。更进一步地,操作系统故障检测允许通过使用服务模式操作系统而对计算机系统问题进行分析和校正。
另一个重要的技术优点是自动证实问题存在于计算机系统中。监视系统已经检测到问题的指示最低限度给技术支持人员提供证实,以减少对计算机系统用户口头描述的依赖性。问题证实限制技术支持人员需要检查过电话访问的过程的基本选项的数目。更进一步地,如果监视系统没有检测到问题,则技术支持人员能够限制需要调查的问题的数目。例如,不能检测到监视系统的问题表明硬件和操作系统已经以正常方式引导,并且系统能够启动服务应用程序。
另一个重要的技术优点是与计算机系统相联系的问题的识别。例如,计算机系统引导程序的监视允许识别与硬件或者与操作系统相联系的问题,或者可替换地可以表示指示与用户或者应用程序有关的困难的适当的硬件和操作系统功能。如果操作系统软件有问题,则服务模式操作系统的使用支持全部分析以便更进一步地识别和分析问题。例如,如果主操作系统不能操作,则服务模式操作系统支持计算机系统操作,并且允许用于对主操作系统问题的自动分析和校正的计算机系统的操作。
另一个重要的优点是一个简单而且使用不复杂的强大的用户接口。例如,有疑问或者问题的用户简单地按下一个单个服务按钮。按下服务按钮产生一个中断直接进入芯片组以便提醒监视系统注意服务被用户请求了。到芯片组的服务按钮的直接接口提高了可靠性和简单性,因为给服务按钮的用户的输入不必依靠计算机组件、比如键盘或者鼠标的操作。另外,用户可以在任何时候按下服务按钮来寻求支持。按下服务按钮用以启动服务应用程序的方式确保服务应用程序将在适当的时候被运行,不管服务按钮被按下的时间,以及不管它是否被按下多次。一旦服务按钮被按下,即使当操作系统已经失效的时候,计算机系统可以通过使用服务模式操作系统运行计算机组件来执行对潜在问题的深入分析。更进一步地,本发明的系统和方法能够以不同类型的操作系统容易地实现。
关于本发明及其优点的更完全的理解可以通过参考结合附图给出的下面的描述来获得,在附图中同样的标号表示同样的功能部件,其中:
附图说明
图1描述了一个被操作系统监视状态机构监视的计算机系统的方框图;
图2描述了一个在正常模式引导期间和之后操作系统监视的流程图;
图3描述了一个在服务模式引导期间和之后操作系统监视的流程图;
图4描述了一个在服务按钮按下之后服务应用程序启动的流程图;和
图5描述了一个被用于启动服务应用程序的软件和硬件元件的方框图。
具体实施方式
本发明的最佳实施例在附图中被图解,相同的数字被用于指示各个附图中同样的和相应的部分。
一个健康的操作系统监视在计算机系统上的硬件和软件运行。有时,操作系统检测到计算机系统的困难或者问题并且提供困难或者问题的警告给计算机系统用户。通常与操作系统相联系的帮助系统能够自动地或者通过用户交互作用、例如通过提问题帮助解决困难或者问题。然而,当操作系统自身有问题或者有软件不兼容性时,对于操作系统来说很难解决那些问题。经常地,操作系统不是关闭就是挂起,而没有给计算机系统用户提供进一步的问题警告。
为了改善计算机系统问题检测、识别和解决,与计算机系统的BIOS相联系的监视系统监视操作系统功能。监视系统检测操作系统引导故障和各种类型的操作系统挂起。一旦问题被检测到,补救动作被自动采取以便使用一个利用计算机系统的操作方面的统一机构来恢复有故障的计算机系统。另外,监视系统能通过服务按钮的单击被调用。服务按钮的按下提供一个中断给计算机系统芯片组,用于自动调用作为被计算机系统安全和状态检测到的最高可利用的级别的用户支持。作为下面将被更完全地描述的,当计算机系统正在服务模式或者正常模式中在POST、引导时服务按钮可以被用户按下。当服务按钮被按下时,BIOS在控制器芯片组中的通用输入寄存器中设置一个二进制位并且产生一个中断。在BIOS中的状态-敏感中断处理器代码采取适当的动作,并且依赖由确定的CMOS二进制位表示的计算机系统的状态与操作系统通信。更进一步地,中断处理器代码确保只有适当的动作被采取,而不管服务按钮被连续按下的次数。用于监视计算机系统故障的系统和方法现在将被更详细的描述,其后是对服务按钮能够用以调用这样一个监视系统的方式的详细描述。
现在参照图1,方框图描述了一个有通过基本输入输出系统(“BIOS”)16与硬件组件14相连系的操作系统12的计算机系统10。硬件组件14包括常规的个人计算机系统硬件组件例如处理器、调制解调器、声卡、显卡和存储设备,包括硬盘驱动器、软驱、ROM和RAM。在最初的供电或者重新引导的启动之后,BIOS16控制一个引导序列,包括加电自检(“POST”)和操作系统的调用。一个或者更多的计时器18和19、例如常规的监视计时器存在于硬件14中。
BIOS16以常规的方式通电引导计算机系统10。监视状态机20通过将引导序列中的状态转换与预期结果进行比较来监视引导过程。例如,监视状态机20与计时器18通信,以便将用于从引导序列的第一点到第二点的预定转换的预期时间与用于序列的经过时间进行比较。如果计时器18期满未被清零,则根据计时器的期满检测到问题。如果BIOS16成功地引导计算机系统10在线引起操作系统12,则操作系统12的服务例程清零计时器18以便防止问题指示。
如果监视状态机20检测到计算机系统10的问题,则BIOS16可以控制许多不同的响应。例如,BIOS16可以用服务协议22调用服务模式操作系统。服务模式操作系统例如可以是操作系统12的简化版本,比如用于Windows98的Windows安全模式。服务模式操作系统可以包括调制解调器驱动器,以使得计算机系统能够通过国际互联网与分析服务器联系以便上载用户故障现象、系统配置和状态信息,以及运行自动分析软件和诊断。BIOS16也可以亮起服务灯24以便用表示一个或者多个特殊问题特性的灯的不同配置方式来表示问题的检测。计算机用户则可以将亮灯信息提供给技术支持以便帮助分析和解决问题。可替代地,技术支持可以从分析服务器获得系统信息。
计算机系统10包括可由计算机用户按下的服务按钮26。服务按钮26提供一个能够使用户启动问题检测和识别过程的强大用户接口。如下面更进一步地描述的,例如,服务按钮26产生一个中断进入计算机系统芯片组以启动一个服务应用程序。监视状态机20检测服务按钮的按下并运行服务应用程序或监视系统行为以便检测计算机系统问题。
除了监视操作系统12调用中的引导序列之外,监视状态机20可以用挂起检测计时器19监视操作系统12的操作。如果服务按钮在引导期间已经被按下,则挂起检测计时器19在引导序列期间例如通过用户注册被启动,并由在操作系统12或者服务模式操作系统22的调用和引导完成之后运行的应用程序清零。如果在预定时间周期内应用程序没有清零挂起检测计时器19,监视状态机20判定操作系统挂起已经出现。然后BIOS16辨认操作系统问题并尝试服务模式引导或者通过服务灯24指示可能的硬件故障。
现在参考图2,流程图描述了用于正常引导模式的操作系统监视的支持自动化的步骤。在步骤50,正常的计算机引导程序被启动。例如,计算机系统10的用户可以应用开关或者可以指示操作系统重新引导系统。在步骤52,挂起检测监视计时器被启动。操作系统的引导和计时器的动作在系统中并行进行。监视计时器进行倒计数。如果它在步骤58和60被完成之前达到零(也就是,当服务例程在引导过程中运行得较晚并且清零计时器时),则步骤54被完成,并且系统在步骤56被重新启动进入服务模式。
典型地,引导序列测试硬件并在可预测的时间周期内启动操作系统引导。在硬件测试、例如POST测试完成和操作系统引导启动之后,从操作系统服务例程发送一条指令来在步骤58清零监视计时器。如果监视计时器在步骤60被清零,则指示正常的引导。如果监视计时器没被清零并且倒计数至零,则过程进行到步骤56,以服务模式操作系统重新引导进入服务模式。在一个实施例中,在进行到服务模式引导序列之前,可以自动重复另外的正常引导。简言之,如果监视计时器在预定时间周期之后保持未清零,则认为计算机系统没有引导通过服务例程清零监视计时器所在的引导序列点。因此,可以根据完成或者未完成的引导序列将计算机系统的问题识别到一定程度。
步骤58表示操作系统服务例程在计算机引导过程的较后部分中的一个预定点处被运行。在步骤60,监视计时器在监视计时器预定时间周期期满之前由操作系统服务例程清零。如果到达步骤60,则被测试并达到操作系统引导序列预定点的启动的计算机硬件和软件通常是能使用的。一旦这个判定被做出,在步骤62用户被提供一个注册机会。
在步骤64,判定在与服务按钮没被按下的正常引导相对的OS引导过程期间服务按钮26是否被按下(见下面更进一步地讨论)。如果判定是否,过程继续进行到步骤70,进行正常计算机系统操作的启动。
如果在步骤64判定在引导期间服务按钮被按下了,则在步骤66,服务应用程序被启动,并且在步骤72启动挂起检测计时器来监视操作系统挂起。挂起检测监视使用挂起检测计时器19或者其他的计时器来测试操作系统是否在预定时间周期内完成它的服务应用程序运行。挂起检测计时器在步骤72启动,然后在应用程序在步骤68完成它的载入和启动序列的预定部分之后由运行在计算机系统上的应用程序清零。因此,在步骤68,判定应用程序载入和启动序列是否是正常的。如果是,运行在计算机系统上的应用程序清零挂起检测计时器,过程继续进行到步骤70,启动支持应用程序。如果挂起检测计时器在预定时间周期保持未被清零,则在步骤74判定服务应用程序已经不能清零计时器19。这样可以表明操作系统已经挂起;最低限度,它不能正常地启动服务应用程序。在步骤74,在挂起检测计时器期满的检测之后,系统被重新引导进入正常模式(步骤50)或者服务模式(步骤76),这依赖于可定义的尝试重新引导进入正常模式的失败次数。
如果用户在计算机是正常操作时、例如在附图2中的步骤70、或者在不同于计算机引导的其他任何时间按下服务按钮,则系统进行到步骤78来检测操作系统的挂起。服务应用程序在步骤66被启动,挂起检测计时器在步骤72被启动。如果在步骤68服务应用程序清零计时器,则计算机系统在步骤70进行正常操作。如果计时器在步骤74期满,则操作系统挂起被检测到,并且系统尝试重新引导到正常模式(步骤75),直到正常重新引导故障的可指定数目已经产生,在那一点上系统在步骤76重新引导到服务模式。这样允许对操作系统功能性的确定而不必完全重新引导。更进一涉地,如果计时器在步骤74处期满,即使正常操作系统不起作用,也可以以服务模式进行故障检修。
现在参考图3,服务模式在步骤80处以服务模式引导序列启动。在步骤82,服务模式监视计时器被启动。如上,这个监视计时器与(在这个例子中,服务模式)操作系统的加载并行地向零倒计数。如果监视计时器在它后来在服务模式引导过程(步骤88和90)中被清零之前达到零(步骤84),则服务模式引导已经失败,通过设置指示硬件故障的LED来指示这种情况(步骤86)。硬件问题是可能的,因为主操作系统和服务模式操作系统都不能将计算机带到一个可操作状态。
在步骤88,服务模式操作系统例程在引导过程稍后部分的预定点处运行。如果服务例程在步骤88运行,则在步骤90例程清零计时器以便表示服务模式操作系统是有效的。在步骤92,以服务模式操作系统完成计算机系统引导。
在步骤94,判定服务按钮在正常模式或者服务模式引导过程中是否被按下。在失败的重新启动尝试中存储在引导过程中被按下的按钮的状态。如果是,则运行服务应用程序,并且在步骤104以操作系统挂起检测计时器的启动继续进行系统挂起检测测试。再一次,在步骤96与服务模式恢复应用程序的加载和启动并行地进行挂起检测计时器的倒计数。如果这样继续,它将运行代码以便在步骤98清零检测计时器。在这一点,服务模式操作系统被认为至少有足够的功能来启动服务模式应用程序。在步骤100,启动服务支持应用程序,例如对分析软件问题有用的那些应用程序。计算机系统在服务模式中操作并且可用于故障诊断。
在步骤106,如果监视计时器在被服务应用程序清零之前倒计数到零(就是说,期满),则在步骤108服务模式操作系统已经被显示不能在预置的时间周期内加载和启动服务应用程序。此时,已经检测到服务模式操作系统的挂起,并且在步骤108过程以用与计算机系统相连接的灯指示可能的软件问题的方式结束。
在步骤102,如果服务按钮在计算机是处在服务模式操作时被按下,则系统与测试服务模式操作系统的挂起并行地进行到步骤104和96。在步骤96启动服务应用程序,并且在步骤104启动挂起检测计时器。如果服务应用程序在步骤98清零计时器,则计算机系统在步骤100进行到服务模式操作以便允许启动允许计算机故障分析和校正动作的服务模式恢复应用程序。如果计时器在步骤106期满,则检测操作系统挂起,并且系统在步骤108指示可能的硬件故障。这样允许确定服务模式操作系统的功能而不必完全重新引导。
接着的例子示范将进一步阐明监视系统的操作。如果监视系统没有发现硬件或者操作系统故障,则计算机用户可以通过计算机系统上的本地帮助或者通过使用计算机系统连接到国际互联网上的帮助来寻求问题或者疑问的解答。本地和远程基于国际互联网的帮助将解决多数计算机问题或者疑问。
另一个有用的例子示范是一个非致命性的硬件故障,比如CD-ROM或者声卡故障。监视系统将指示没有操作系统故障发生,并且用户可以联系技术支持以便得到被送的新硬件。一些类型的非致命性的硬件故障将限制用于获得帮助的可利用的选项。例如,计算机系统会在没有调制解调器或者网络接口卡(“NIC”)的情况下操作。然而,这个硬件故障将限制计算机系统连接到国际互联网以便获得帮助的能力。部分地,调制解调器故障可以通过进入服务模式而解决。例如,如果调制解调器故障是与调制解调器配置或者ISP拨号指令相联系的,则服务模式调制解调器配置可以支持基于国际互联网的问题的解决。
在另一个例子示范中,如果正常模式操作系统不能操作、不能引导或者是其他方面的不稳定,则可以用服务模式操作系统建立调制解调器连接。通过服务模式的国际互联网连接允许对操作系统的直接系统分析,以便自动地支持操作系统问题的解决和操作系统的恢复。例如,一个新的操作系统或者操作系统的相关部分可以在国际互联网上被加载以替换有故障的操作系统。如果自动问题解决不能解决问题,则用户可以打电话给技术支持并根据所显示的灯的配置来识别问题。
作为一个附加的例子示范,计算机系统可能在正常和服务模式中都有妨碍操作的致命的缺陷。例如,计算机系统可能被不正确的设置或者可能有致命的硬盘故障,比如主板、硬盘驱动器或者电源故障。在这个范例中,以计算机系统提供的说明图表将提供与显示灯配置相联系的问题以及用于用户遵循的简单指令。然后用户可以使用这个信息来联系技术支持和获得替换硬件。
如上所示,计算机系统10包括一个用于计算机用户按动的可用的服务按钮26。服务按钮26产生一个中断进入计算机系统芯片组以便例如启动一个服务应用程序。监视状态机20检测服务按钮的按下并在适当时间运行服务应用程序,或者监视系统行为以便检测计算机系统问题。当服务按钮被按下时,启动挂起检测计时器19,并在后来在完成操作系统12或者服务模式操作系统22的调用和启动之后由运行的应用程序清零。如果应用程序没有在预定时间周期内清零挂起检测计时器19,则监视状态机20判定操作系统挂起已经产生。然后BIOS16辨认操作系统问题并且启动可能包括上面详述的在服务模式中的重新引导的预定重新引导协议。
服务按钮提供一个用户能通过它调用支持的标准机构。现在参考图4和5,寻求调用支持的用户将在步骤400按下服务按钮26。注意,尽管没有明确地显示,图4中所示流程图包括两个执行空间,一个在BIOS中,另一个在操作系统执行空间中。通常地,到操作系统的通信是通过产生中断、比如系统控制中断(SCI)来处理的,而从操作系统返回到BIOS的通信是通过运行在BIOS中设置值的代码、比如清零挂起检测计时器来完成的。在BIOS中的监视系统用以和操作系统及操作系统响应(如果没有挂起)通信的方式将在下面被更完全地描述,这提供了独特的优点。尽管系统因为一些部件存在于操作系统中而需要依赖操作系统,但它也有能力影响基础的个人计算机体系结构以便允许BIOS中的相同的机构支持多个操作系统的特定实施方式。更进一步地,系统能使得用户支持被调用而不管操作系统的运行状态。
如图5中所示,服务按钮26直接连在控制器芯片组520的通用输入/输出寄存器(GPIO)中的一特定输入寄存器500上,并且在步骤402,服务按钮的按下使得那个输入寄存器中的一个二进制位被设置。这个二进制位的设置在步骤404产生一个系统管理中断(SMI),以便启动BIOS中的状态-敏感中断处理器代码、一个SMI处理程序502。SMI处理程序502接收SMI,并在步骤406处禁止更进一步地产生SMI,直到当前的SMI已经被维护以确保如果用户按下服务按钮多次则只有一个中断将被产生,直到那个中断已经被完全地维护。
在步骤408,SMI处理程序通过检查CMOS寄存器中的适当二进制位来判定计算机系统是否在引导。如果系统正在引导,当系统继续它的引导序列时通用输入二进制位保持设置。挂起检测计时器也在步骤410被设置,但SMI处理程序没有采取更进一步地动作。当系统完成它的引导序列时,或者在被认为在那里被测试和达到引导序列中的该点的硬件和软件通常是可操作的引导序列中的预定点处,例如当用户被提示注册ID时,操作系统被指示在步骤411处检查服务按钮二进制位的状态。如果服务按钮二进制位已经被设置,表明在引导过程中按钮被按下,操作系统将在步骤422运行服务应用程序,否则它将重新开始正常操作(步骤412)。在一个实施例中,作为正常引导过程的一部分运行的诸如与操作系统相联系的服务应用程序发射器之类的后台任务检查服务按钮二进制位。如果服务按钮二进制位被设置,服务应用程序运行服务应用程序。
如果,在步骤408处,SMI处理器判定系统没有在引导,则SMI处理器在步骤416启动挂起检测计时器。这个挂起检测计时器可以是与在上述步骤410中被设置的同样的计时器或者是不同的计时器。然而计时器被设置的值将根据服务按钮是否在引导期间被按下而不同。如果在引导期间被按下它将被设置为一个较高值,代表允许系统完成引导循环和运行服务应用程序所需的较长的时间量。如果在引导期间没有被按下,计时器将被设置为一个较低值,代表允许系统处理中断(下面被描述)和启动服务应用程序所需的较短的时间量。
如果系统没有正在引导,在BIOS中的SMI处理程序代码随后通过在步骤418处引起中断与操作系统通信,以便通知操作系统服务按钮已经被按下。在一个实施例中,这个中断是在操作系统执行空间中被维护的系统控制中断(SCI)。为了启动SCI,SMI处理程序设置在GPIO中的输出寄存器中的输出二进制位504。如图5所示,这个二进制位被用作一个输入给轮流启动SCI508的系统控制中断输入506。在步骤420处,SCI被在操作系统执行空间中的中断服务例程(ISR)所处理。ISR提供信息给操作系统以便启动服务应用程序。在一个实施例中,这一点通过给与操作系统相联系的服务应用程序发射器512发送在步骤422处启动服务应用程序514的信息而被完成。
不管服务按钮是否在引导期间被按下,如果服务应用程序正确地启动,如步骤426处所判定的,则服务按钮二进制位和挂起检测计时器在步骤428处被清零。在一个实施例中,服务应用程序通知服务应用程序发射器并且命令它清零服务按钮二进制位和挂起检测计时器。如果服务应用程序已经不能正确地启动(计时器在被清零之前已经达到零),它可能表示操作系统挂起或者,最低限度地,它不能正确地启动服务应用程序。因此,在步骤430处,系统开始跟随如上面所详述的可能包括在服务模式中的重新引导的预定重新引导协议。最后,一旦SMI已经完全地被维护,SMI处理程序在步骤432使SMI再能产生,以使得随后服务按钮的按下将引起另一个中断并且启动如上所述的服务。
因此,本发明的系统和方法提供一个在其中以统一的故障安全方式调用用户支持的独特方式。BIOS执行空间中的代码与操作系统通信并且反之亦然的方式能够允许与操作系统无关的服务请求的调用,并且提供操作系统之外的监视系统,以便能监视操作系统自身。更进一步地,上述的系统和方法能使用户不考虑操作系统状态(就是说,在引导期间或者其他时候,或者当操作系统被挂起时)地调用支持。
在这里被描述的问题识别和解决系统可以作为计算机系统的按定单制造(build-to-order)组件被提供。例如,少数高级用户可以以单按钮按动问题解决方案来定制他们的计算机系统,而更多的有经验的用户可以以标准配置定制计算机系统。可替换地,计算机系统买方只能定制系统的一部分,例如只与不包括自动调用服务模式操作系统的能力的主操作系统监视相联系的计时器。
尽管本发明已经被详细地描述,应该理解,在不偏离由附带的权利要求限定的本发明的精神和范围的情况下可以作出多种变化、替换和改变。

Claims (10)

1.一种用于为计算机系统提供自动技术支持的方法,包括下列步骤:
在所述计算机系统的操作期间的任何时候按下服务按钮;
在按下服务按钮之后,设置芯片组的通用输入寄存器中的一个二进制位,以产生第一中断;
判定所述计算机系统是否正在执行引导序列;以及
如果所述计算机系统不是正在执行引导序列,以第一方式启动服务应用程序,以便调用它来提供自动技术支持,其中,按照第一方式,产生第二中断,第二中断启动一个中断服务例程,所述中断服务例程启动所述服务应用程序;或者
如果所述计算机系统正在执行引导序列,在引导序列期间的预定时间以第二方式启动服务应用程序,以便调用它来提供自动技术支持,其中,按照第二方式,在引导序列期间的预定点检测芯片组的预定二进制位的状态。
2.根据权利要求1所述的方法,更进一步地包括响应所述按下步骤启动计时器、并且如果在所述计时器达到预定值之前所述服务应用程序达到预定点则清零所述计时器的步骤。
3.根据权利要求2所述的方法,更进一步地包括如果所述服务应用程序在所述计时器达到所述预定值之前还没有达到所述预定点则启动计算机系统的重新引导的步骤。
4.根据权利要求1所述的方法,更进一步地包括响应所述按下步骤启动计时器、并且如果在所述计时器达到预定值之前所述服务应用程序达到预定点则清零所述计时器的步骤,其中所述以第二方式启动服务应用程序的步骤更进一步地包括步骤:
如果所述预定二进制位已经被设置,则启动所述服务应用程序。
5.根据权利要求2所述的方法,更进一步地包括如果所述服务应用程序在所述计时器达到所述预定值之前还没有达到所述预定点则启动计算机系统的重新引导的步骤,其中所述以第二方式启动服务应用程序的步骤更进一步地包括步骤:
如果所述预定二进制位已经被设置,则启动所述服务应用程序。
6.根据权利要求1所述的方法,其中,所述第二中断是系统控制中断,并且启动所述系统控制中断的步骤更进一步地包括设置所述芯片组的通用输出寄存器中的第二个二进制位的步骤,所述第二个二进制位的所述设置引起所述系统控制中断的产生。
7.一种计算机系统,包括:
一个芯片组;
一个存储器;
一个用于为所述计算机系统提供自动技术支持的服务应用程序;
一个用于在所述计算机系统的操作期间中的任何时候调用所述服务应用程序而不管所述计算机系统的操作状态如何的服务按钮,其中,所述服务按钮耦合到所述芯片组,在服务按钮被按下后,设置所述芯片组的通用输入寄存器中的一个二进制位,以产生第一中断;以及
一个中断处理器,用于判定所述计算机系统是否正在执行引导序列,
其中,如果所述计算机系统不是正在执行引导序列,以第一方式启动所述服务应用程序,其中,按照第一方式,产生第二中断,第二中断调用操作系统中的一个中断服务例程,从而启动所述服务应用程序;
如果所述计算机系统正在执行引导序列,以第二方式启动所述服务应用程序,其中,按照第二方式,在引导序列期间的预定点检测芯片组的预定位的状态。
8.根据权利要求7所述的计算机系统,其中如果所述中断处理器判定所述计算机系统是处在非引导状态,所述中断处理器被连接到所述芯片组中的通用输出寄存器,用来设置所述通用输出寄存器中的二进制位,其中,所述通用输出寄存器被连接到所述芯片组中的第三寄存器,所述第三寄存器在所述通用输出寄存器中的所述二进制位被设置时产生一个用来启动第二中断的中断信号。
9.根据权利要求7所述的计算机系统,更进一步地包括:
一个至少有一个计时器的处理器;
一个系统BIOS;
一个用于支持计算机系统操作和通过所述BIOS与所述计算机系统的部件通信的操作系统;
其中,所述服务按钮被连接到所述芯片组中的通用输入寄存器,用于设置所述通用输入寄存器以产生所述第一中断;
其中,所述中断处理器包括在所述系统BIOS中,所述中断处理器被连接到所述通用输入寄存器,用来接收所述第一中断并以依赖于计算机是正处在引导状态还是非引导状态的方式处理所述第一中断。
10.根据权利要求9所述的计算机系统,其中,所述中断处理器被连接到所述计时器,用来在接收到所述第一中断时启动所述计时器。
CN200410079832A 1999-08-19 2000-08-21 用于对计算机的自动技术支持的方法和系统 Expired - Lifetime CN100587669C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/377,726 1999-08-19
US09/377,726 US6560726B1 (en) 1999-08-19 1999-08-19 Method and system for automated technical support for computers
US09/413,422 1999-10-06
US09/413,422 US6606716B1 (en) 1999-10-06 1999-10-06 Method and system for automated technical support for computers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN00131722.9A Division CN1208717C (zh) 1999-08-19 2000-08-21 用于对计算机的自动技术支持的方法和系统

Publications (2)

Publication Number Publication Date
CN1619492A CN1619492A (zh) 2005-05-25
CN100587669C true CN100587669C (zh) 2010-02-03

Family

ID=27007937

Family Applications (2)

Application Number Title Priority Date Filing Date
CN00131722.9A Expired - Lifetime CN1208717C (zh) 1999-08-19 2000-08-21 用于对计算机的自动技术支持的方法和系统
CN200410079832A Expired - Lifetime CN100587669C (zh) 1999-08-19 2000-08-21 用于对计算机的自动技术支持的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN00131722.9A Expired - Lifetime CN1208717C (zh) 1999-08-19 2000-08-21 用于对计算机的自动技术支持的方法和系统

Country Status (14)

Country Link
JP (1) JP2001092689A (zh)
KR (1) KR100831117B1 (zh)
CN (2) CN1208717C (zh)
AU (1) AU777613B2 (zh)
BR (1) BR0003641A (zh)
DE (1) DE10040421B4 (zh)
FR (1) FR2797697B1 (zh)
GB (1) GB2356271B (zh)
HK (1) HK1078358A1 (zh)
IE (1) IE20000602A1 (zh)
IT (1) IT1320595B1 (zh)
MY (1) MY121164A (zh)
SG (1) SG93253A1 (zh)
TW (1) TW475109B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6574615B1 (en) 1999-10-06 2003-06-03 Dell Usa, L.P. System and method for monitoring support activity
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6598223B1 (en) 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6539499B1 (en) 1999-10-06 2003-03-25 Dell Usa, L.P. Graphical interface, method, and system for the provision of diagnostic and support services in a computer system
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US6978307B2 (en) 2001-07-19 2005-12-20 Hewlett-Packard Development Company, L.P. Apparatus and method for providing customer service
CN100399266C (zh) * 2005-04-26 2008-07-02 乐金电子(昆山)电脑有限公司 计算机的故障排除系统及方法
US7627807B2 (en) * 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
CN100394392C (zh) * 2005-12-09 2008-06-11 英业达股份有限公司 计算机程序还原模式自动启动控制方法及系统
JP4682937B2 (ja) * 2006-07-05 2011-05-11 富士ゼロックス株式会社 起動制御回路
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
US10825089B2 (en) 2007-03-15 2020-11-03 Bgc Partners, Inc. Error detection and recovery in an electronic trading system
JP6597417B2 (ja) 2016-03-09 2019-10-30 株式会社リコー 電子機器、復旧方法およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2946081C3 (de) * 1979-11-15 1995-09-21 Wabco Vermoegensverwaltung Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4964077A (en) * 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5434963A (en) * 1988-09-03 1995-07-18 Hitachi, Ltd. Method and system of help-information control method and system
US5086501A (en) * 1989-04-17 1992-02-04 Motorola, Inc. Computing system with selective operating voltage and bus speed
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
WO1993000628A1 (en) * 1991-06-26 1993-01-07 Ast Research, Inc. Multiprocessor distributed initialization and self-test system
AU663877B2 (en) * 1991-10-04 1995-10-26 Wang Laboratories, Inc. Computer graphics system having a pause utility for interactive operations
JPH05108394A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 計算機システムの初期化診断方式
JPH05257557A (ja) * 1992-03-16 1993-10-08 Nec Corp システム自動立上げ方式
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
JP3684590B2 (ja) * 1994-04-25 2005-08-17 カシオ計算機株式会社 リセット制御装置及びリセット制御方法
US5860002A (en) * 1996-07-12 1999-01-12 Digital Equipment Corporation System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reassignment
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
KR19990030951A (ko) * 1997-10-07 1999-05-06 윤종용 Smm에서의 하드웨어 진단 방법
US6112320A (en) * 1997-10-29 2000-08-29 Dien; Ghing-Hsin Computer watchdog timer
KR19990079203A (ko) * 1998-04-02 1999-11-05 윤종용 컴퓨터 시스템의 행업 알림장치
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법

Also Published As

Publication number Publication date
IT1320595B1 (it) 2003-12-10
AU5350400A (en) 2001-02-22
SG93253A1 (en) 2002-12-17
KR20010050126A (ko) 2001-06-15
HK1078358A1 (en) 2006-03-10
CN1297191A (zh) 2001-05-30
CN1208717C (zh) 2005-06-29
DE10040421A1 (de) 2001-03-01
CN1619492A (zh) 2005-05-25
ITTO20000805A0 (it) 2000-08-17
GB2356271A (en) 2001-05-16
IE20000602A1 (en) 2001-04-18
ITTO20000805A1 (it) 2002-02-18
FR2797697A1 (fr) 2001-02-23
DE10040421B4 (de) 2006-02-02
BR0003641A (pt) 2001-10-09
GB2356271B (en) 2002-09-04
AU777613B2 (en) 2004-10-21
JP2001092689A (ja) 2001-04-06
TW475109B (en) 2002-02-01
FR2797697B1 (fr) 2007-02-16
MY121164A (en) 2005-12-30
KR100831117B1 (ko) 2008-05-20
GB0019866D0 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
US7543183B2 (en) Method and system for automated technical support for computers
CN100587669C (zh) 用于对计算机的自动技术支持的方法和系统
US6560726B1 (en) Method and system for automated technical support for computers
US6807643B2 (en) Method and apparatus for providing diagnosis of a processor without an operating system boot
CN1118750C (zh) 初始化和重新启动操作系统
US5274797A (en) Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing
US5978911A (en) Automatic error recovery in data processing systems
US5951686A (en) Method and system for reboot recovery
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
CN107357694A (zh) 开机自检过程中错误事件汇报系统及其方法
CN112527575A (zh) 一种硬盘点灯测试方法、装置、设备及可读存储介质
CN117389790A (zh) 可恢复故障的固件检测系统、方法、存储介质及服务器
JPH10214208A (ja) ソフトウェアの異常監視方式
US7340594B2 (en) Bios-level incident response system and method
AU595320B2 (en) System management apparatus for a multiprocessor system
CN115168146A (zh) 一种异常检测方法和装置
CN114217925A (zh) 一种实现异常自动重启的业务程序运行监控方法及系统
US20050210329A1 (en) Facilitating system diagnostic functionality through selective quiescing of system component sensor devices
US7111157B1 (en) Spurious input detection for firmware
CN110532160A (zh) 一种bmc记录服务器系统热重启事件的方法
KR20200061421A (ko) 독립된 장치를 이용한 악성코드 분석 시스템, 이를 위한 장치 및 이를 위한 방법
KR102221436B1 (ko) 컴퓨터 프로그램 자동 실행 방법
CN117311769A (zh) 服务器日志生成方法和装置、存储介质及电子设备
CN112084049A (zh) 用于监控基板管理控制器的常驻程序的方法
JP2004341652A (ja) 自動試験方法及び自動試験機

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1078358

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1078358

Country of ref document: HK

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20100203