CN1797341A - 早期开机自我测试阶段正常运行的方法 - Google Patents
早期开机自我测试阶段正常运行的方法 Download PDFInfo
- Publication number
- CN1797341A CN1797341A CN 200410104135 CN200410104135A CN1797341A CN 1797341 A CN1797341 A CN 1797341A CN 200410104135 CN200410104135 CN 200410104135 CN 200410104135 A CN200410104135 A CN 200410104135A CN 1797341 A CN1797341 A CN 1797341A
- Authority
- CN
- China
- Prior art keywords
- computer installation
- test program
- period
- self test
- testing phase
- 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.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种早期开机自我测试阶段正常运行的方法,供计算机装置在早期开机自我测试阶段顺利执行以进入后期开机自我测试阶段的方法;它是应用在具有计时功能的计算机装置,并相对具有至少一开机自我测试程序设定最大执行时间,在计算机装置开机后进行计时处理,若开机自我测试程序的执行时间大于上述所设定的最大执行时间,令该计算机装置重新激活,重新执行该开机自我测试程序,再重新进行计时处理,直到程序的执行时间小于或等于设定的最大执行时间为止,令该计算机装置进入后期开机自我测试阶段;本发明不仅可快速通过系统测试,更可确保客产品品质,提高客户的信赖度。
Description
技术领域
本发明是关于一种计算机装置开机正常运行的方法,特别是关于一种使计算机装置在系统早期开机自我测试阶段正常运行的方法。
背景技术
由于电子信息相关科技的研发日新月异,许多功能强大且价格合理的信息相关产品纷纷问世,就以计算机设备为例,不论是大型的超级计算机、服务器主机乃至于个人计算机以及笔记本型计算机等,都早已成为人们工作、生活中所不可或缺的重要工具。
在计算机系统的结构中,基本输入输出系统(basic input outputsystem;以下简称BIOS)是计算机系统开机后第一个执行的软件。BIOS主要是由一些低端的指令集(程序)组成,供计算机开机过程中的硬件测试、检测与管理基本的外围装置如硬盘、键盘及与连接端口间的资料传递等。因此计算机系统开机后是依照BIOS的设定运行的。倘若BIOS出现问题,计算机开机后无法完成硬件测试,则便无法顺利完成开机程序。一般计算机的系统开机主要的流程是由使用者打开电源(PowerOn)后,计算机依次进行早期开机自我测试(Early Power-On SelfTest)及后期开机自我测试(Later Power-On SelfTest),最后令操作系统激活(OSBoot)。
但在计算机的开发过程中,常会因新型号的芯片组(Chipset)或SIO(Super IO芯片组)与目前硬件(H/W)的设计无法相互配合,或是芯片组(Chipset)本身有问题(Bug),导致系统在早期开机自我测试阶段(视频尚未传送到计算机屏幕时)即发生问题,使得整个计算机系统挂掉(Hang),无法继续进行整个系统的开机作业;上述问题如死锁(DeadLock)或活锁(LiveLock)皆有可能发生在早期开机自我测试阶段,其中死锁(DeadLock)是指系统直接挂掉(Hang),中央处理单元(CPU)无法抓取指令执行程序,活锁(LiveLock)是指中央处理单元(CPU)可抓取指令执行程序,但永远执行某一程序的片段,也就是在执行该程序中的某一片段,一直循环,无法继续进行后续的程序。这二种状况都会使系统挂掉(Hang)。一直以来,计算机业者皆存在上述困扰,因而衍生出下列问题:在业者进行系统开机测试时,死锁(DeadLock)或活锁(LiveLock)的问题在测试时出现(如某程序的某一片段),经由业者将此问题加以排除后,再重新进行测试,但仍然会在其它程序的某一片段出现,因而再经由业者加以排除,如此周而复始,问题一再产生,导致一直无法通过测试,造成产品无法出货的问题。再有,死锁(DeadLock)或活锁(LiveLock)的问题产生并无法预知,若在进行产品测试时,经几次问题排除后没有再次出现这些问题,将产品出货到客户后,系统开启时发生问题,因而造成客户信赖度降低,且一般消费者也会对此产品的品质大打折扣。
由上述可知,如何使该计算机系统在测试阶段中正常运行,实现顺利出货,确保客户使用满意,是亟需解决的问题。
发明内容
为解决上述现有技术的问题,本发明的主要目的在于提供一种令计算机系统在早期开机自我测试阶段正常运行的方法,能够顺利进入计算机系统的后期开机自我测试阶段。
为达成上述及其它目的,本发明是一种早期开机自我测试阶段正常运行的方法,应用在计算机装置中,可在该计算机装置早期开机自我测试阶段避免死锁(DeadLock)指令或活锁(LiveLock)问题造成的该计算机装置的系统挂掉(Hang),能够令该计算机装置顺利进入后期开机自我测试阶段,该计算机装置具有至少一开机自我测试程序,该方法主要包括下列步骤:(1)令该计算机装置预设该开机自我测试程序最大执行时间;(2)令该计算机装置的系统激活,并执行该开机自我测试程序;(3)令该计算机装置根据所执行的开机自我测试程序进行计时处理,产生对应的执行计时时间,若该开机自我测试程序所对应的执行计时时间大于该预设的最大执行时间,即进到步骤(4);若该开机自我测试程序所对应的执行计时时间小于或等于该预设的最大执行时间,则进到步骤(5);(4)令该计算机装置重新激活,并重新执行该开机自我测试程序,且返回该步骤(3);以及(5)停止该计算机装置的计时处理,并进入该计算机装置的后期开机自我测试阶段。
本发明的早期开机自我测试阶段正常运行的方法利用具有计时功能的计算机装置,并相对该计算机装置的多个开机自我测试程序设定其最大执行时间,在计算机装置激活及开机自我测试程序执行时进行计时处理,若任一开机自我测试程序的执行时间(即执行计时时间)大于上述所设定的最大执行时间,会使计算机装置重新激活,并重新执行所有开机自我测试程序,再重新对于所有开机自我测试程序进行计时处理,直到所有开机自我测试程序的执行时间小于或等于上述所设定的最大执行时间,即停止计时处理,并进入计算机装置的后期开机自我测试阶段,进行正常系统开机的流程,不仅可快速通过系统测试顺利出货外,更可确保产品售出后的品质,提高客户的信赖度;本发明是利用现有硬件中的定时器,不需额外增加硬件费用,即可实现让计算机装置在早期开机自我测试阶段正常运行。
附图说明
图1是流程示意图,显示本发明的早期开机自我测试阶段正常运行的方法的基本流程示意图;以及
图2(A)、图2(B)、图2(C)及图2(D)是流程示意图,显示本发明的早期开机自我测试阶段正常运行的方法各种实施形态。
具体实施方式
实施例
图1是本发明的早期开机自我测试阶段正常运行的方法的流程示意图,以此流程图配合详细说明,叙述本发明所述的方法的较佳实施例。其中,须注意的是,该附图均为简化的示意图,仅以示意方式说明本发明的基本流程。因此,在该附图中仅显示与本发明相关的文字。
本发明的早期开机自我测试阶段正常运行的方法是应用在计算机装置,可在该计算机装置早期开机自我测试阶段避免死锁(DeadLock)指令或活锁(LiveLock)问题造成的该计算机装置的系统挂掉(Hang),能够令该计算机装置顺利进入后期开机自我测试阶段。其中该计算机装置具有至少一开机自我测试程序,例如用于对各系统元件查错(例如主存储器、磁盘驱动器及键盘)的测试程序等,且该开机自我测试程序可安装在BIOS ROM等存储器中。
本实施例的早期开机自我测试阶段正常运行的方法,如图1所示,首先需进行步骤S1,令该计算机装置设定开机自我测试程序的最大执行时间。此时间设定步骤可通过例如具计时功能的芯片组(Chipset)实现,也就是该芯片组具有定时器(Timer),通过该芯片组对计算机装置内的开机自我程序设定其最大执行时间;一般而言,该时间设定步骤是针对容易产生死锁(DeadLock)指令或活锁(LiveLock)的程序设定其所需的最大执行时间,也就是该开机自我测试程序执行完毕所需的时间(如用于检测主存储器状况的开机自我测试程序执行完毕所需执行的时间为10秒),并将此最大执行时间设定在上述定时器内,接着进到步骤S2。
在该步骤S2中,令该计算机装置激活系统。此激活步骤是令该计算机装置激活执行早期开机自我测试阶段的程序,接着进到步骤S3。
在该步骤S3中,令该计算机装置进行计时处理,并判断该步骤S2执行程序所的时间是否大于步骤S1所预设的最大执行时间。该步骤是令该计算机装置对该步骤S2所执行的开机自我测试程序进行计时处理,也就是该计算机装置根据执行的开机自我测试程序进行计时处理,产生相对应的执行计时时间,若在多个开机自我测试程序中的任一程序的执行计时时间大于该步骤S1所设定的最大执行时间(如用于检测主存储器状况的开机自我测试程序执行完毕所需执行的时间已超过10秒),即进到步骤S4,若多个程序所有的执行计时时间皆小于或等于该步骤S1所设定的最大执行时间(如用于检测主存储器状况的开机自我测试程序执行完毕所需执行的时间于10秒内完成),则进到步骤S5。
在该步骤S4中,令该计算机装置重新激活系统。该重启步骤是因多个开机自我测试程序中的任一程序的执行计时时间大于该步骤S1所设定的最大执行时间(也就是定时器产生Timeout现象),则令该计算机装置重新激活(Full System Reset),并重新执行所有开机自我测试程序,且返回上述步骤S3。一般而言,该状况的发生是因死锁(DeadLock)指令或活锁(LiveLock)已产生在此开机自我测试程序中(如用于检测主存储器状况的开机自我测试程序),使计算机装置的系统挂掉(Hang),从而导致程序的执行时间(也就是执行计时时间)大于该程序的最大执行时间。故本发明是利用上述定时器主动发出重启信号,令计算机装置重新激活系统,让使用者(User)完全感受不到该计算机装置的系统曾经挂掉(Hang)。
在该步骤S5中,令该计算机装置进入后期系统开机作业。此步骤是因多个开机自我测试程序所有的执行计时时间皆小于或等于该步骤S1所设定的最大执行时间(如主存储器状况的开机自我测试程序执行完毕所需执行的时间于10秒内完成),则停止计算机装置的计时处理(也就是停止定时器的运行),并进入该计算机装置的后期开机自我测试阶段(Later POST)。此步骤是因所有程序皆在正常时间内执行完成(小于或等于所设定的最大执行时间),故属于正常状态,令计算机装置顺利进行后续的开机流程,由于后续的开机流程不是本发明的内容,在此不再说明。上述计算机装置可以是超级计算机、服务器主机、桌上型计算机或笔记本型计算机。
为更清楚表示本发明方法在计算机装置的实际运行流程的各种实施形态,特以图2(A)、图2(B)、图2(C)及图2(D)表示,这些附图中的方块、文字及数目,仅以示意方式作说明。
如图2(A)所示,它是本发明的第一种实施形态,它只针对计算机装置系统激活后的BIOS早期开机自我测试阶段S10中的一种开机自我测试程序100(此测试程序100是测试阶段S10中的唯一程序)配合本发明的方法的应用,又如图2(B)所示,它是本发明的第二种实施形态,是针对计算机装置系统激活后的BIOS早期开机自我测试阶段S10′中所有开机自我测试程序100、101、…、109(测试程序100、101、…、109是测试阶段S10中所有的程序)配合本发明的方法,再如图2(C)所示,它是本发明的第三种实施形态,是针对计算机装置系统激活后的BIOS早期开机自我测试阶段S10″中的部分开机自我测试程序102、105(测试程序102及105是包括在测试阶段S10)配合本发明的方法的应用。图2(D)所示是本发明的第四种实施形态,是针对计算机装置系统激活后的BIOS早期开机自我测试阶段S10中的一开机自我测试程序100及部分开机自我测试程序102、105(此测试程序100是测试阶段S10中的唯一程序,且测试程序102及105是包括在测试程序100中)配合本发明的方法的应用,因此,本发明的方法可供使用者依其需求作不同的变化。
由上可知,本发明的早期开机自我测试阶段正常运行的方法利用具有计时功能的计算机装置,并相对该计算机装置的多个开机自我测试程序设定其最大执行时间,在计算机装置激活及开机自我测试程序执行时进行计时处理,若任一开机自我测试程序的执行时间(即执行计时时间)大于上述所设定的最大执行时间,会使计算机装置重新激活,并重新执行所有开机自我测试程序,再重新对于所有开机自我测试程序进行计时处理,直到所有开机自我测试程序的执行时间小于或等于上述所设定的最大执行时间,即停止计时处理,并进入计算机装置的后期开机自我测试阶段,进行正常系统开机的流程,不仅可快速通过系统测试顺利出货外,更可确保产品售出后的品质,提高客户的信赖度;且现今市面上的芯片组(例如Intel ICH系列)或SIO(Super IO芯片组)均具有定时器(Timer),因此不需额外增加硬件费用,利用现有的芯片组即可实现本发明的目的,就是让计算机装置在早期开机自我测试阶段正常运行。
Claims (6)
1.一种早期开机自我测试阶段正常运行的方法,应用在计算机装置,使该计算机装置早期开机自我测试阶段避免死锁指令及活锁其中造成的系统挂掉,令该计算机装置顺利进入后期开机自我测试阶段,该计算机装置具有至少一开机自我测试程序,其特征在于,该方法至少包括以下步骤:
(1)令该计算机装置预设该开机自我测试程序最大执行时间;
(2)令该计算机装置的系统激活,并执行该开机自我测试程序;
(3)令该计算机装置根据所执行的开机自我测试程序进行计时处理,产生对应的执行计时时间,若该开机自我测试程序所对应的执行计时时间大于该预设的最大执行时间,即进到步骤(4);若该开机自我测试程序所对应的执行计时时间小于或等于该预设的最大执行时间,则进到步骤(5);
(4)令该计算机装置重新激活,并重新执行该开机自我测试程序,且返回该步骤(3);以及
(5)停止该计算机装置的计时处理,并进入该计算机装置的后期开机自我测试阶段。
2.如权利要求1所述的早期开机自我测试阶段正常运行的方法,其特征在于,该计时处理是由定时器达成的。
3.如权利要求2所述的早期开机自我测试阶段正常运行的方法,其特征在于,该定时器是设在芯片组内。
4.如权利要求2所述的早期开机自我测试阶段正常运行的方法,其特征在于,该预设的开机自我测试程序的最大执行时间是设定在该定时器内。
5.如权利要求2所述的早期开机自我测试阶段正常运行的方法,其特征在于,若该开机自我测试程序所对应的执行计时时间大于该预设的最大执行时间是借由该定时器主动发出重启信号,令该计算机装置重新激活。
6.如权利要求1所述的早期开机自我测试阶段正常运行的方法,其特征在于,该计算机装置是超级计算机、服务器主机、桌上型计算机及笔记本型计算机中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101041359A CN100346301C (zh) | 2004-12-30 | 2004-12-30 | 早期开机自我测试阶段正常运行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101041359A CN100346301C (zh) | 2004-12-30 | 2004-12-30 | 早期开机自我测试阶段正常运行的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1797341A true CN1797341A (zh) | 2006-07-05 |
CN100346301C CN100346301C (zh) | 2007-10-31 |
Family
ID=36818392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101041359A Expired - Fee Related CN100346301C (zh) | 2004-12-30 | 2004-12-30 | 早期开机自我测试阶段正常运行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100346301C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107843839A (zh) * | 2017-10-31 | 2018-03-27 | 深圳市路畅科技股份有限公司 | 基于电压的主机测试系统、方法、装置及可读存储介质 |
CN111694558A (zh) * | 2019-03-14 | 2020-09-22 | 美光科技公司 | 用于嵌入式系统的二级快闪编程 |
CN117519914A (zh) * | 2024-01-08 | 2024-02-06 | 成都卓拙科技有限公司 | 云主机控制方法、装置及管理主机 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083430A1 (en) * | 2000-12-26 | 2002-06-27 | Tadao Kusuda | Uninstall control apparatus which controls uninstallation of device control software |
US6886109B2 (en) * | 2001-05-18 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for expediting system initialization |
TW200426581A (en) * | 2003-05-19 | 2004-12-01 | Welink Solutions Inc | Method to record the power-on test flow |
-
2004
- 2004-12-30 CN CNB2004101041359A patent/CN100346301C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107843839A (zh) * | 2017-10-31 | 2018-03-27 | 深圳市路畅科技股份有限公司 | 基于电压的主机测试系统、方法、装置及可读存储介质 |
CN111694558A (zh) * | 2019-03-14 | 2020-09-22 | 美光科技公司 | 用于嵌入式系统的二级快闪编程 |
CN111694558B (zh) * | 2019-03-14 | 2023-10-20 | 美光科技公司 | 用于车辆中的电子控制单元(ecu)的编程的装置和方法 |
CN117519914A (zh) * | 2024-01-08 | 2024-02-06 | 成都卓拙科技有限公司 | 云主机控制方法、装置及管理主机 |
CN117519914B (zh) * | 2024-01-08 | 2024-03-12 | 成都卓拙科技有限公司 | 云主机控制方法、装置及管理主机 |
Also Published As
Publication number | Publication date |
---|---|
CN100346301C (zh) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6173417B1 (en) | Initializing and restarting operating systems | |
EP2202639B1 (en) | Virtual machine monitor | |
US9880867B2 (en) | Method and subsystem for data exchange between a guest operating system and a virtualization layer | |
US7685474B2 (en) | Failsafe computer support assistant using a support virtual machine | |
CN104572165B (zh) | 一种基于飞腾服务器的uefi固件实现方法 | |
EP3125113A1 (en) | Systems and methods for initializing multiple virtual processors within a single virtual machine | |
US10871982B2 (en) | Virtual processor scheduling via memory monitoring | |
US9858098B2 (en) | Hypervisor modification of system tables | |
CN104572164A (zh) | 一种基于飞腾便携式计算机的uefi固件实现方法 | |
CN104572161B (zh) | 一种基于龙芯便携式计算机的uefi固件实现方法 | |
CN104572061A (zh) | 一种基于龙芯服务器的uefi固件实现方法 | |
CN105511941A (zh) | 辅助计算机系统中多个管理程序的联合操作的系统和方法 | |
US11321077B1 (en) | Live updating of firmware behavior | |
US8429322B2 (en) | Hotplug removal of a device in a virtual machine system | |
CN104572163A (zh) | 一种基于龙芯台式计算机的uefi固件实现方法 | |
JP6028657B2 (ja) | 検証プログラム、検証方法および検証装置 | |
WO2013104245A1 (zh) | 一种虚拟机死锁后的恢复方法、装置及系统 | |
CN100346301C (zh) | 早期开机自我测试阶段正常运行的方法 | |
Fornaeus | Device hypervisors | |
US7895581B2 (en) | Profiling collector for computer system | |
CN106155682A (zh) | 一种基于SDMA控制器的Linux系统启动方法及系统 | |
CN104572166A (zh) | 一种基于飞腾台式计算机的uefi固件实现方法 | |
CN104182271A (zh) | 一种基于申威处理器的虚拟化实现方法 | |
CN112068980A (zh) | 采样cpu挂死前信息的方法和装置、设备和存储介质 | |
US20100211955A1 (en) | Controlling 32/64-bit parallel thread execution within a microsoft operating system utility program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181119 Address after: Building 1, No. 231 Jiulong Road, Caoqiao Street, Pinghu City, Jiaxing City, Zhejiang Province Patentee after: Jiaxing Jinxu Medical Technology Co., Ltd. Address before: Taipei City, Taiwan, China Patentee before: Inventec Corporation |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071031 Termination date: 20181230 |
|
CF01 | Termination of patent right due to non-payment of annual fee |