CN100416502C - 启动计算机系统的方法 - Google Patents

启动计算机系统的方法 Download PDF

Info

Publication number
CN100416502C
CN100416502C CNB2005100825857A CN200510082585A CN100416502C CN 100416502 C CN100416502 C CN 100416502C CN B2005100825857 A CNB2005100825857 A CN B2005100825857A CN 200510082585 A CN200510082585 A CN 200510082585A CN 100416502 C CN100416502 C CN 100416502C
Authority
CN
China
Prior art keywords
program code
computer system
setting
basic input
bios
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.)
Active
Application number
CNB2005100825857A
Other languages
English (en)
Other versions
CN1710541A (zh
Inventor
何宽瑞
徐明椲
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB2005100825857A priority Critical patent/CN100416502C/zh
Publication of CN1710541A publication Critical patent/CN1710541A/zh
Application granted granted Critical
Publication of CN100416502C publication Critical patent/CN100416502C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种用来启动计算机系统的方法。该计算机系统包含有用来执行程序代码的处理器、包含有多段程序代码的基本输入输出系统、多个可予以设定的硬件元件、设定数据以及操作系统。该方法包含有:自该基本输入输出系统的程序代码起始点开始执行该多段程序代码,以初始化该多个硬件元件;准备接收设定要求;设定程序代码断点;当接收到该设定要求时,使该计算机系统进入使用者设定模式,以设定该设定数据;当结束该设定数据的设定动作后,由该程序代码断点继续执行该多段程序代码;以及加载该操作系统。

Description

启动计算机系统的方法
技术领域
本发明是一种启动计算机系统的方法,尤指一种当结束该计算机系统的系统设定动作时,依据完成设定后的系统设定数据来判断该基本输入输出系统程序代码的执行起点,以简化该计算机系统启动程序的方法。
背景技术
在现代化的今日信息社会,计算机系统已经成为多数人不可或缺的信息工具之一,而不论是桌上型个人计算机、笔记型个人计算机或是服务器等,其操作时钟越来越高,应用层面也日益广泛。
当计算机系统电源一打开时,计算机系统会依据储存在存储器内的基本输入输出系统(Basic Input and Output System,BIOS)来进行如开机测试(Power on Self Test,POST)、即插即用测试(plug and play test)乃至于硬件设定(hardware configuration)等等的操作。完成上述的操作后,计算机系统才会加载操作系统(Operating System),而之后操作系统也才能根据基本输入输出系统完成的设定,来协调计算机系统中相关的硬件与软件,以执行计算机系统的功能。
大多数的计算机系统允许使用者针对其个别需求来做诸如更改系统时间、设定输入输出端口IRQ值或DMA值、是否启动高速缓存(cache)、开机磁盘顺序(boot sequence)等系统方面或硬件方面的设定,而其所设定的数据会储存在存储装置之中。当个人计算机启动时,上述存储装置内的设定数据即会被读取,以使个人计算机的处理器得以依据所读取的设定数据来执行基本输入输出系统的程序代码,以完成计算机系统的开机操作。然而在现有技术中,当使用者结束设定数据的设定操作之后,不论其系统设定值是否有所更改,计算机系统一定会被重新启动(reset),并重头开始执行其基本输入输出系统内的程序代码,故在很多情况下,现有计算机系统的开机过程不太有效率,而让使用者白白地浪费掉等待计算机重新启动的时间。
请参考第1图,第1图为现有计算机系统开机时的流程图。当使用者开启计算机系统的电源开关以启动计算机系统时(步骤10、12),计算机系统的处理器会开始读取并执行基本输入输出系统的程序代码(步骤14),以完成一些基本的硬件检测操作。当完成上述基本的硬件检测操作后,计算机系统会于预定期间(约几秒钟)内准备接收设定要求(步骤16、18),以让使用者可藉由键盘等装置来输入上述的设定要求。当计算机系统于上述预定期间内接收到设定要求时,计算机系统会进入使用者设定模式,以让使用者察看或变更基本输入输出系统的设定数据(步骤20)。反之,若计算机系统于上述预定期间内并未接收到设定要求的话,计算机系统的处理器会继续执行基本输入输出系统内的其它程序代码(步骤22),最后并加载操作系统(步骤24),以完成计算机系统的开机程序。
然而如第1图的流程图所示,当使用者结束上述的设定数据的设定操作(步骤20)之后,计算机系统必定会重新执行步骤14,以使处理器得以依据结束系统设定后的设定数据来执行基本输入输出系统内的程序。虽然,这可确保计算机系统开机后的状态会完全地符合使用者的设定,但这种不论系统设定数据是否有所变动,而一律于结束步骤20之后再重新执行基本输入输出系统的程序代码的作法并不理想,且不太具有效率。
发明内容
因此,本发明的主要目的即在于提供一种启动计算机系统的方法,以解决上述的问题。
该计算机系统包含有:处理器,用来执行程序代码;基本输入输出系统,其包含有多段程序代码;多个可予以设定的硬件元件;该方法包含有:(a)自该基本输入输出系统的程序代码起始点开始执行该多段程序代码,以初始化该多个硬件元件;(b)准备接收设定要求;(c)设定该多段程序代码的程序代码断点;(d)当接收到该设定要求时,使该计算机系统进入使用者设定模式,以设定设定数据,其中该多个硬件元件可依据该设定数据来加以设定;(e)当结束该设定数据的设定动作后,依据完成设定后的设定数据,由参考表格中读取对应的处理设定,其中该参考表格记录有多批处理设定,每一批处理设定记录有至少一个硬件元件的状态;(f)依据于步骤(e)中所读取的该处理设定,来决定由该程序代码断点或由该程序代码起始点来继续执行该多段程序代码;以及(g)加载操作系统,其中该操作系统用来控制该计算机系统启动后的操作。
因此,根据本发明的方法,当计算机系统结束该设定数据的设定操作之后,该计算机系统的处理器会依据完成设定后的设定数据,来决定后续的程序代码执行流程,故在某些情况下可让已经被执行过的程序代码不需再执行一次,进而可降低开启计算机系统时所需花费的时间。
附图说明
第1图为现有计算机系统开机时的流程图。
第2图为一种采用本发明方法的计算机系统的功能方块图。
第3图为第2图基本输入输出系统的存储器地址图。
第4图为第2图参考表格的数据结构图。
第5图为本发明的方法的流程图。
第6图为本发明另一实施方法的流程图。
[主要元件标号说明]
30    计算机系统          32    处理器
34    基本输入输出系统    36    设定数据
38    参考表格            40    操作系统
42    电源开关            44    硬件元件
50    处理设定
具体实施方式
请参考第2图,第2图为一种采用本发明方法的计算机系统30的功能方块图。计算机系统30包含有用来执行程序代码的处理器32、基本输入输出系统(Basic Input and Output System,BIOS)34、设定数据36、参考表格38、用来控制计算机系统30启动后的操作的操作系统(Operating System,OS)40、电源开关42,以及多个可予以设定的硬件元件44。其中上述的多个硬件元件44包括计算机系统30中的各种硬件的缓冲器与控制电路等,且可依据当时的设定数据36来加以设定。在本实施例中,设定数据36一般是储存于计算机系统30主机板上的一个互补金属氧化物半导体(CMOS)芯片内,用来纪录计算机系统30相关的系统设定数据,例如:存储器的存取模式、电源管理设定、处理器操作时钟、总线操作时钟、处理器运作倍频设定、各输入输出端口的IRQ与DMA值的设定、即插即用(plug and play)模式、开机磁盘顺序...等系统设定数据。
请先参考第3图,第3图为第2图基本输入输出系统34的存储器地址图。基本输入输出系统34包含有多段程序代码S1、S2、S3、...、SL,每一段程序代码皆具某一特定功能,并储存于对应的存储器范围内,例如程序代码S2系储存于存储器的地址2与地址3之间。当计算机系统30的电源被开启时,处理器32会从基本输入输出系统34中读取适当的程序代码来加以执行,以对计算机系统30进行相关的设定与驱动相关的硬件装置,最后并加载操作系统34,而完成计算机系统30的开机程序。
请参考第4图,第4图为第2图参考表格38的数据结构图。参考表格38记录有多批处理设定50,每一批处理设定50记录有上述多个硬件元件44的状态S(1,x)~S(N,x),其中变量N为计算机系统30所包含而可予以设定的硬件元件44的总数,变量x则表示该批处理设定50位于参考表格38中的行数,而第4图中的变量m则为参考表格38所包含的处理设定50的总数据批数。每一个批处理设定50除了记录有各硬件元件44的状态外,亦记录有一判断标志值Flag,其是用来控制基本输入输出系统34的程序代码的执行流程,而这一部分将于后面的说明再详加叙述。此外,每一批处理设定50所记录有硬件元件44的状态S(1,x)~S(N,x)可以为虚值(Null),但状态S(1,x)~S(N,x)不能全部为虚值,亦即每一批处理设定50至少记录有硬件元件44的状态。当完成设定数据36的设定程序后,计算机系统30可依据处理设定50所记录的硬件元件状态S(1,x)~S(N,x),来控制处理器32所执行的基本输入输出系统34的程序代码起点,以下即对此一部分做较详细的说明。
请参考第5图,第5图为本发明的方法的流程图。本发明的方法包含有以下的步骤:
步骤100:开始;
步骤102:利用电源开关42来开启计算机系统30的电源。当然,若计算机系统30的电源已经开启(例如:计算机系统30因其主机上的一重设按钮reset被按下而重新启动时),则此一步骤可予以省略;
步骤104:自基本输入输出系统34的程序代码起始点B开始执行多段程序代码S1~SL,以初始化上述多个硬件元件44,其中程序代码起始点B通常为基本输入输出系统34所储存的程序代码所在的存储器最小地址(即地址1);
步骤106:在预定期间内,准备接收设定要求,其中此一设定要求是由使用者藉由计算机系统30的输入装置(如键盘)来加以输入;
步骤108:计算机系统30判断于上述预定期间内是否接收到设定要求?若于上述预定期间内接收到设定要求,则到步骤110;若于上述预定期间内没有接收到设定要求,则到步骤118;
步骤110:设定程序代码断点I,并使计算机系统30进入使用者设定模式,以对设定数据36加以设定;在本实施例中,程序代码断点I为步骤106结束时,处理器32所应再继续执行程序代码的存储器地址,亦即假使在上述预定期间内计算机系统30没有接收到设定要求的话,处理器30会由程序代码断点I来继续执行基本输入输出系统34的程序代码;
步骤112:结束设定数据36的设定操作,之后并依据完成设定后的设定数据36由参考表格38中读取对应的处理设定50;
步骤114:依据所读取的处理设定50来决定处理器32应由程序代码断点I或应由程序代码起始点B来继续执行多段程序代码S1~SL,其中判断时的依据为所读取的处理设定50其所记录的判断标志值Flag;若所读取的处理设定50其所记录的判断标志值Flag为“N”,则使处理器32由程序代码断点I开始继续执行多段程序代码S1~SL;而若所读取的处理设定50其所记录的判断标志值Flag为“Y”,则使处理器32由程序代码起始点B重新执行多段程序代码S1~SL;若判断的结果需由程序代码起始点B再次执行多段程序代码S1~SL的话,则重复执行步骤104;而若判断的结果需由程序代码断点I开始继续执行多段程序代码S1~SL的话,则进行步骤116;
步骤116:由程序代码断点I开始继续执行程序代码S1~SL,此其间已经被执行过的程序代码(例如程序代码S1~S3)将不会再次被执行;
步骤118:继续执行其它尚未执行过的程序代码(例如程序代码S4~SL);
步骤120:加载操作系统40,以使操作系统40得以控制计算机系统30开启后的操作;
步骤122:结束。
由以上的流程可知,与现有开启计算机系统的程序最主要的不同点是:本发明用来启动计算机系统的方法会在结束设定数据36的设定操作后,依据完成设定后的设定数据36来比对参考表格38,以选择并读取出一批适合的处理设定50,之后再依据被读取的处理设定50所记录的判断标志值Flag来决定处理器32后续应由哪一存储器地址来读取程序代码并加以执行。因此,当计算机系统30结束设定数据36的设定操作之后,若设定数据36没有任何变动,或是所变动的地方不影响处理器32执行后续程序代码的正确性与稳定性时,则判断标志值Flag可设成“N”,以使处理器32由程序代码断点I开始继续执行未执行过的程序代码S3~SL,而如此一来,在某些情况下即可节省因重新启动计算机系统30所耗费的时间。此外,由上述流程可知,若在预定期间内计算机系统30没有接收到设定要求的话,处理器30会由程序代码断点I来继续执行基本输入输出系统34的程序代码,此即表示在上述的预定期间以外的期间,计算机系统30会忽略任何的由使用者所输入的设定要求。
请参考第6图,第6图为本发明另一实施方法的流程图,其包含有以下步骤:
步骤200:开始;
步骤202:利用电源开关42来开启计算机系统30的电源;
步骤204:自基本输入输出系统34的程序代码起始点B开始执行多段程序代码S1~SL,以初始化多个硬件元件44;
步骤206:于执行基本输入输出系统34多段程序代码S1~SL的同时,准备接收设定要求;
步骤208:当接收到设定要求时,中断处理器34其对基本输入输出系统34程序代码S1~SL的执行操作,并使计算机系统30进入使用者设定模式,以设定上述的设定数据36;
步骤210:当结束设定数据36的设定操作后,依据完成设定后的设定数据36以及多个硬件元件44当时状态由参考表格38中读取对应的处理设定50;
步骤212:依据所读取的处理设定50,来决定由程序代码断点I或由程序代码起始点B来继续执行多段程序代码S1~SL;若由程序代码断点I继续执行多段程序代码S1~SL,则到步骤214;若由程序代码起始点B重新执行多段程序代码S1~SL,则到步骤204;
步骤214:由程序代码断点I开始继续执行多段程序代码S1~SL;
步骤216:加载操作系统40;
步骤218:结束。
由以上流程可知,此一实施方法与前一实施方法不同的地方在于:(1)处理器32所执行的基本输入输出系统34的程序代码在操作系统4 0被加载之前,使用者随时可以输入设定要求,来让计算机系统30进入使用者设定模式,以对设定数据36进行设定;(2)所读取的处理设定50系依据完成设定后的设定数据36以及多个硬件元件50当时的状态来加以选取,选取处理设定50时的判断条件因而较为多样。
与现有启动计算机系统的方法相较,本发明的开启计算机系统的方法是依据完成设定后的设定数据以及硬件元件当时的状态来判断基本输入输出系统的程序代码的执行起点,故在某些情况下可以简化计算机系统在执行完系统设定操作后的启动程序。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。

Claims (6)

1. 一种用来启动计算机系统的方法,该计算机系统包含有:
处理器,用来执行程序代码;
基本输入输出系统,其包含有多段程序代码;
多个可予以设定的硬件元件;
该方法包含有:
(a)自该基本输入输出系统的程序代码起始点开始执行该多段程序代码,以初始化该多个硬件元件;
(b)准备接收设定要求;
(c)设定该多段程序代码的程序代码断点;
(d)当接收到该设定要求时,使该计算机系统进入使用者设定模式,以设定设定数据,其中该多个硬件元件可依据该设定数据来加以设定;
(e)当结束该设定数据的设定动作后,依据完成设定后的设定数据,由参考表格中读取对应的处理设定,其中该参考表格记录有多批处理设定,每一批处理设定记录有至少一个硬件元件的状态;
(f)依据于步骤(e)中所读取的该处理设定,来决定由该程序代码断点或由该程序代码起始点来继续执行该多段程序代码;以及
(g)加载操作系统,其中该操作系统用来控制该计算机系统启动后的操作。
2. 根据权利要求1所述的方法,其中该程序代码断点于进行步骤(d)时加以设定。
3. 根据权利要求1所述的方法,其还包含:
(h)在预定期间内,准备接收该设定要求;以及
(i)在该预定期间以外的期间,忽略任何的设定要求。
4. 根据权利要求1所述的方法,其还包含:
(j)在进行步骤(g)以加载该操作系统之前,允许该计算机系统进行步骤(d)。
5. 根据权利要求1所述的方法,其中该计算机系统还包含有电源开关,用来开启和关闭该计算机系统的电源,该方法还包含:
(k)利用该电源开关来开启该计算机系统的电源。
6. 根据权利要求1所述的方法,其中该程序代码起始点与该程序代码断点是该多段程序代码中两不同的程序执行点。
CNB2005100825857A 2005-07-11 2005-07-11 启动计算机系统的方法 Active CN100416502C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100825857A CN100416502C (zh) 2005-07-11 2005-07-11 启动计算机系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100825857A CN100416502C (zh) 2005-07-11 2005-07-11 启动计算机系统的方法

Publications (2)

Publication Number Publication Date
CN1710541A CN1710541A (zh) 2005-12-21
CN100416502C true CN100416502C (zh) 2008-09-03

Family

ID=35706787

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100825857A Active CN100416502C (zh) 2005-07-11 2005-07-11 启动计算机系统的方法

Country Status (1)

Country Link
CN (1) CN100416502C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208891A1 (en) * 2006-03-01 2007-09-06 Aten International Co., Ltd KVM switching system
CN101324849B (zh) * 2007-06-14 2011-10-26 研祥智能科技股份有限公司 一种bios芯片集成dos操作系统的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184483A1 (en) * 2001-05-30 2002-12-05 Morrison John A. Reducing boot times via intrusion monitoring
US6529966B1 (en) * 1993-07-30 2003-03-04 Microsoft Corporation Booting a computer system using a last known good set of configuration data
JP2004030184A (ja) * 2002-06-25 2004-01-29 Romwin:Kk コンピュータ起動装置
US6718461B1 (en) * 2000-04-28 2004-04-06 Intel Corporation Booting processor-based systems
CN1512337A (zh) * 2002-12-27 2004-07-14 联想(北京)有限公司 一种计算机启动及多操作系统切换的方法
US20050044348A1 (en) * 2002-08-14 2005-02-24 O'connell Daniel James Method and apparatus for booting a computer system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529966B1 (en) * 1993-07-30 2003-03-04 Microsoft Corporation Booting a computer system using a last known good set of configuration data
US6718461B1 (en) * 2000-04-28 2004-04-06 Intel Corporation Booting processor-based systems
US20020184483A1 (en) * 2001-05-30 2002-12-05 Morrison John A. Reducing boot times via intrusion monitoring
JP2004030184A (ja) * 2002-06-25 2004-01-29 Romwin:Kk コンピュータ起動装置
US20050044348A1 (en) * 2002-08-14 2005-02-24 O'connell Daniel James Method and apparatus for booting a computer system
CN1512337A (zh) * 2002-12-27 2004-07-14 联想(北京)有限公司 一种计算机启动及多操作系统切换的方法

Also Published As

Publication number Publication date
CN1710541A (zh) 2005-12-21

Similar Documents

Publication Publication Date Title
US8108665B2 (en) Decoupled hardware configuration manager
CN101634960A (zh) 一种修改bios参数及重新生成校验和的方法
CN104572161B (zh) 一种基于龙芯便携式计算机的uefi固件实现方法
CN101000549A (zh) 加速开机程序的电子装置及其方法
US20070005949A1 (en) Method for Booting a Computer System
CN104572061A (zh) 一种基于龙芯服务器的uefi固件实现方法
CN101364178A (zh) Bios在电脑装置开机时的执行方法与管理方法
US20060031669A1 (en) Boot method and system
CN101299189A (zh) 自启动多操作系统之一的dos的方法
CN100416502C (zh) 启动计算机系统的方法
CN101201746A (zh) 基本输出入系统设定方法
US7620758B2 (en) System and method for fast activation and playing using a multimedia playback control module to load and execute core program
CN102043670A (zh) 计算机切换不同操作系统的方法
CN101206576A (zh) 缩短开机时间的计算机主机及缩短计算机主机开机时间方法
CN100570557C (zh) 提供多种开机程序的计算机系统与开机方法
US20030154428A1 (en) Method of testing computer system components
CN100430892C (zh) 缩短开机时间的方法
CN102591669B (zh) 模块化计算机固件及其实现方法
CN101923503A (zh) 调整内存内部参数的方法及使用其的电脑系统
CN100375024C (zh) 一种自动改变计算机启动顺序的方法
US20070169117A1 (en) Firmware loading device
US20080300845A1 (en) Monitoring software simulations of hardware systems
CN112395017A (zh) Uefi的启动方法、uefi和计算机
TWI414936B (zh) 電腦系統之除錯方法
US20100205598A1 (en) Method for installing operating system in computer

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