简介
通用诊断程序是指系统方便用户对计算机维护、检测计算机软件故障和硬件故障并对故障定位的程序。通用诊断程序是一种服务程序。服务程序是面向用户的软件,可供用户共享,方便用户使用计算机和管理人员维护管理计算机1。
用通用诊断程序进行故障诊断一般有三种形式,即启动诊断、在线诊断或称后台诊断和离线诊断。启动诊断指从每次通电开始至进入正常的运行准备状态止,内部诊断程序自动执行的诊断,一般情况下数秒之内即告完成,其目的是确认系统事务主要硬件是否正常工作。主要检查的硬件包括:CPU、存储器、I/O单元等2。
在线诊断是指在系统通过启动诊断进入运行状态后对计算机中各种设备和软件进行自动检测和诊断。只要系统不断电,在线诊断就不会停止,在线诊断的诊断范围大,显示信息的内容也很多。
故障诊断故障是系统不能执行规定功能的状态。通常而言,故障是指系统中部分元器件功能失效而导致整个系统功能恶化的事件。设备的故障一般具有五个基本特征:层次性、传播性、放射性、延时性、不确定性等。故障诊断也称诊断,查找设备或系统的故障的过程。用来检查寻找故障的程序称为诊断程序,对其它 设备或系统执行诊断的系统称为诊断系统。故障诊断的主要任务有:故障检测、故障类型判断、故障定位及故障恢复等。其中:故障检测是指与系统建立连接后,周期性地向下位机发送检测信号,通过接收的响应数据帧,判断系统是否产生故障;故障类型判断就是系统在检测出故障之后,通过分析原因,判断出系统故障的类型;故障定位是在前两部的基础之上,细化故障种类,诊断出系统具体故障部位和故障原因,为故障恢复做准备;故障恢复是整个故障诊断过程中最后也是最重要的一个环节,需要根据故障原因,采取不同的措施,对系统故障进行恢复。
软件故障定义软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,或是将软件故障区分为语法大小和语义大小,语法大小为受一个故障影响的代码行数,语义大小为其输出结果不正确的输入空间的大小。
原因软件发生故障的原因主要有两个方面:( 1) 内部因素。随着计算机控制对象复杂程度提高和软件功能增强,软件规模不断增大。例如,Windows NT 操作系统的代码大约有 3200万行。并且软件内部状态、路径高度复杂。参与软件开发各个阶段的人的思维和交流不可能完美无缺,在设计这样复杂的系统时难免犯错误,导致软件留下缺陷。( 2) 外部因素。通常软件是在开发环境中进行测试,在运行环境中使用。对软件进行充分测试往往很困难,进行穷举测试,达到完全的路径覆盖、状态覆盖几乎不可能。所以,即使是在开发软件产品时进行过大量测试,也不能完全发现和消除可能存在的缺陷;同时软件产品的开发环境与使用环境往往存在较大的差异,因此软件产品在使用时仍然可能发生故障。
软件故障诊断的含义人在参与软件生存周期各个阶段工作时难免出现错误。因此,从广义上说,软件故障诊断的目标包括软件需求分析、设计、编码、测试、使用、维护等软件生存周期各阶段所造成的缺陷。软件故障诊断 ,“诊”在于进行客观的状态检测,包括采用各种测量、分析和诊别方法 ; “断”则需要确定软件故障特性、软件故障模型、软件故障部位以及说明软件故障产生的原因,并且提出相应的纠正措施和预防措施等。软件故障检测是根据系统提出的软件故障诊断请求,采取一定的检测方法,获取软件中的各种信息,获得可能出现软件故障的征兆,识别软件是否正常运行或存在故障,并为软件故障定位提供依据。这些检测方法包括根据检查表和规则等进行静态测试、设计测试用例进行动态测试、建立软件故障树进行分析、采用变异测试方法进行软件故障模拟或者建立系统模型进行形式化验证等3。
硬件故障自动重启在计算机使用过程中, 有时会遇到机器自动重启的现象。有些自动重启只是偶然的、 暂时的。但有些自动重启则是因为某一硬件出了问题导致的。常见的, 引起自动重启的硬件原因有以下几种:(1) 电源。计算机电源的功率不足或性能差。这种情况比较常见,特别是当我们为自己主机增添了新的设备后就很容易出现。另外 ,当主机全速工作时,电源可能就会因瞬时功率不足而暂时停止工作,这就造成了自动重启的现象。(2) 内存。内存上如果某个芯片不完全损坏时,可能通过自检,但是在运行时就会因为内存发热量大而导致功能失效,引起计算机自动重启。另外,内存与主板接触不良( 金手指被氧化, 插槽进灰) , 加载到内存的数据过多都有可能引起机器自动重启。(3)CPUCPU 部分功能电路损坏时,计算机也能启动,但当进行某一特殊功能时( 如玩 3D 游戏) 就会重启。另外,由于机箱的原因以及CPU 散热不良,导致 CPU 温度过高,也可能引起保护性自动重启。(4) 主板。主板导致自动重启的事例也比较常见。特别是老主板,上面的部分芯片不完全损坏,导致主板运行不稳定, 容易在进入系统后,出现随机自动重启的现象。
死机当计算机的配置能够满足应用程序的运行需要时,出现了死机情况, 一般是不正常的。导致系统死机的原因很多,这里只讨论其硬件原因, 一般有以下几种:(1) 主板。有些死机是由于主板上的原因引起的,比如某些劣质电容在长时间工作后爆裂;用于给 CPU 供电的电源管理芯片性能不良;主板 BIOS 芯片中程序出错;AGP 总线到北桥之间的小 RC 元件工作不正常等。(2) 硬盘故障。主要是硬盘老化或由于使用不当造成坏道、 坏扇区。这样机器在运行时,需要访问和交换数据,而硬盘有坏道或者坏扇区,就很容易发生死机现象。(3)CPU 超频或散热不良。CPU 在内存中存取数据的速度本来就快于内存与硬盘交换数据的速度,超频使这种矛盾更加突出,加剧了在内存中找不到所需数据的情况,这样就会出现“ 异常错误” 。另外, CPU 的发热量很大,如果散热不良,CPU 就会因为过热而停止运转, 导致系统死机。(4) 内存原因。主要是内存条松动、 虚焊或内存芯片本身质量所致。如果内存中数据交换量过大,也可能导致系统死机。(5) 匹配或兼容问题。如主板主频和 CPU 主频不匹配,老主板超频时将外频定得太高,可能就不能保证运行的稳定性,因而导致频繁死机;一些特殊软件,可能在有的微机上不能正常启动甚至安装,这可能是软硬件不兼容造成的,如果在这些机器上安装或者运行这些软件,有可能导致系统死机。