一种实现快速开机的方法及装置的制作方法专利名称:一种实现快速开机的方法及装置的制作方法技术领域:本发明属于计算机应用技术领域,尤其涉及一种实现计算机快速开机的方法及装置背景技术: 随着计算机的操作系统的日益庞大,系统的启动时间越来越长,尽管计算机技术的飞跃发展使得计算机的处理速度和计算速度越来越快,但由于计算机处理速度和计算速度对缩短系统启动时间并没有明显的作用,因此使得计算机的启动时间随着系统的不断庞大而日益增加在本发明中,涉及到以下的几个计算机所处状态,分别是S0状态,在此状态下,计算机处于正常开机状态;S3状态,在此状态下,计算机处于挂起到内存的休眠状态,计算机将进入休眠状态之前的计算机的各个现场信息保存在内存中,内存在+5伏的辅助电压5VSB供电下保持工作,而其它的硬件则处于关闭状态;在触发S3休眠唤醒事件时,则计算机从内存中读取并执行保存的各个现场信息,从而使计算机恢复至进入S3休眠之前的状态;S4状态,在此状态下,计算机处于挂起到硬盘的休眠状态,计算机将进入S4休眠前的计算机的各个现场信息保存在硬盘中,计算机中的各个硬件处于关闭状态,在通过例如按动电源开关而触发S4唤醒事件时,计算机通过操作系统或基本输入输出系统(BIOS)将保存在硬盘中的进入S4状态前的各个现场信息原样写入原先的位置,从而达到休眠状态前后一致;S5状态,在此状态下,计算机处于正常关机状态,且外部交流电AC仍然向计算机供电;G3状态,在此状态下,计算机的外部交流电AC掉电,只有计算机主板上的电池供电。
为了缩短系统启动时间以为用户提供快速的开机体验,现有技术中,采用如下两种方式实现快速开机方式1将计算机电源管理系统的“关机”按钮的默认操作设置为“待机”,从而,当用户关机时,系统将进入待机状态S3,计算机挂起到内存,系统进入该S3状态时,将计算机进入S3休眠前的所有信息保存在内存中,其中,保存在内存中的这些所有信息包括中央处理器(CPU)信息、操作系统信息、应用程序信息、各个硬件信息以及相关寄存器的值等所有计算机现场信息;在该S3状态下,计算机中的各个硬件均处于关闭状态,只有内存仍在+5伏的辅助电压5VSB供电下不断进行刷新以保证内存单元中保存内容的完整性在计算机处于开机S0状态和正常关机S5状态时,计算机电源连接交流电,5VSB作为辅助电压均存在当计算机被例如键盘唤醒或鼠标唤醒的S3休眠唤醒事件触发时,计算机将内存中所保存的各个现场信息均返回至这些信息在S3休眠状态之前所对应的位置,并在对应位置分别执行这些信息,从而使计算机在经S3休眠唤醒事件触发后恢复到S3休眠之前的状态该种快速开机方式虽然能够大大缩短开机时间,但是此种快速开机方式无法解决系统掉电,也就是通常提供给计算机的220V交流电(AC)断电后的快速开机问题,其主要原因在于当系统AC掉电后,由于相应的5VSB辅助电压相应不存在,因此,计算机无法保持S3状态,系统将进入G3状态,在该G3状态下,除了计算机主板上的电池供电外,外部供电均被切断,在AC恢复后,系统将进入S5状态,然后再由S5状态完成开机过程,其中,该S5状态为计算机正常关机后所处的状态,该状态不能保存在进入该S5状态之前的系统状态信息,在掉电前保存在内存中的信息会在进入该状态时丢失,从而使得在系统AC掉电的情况下,AC恢复从而重新开机时,仍会采用历时将近40秒的正常开机过程,从而无法实现快速开机。
方式2在计算机配置一定的情况下,计算机的BIOS减少对计算机中部分部件的初始化动作,从而缩短系统的启动时间;采用此种方案,虽然能够实现快速开机,以及系统AC掉电恢复后的快速开机,但是开机过程中会减少计算机一些部件的初始化动作,而这些初始化动作在计算机进入系统后又不可避免的会被执行,必然会降低系统的运行速度,不利于用户的具体应用;另外,该种方式虽然能够实现快速开机,但效果不很明显,相对于第一种快速开机方式仍需要延迟25~35秒发明内容有鉴于此,本发明的主要目的在于提供一种实现快速开机的方法,该方法能够在AC掉电恢复后仍然实现快速开机为实现上述目的,本发明提供了一种实现快速开机的方法,如果计算机出现系统交流电AC掉电,该方法包括步骤A计算机记录掉电信息,并使计算机的操作系统进入S4/G3状态;步骤B判断AC是否恢复,如果不是,则计算机保持S4/G3状态,返回步骤B,直至AC恢复;如果是,则操作系统自动启动,并且操作系统在启动过程中根据步骤A中所保存的掉电信息,由S4/G3状态进入S3状态,然后,计算机操作系统保持S3状态,直至使用者触发S3触发事件以实现快速开机其中,步骤A所述计算机记录掉电信息包括计算机主板收到掉电通知信号,根据该掉电通知信号判断得到计算机当前出现系统AC掉电,计算机主板在由计算机主板电池供电的寄存器上记录数值,以作为掉电信息。
其中,计算机主板具有备用电池供电时,所述掉电通知信号为备用电池向主板发送的高电平状态的ON-BATT信号,主板根据该信号的高电平状态判断得到发生系统AC掉电,则执行所述在寄存器上记录掉电信息的步骤其中,步骤A所述计算机记录掉电信息包括计算机主板南桥上空闲的通用输入输出GPIO位侦测接收到的ON-BATT信号,在侦测得到该信号处于高电平时,则在主板南桥上由计算机主板供电的寄存器中记录数值,用以表示计算机发生掉电其中,计算机主板没有备用电池供电时,所述掉电通知信号为3.3VSB,计算机主板根据该3.3VSB不存在判断得到发生系统AC掉电,则执行所述在寄存器上记录掉电信息的步骤其中,步骤B中,所述操作系统在启动过程中根据步骤A中所保存的掉电信息由S4/G3状态进入S3状态包括步骤B1计算机的基本输入输出系统BIOS从所述由计算机主板电池供电的寄存器中读取该寄存器所记录的数值,根据该数值判断得到计算机曾经出现系统AC掉电;步骤B2BIOS向操作系统不断发出进入S3状态的指令,直至操作系统收到并响应该指令为止,操作系统根据收到的进入S3状态的指令进入S3状态其中,在计算机主板上有备用电池供电时,步骤A中,计算机的操作系统进入S4状态;在计算机的主板上没有备用电池供电时,步骤A中,计算机的操作系统进入G3状态。
为实现上述目的,本发明还提供了一种实现快速开机的装置,该装置至少包括第一脉冲发生模块、检测模块、第二脉冲发生模块、以及开机信号产生环节模块,其中第一脉冲发生模块用于在收到掉电通知信号后,产生触发休眠的触发脉冲并将该脉冲发送给检测模块,以使得检测模块通过开机信号产生环节模块将操作系统引导进入S4/G3状态;检测模块用于在系统AC掉电时,根据掉电通知信号记录掉电信息,还用于在AC恢复时,根据记录的掉电信息向第二脉冲发生模块发送掉电恢复信号;第二脉冲发生模块用于在接收到检测模块所发送的掉电恢复信号后,产生触发脉冲并发送至检测模块,以使得检测模块通过开机信号产生环节模块将操作系统由S4/G3状态引导进入S3状态;开机信号产生环节模块用于根据自检测模块收到的信号,向计算机主机电源发送开启/关闭电源的信号其中,所述装置进一步包括备用电池,该备用电池用于在出现AC系统掉电时向第一脉冲发生模块和检测模块发送作为掉电通知信号的ON-BATT信号可见,利用本发明所提供的装置及方法,能够使得计算机发生AC掉电后,能够进入并保持S3状态,以使得在使用者通过触发S3触发事件时实现快速开机,从而减少了开机时进入操作系统所历经的时间。
因此,本发明所提供的方法及装置有利于避免使用者在系统启动过程中的漫长等待,从而为用户带来使用上的便利,并且,本发明能够针对AC掉电这一特殊情况实现快速开机,从而使得本发明具有更广的应用范围图1为本发明实现快速开机的整体流程图图2为本发明在系统AC掉电并恢复时,实现快速开机的流程图图3为本发明一实施例中,本发明所提供的实现快速开机的装置的模块图具体实施例方式本发明为一种实现快速开机的方法及装置,在该方法中,当计算机出现系统AC掉电时,将掉电信息记录在相应的存储器中,在AC恢复时,根据所记录的掉电信息,计算机的操作系统进入并保持S3状态,直至使用者通过触发S3触发事件实现快速开机在本发明所提供的装置中,利用检测模块检测AC掉电这一事件,并且,检测模块利用第一脉冲发生模块和第二脉冲发生模块所产生的脉冲,控制开机信号产生模块使计算机的操作系统进入并保持在S3状态,从而满足快速开机的需要下面结合附图对本发明进行详细描述参见图1,本发明采用从S3状态进入操作系统的方式实现快速开机,该快速开机包括以下步骤步骤100根据使用者的操作,计算机的操作系统处于S0、S3、S4和S5状态中的任意一种状态;步骤101操作系统判断是否出现系统AC掉电,如果是,则执行步骤102及其后续步骤,否则,操作系统保持当前状态,并返回步骤101,直至出现AC掉电执行步骤102,或操作系统根据使用者的操作改变当前状态后,结束本流程;步骤102计算机记录AC掉电信息,并在AC恢复后,使操作系统进入并保持S3状态,在使用者触发S3触发事件后,由S3状态进入操作系统,从而实现快速开机。
其中,在本发明实施例中,参见图2,实现上述步骤102具体包括以下步骤步骤200系统掉电后,该计算机记录掉电信息,在本发明实施例中,采用根据ON-VBA信号的电平状态记录掉电信息,在主板具有备用电池时,该ON-VBA信号为备用电池所发出的ON-BATT信号,而在主板上没有备用电池时,该ON-VBA信号则为主板上的3.3VSB信号,该ON-VBA信号用以表示是否发生了AC掉电,系统根据该ON-VBA信号来记录掉电信息,其具体实现方式如下方式一,在主板上具有备用电池供电时计算机主板上的备用电池向主板始终发送一个掉电通知信号ON-BATT,该信号始终处于低电平状态,只有在计算机处于系统AC掉电状态时,该ON-BATT信号才被拉高为高电平状态,在发生系统AC掉电时,主板收到该高电平状态的ON-BATT信号后,在主板的寄存器中记录掉电信息;方式二,在主板上没有备用电池供电时如果计算机发生AC掉电,则3.3VSB不存在,主板根据该3.3VSB不存在判断得到当前发生了系统AC掉电,则在主板的寄存器中记录掉电信息;其中,3.3VSB是主板上的一种供电电压,当计算机在AC插头仍然连接电源而处于S5状态时,3.3VSB存在;而在AC插头不连接电源使得计算机处于G3状态时,3.3VSB不存在,因此,本发明采用该3.3VSB信号作为判断AC是否掉电的一个的信号;在本发明实施例中,主板上具有备用电池供电,因此,本发明实施例采用上述的方式一实现记录掉电信息,其具体实现为主板南桥上空闲的通用输入输出(GPIO)位侦测接收到的ON-BATT信号,当侦测到该信号处于高电平时,则在主板南桥上的相应寄存器中记录下相应的值,本发明实施例中,如果侦测到ON-BATT信号处于高电平,则在主板南桥的M-BATT寄存器中记录1,用以表示系统的前一个状态有过掉电记录,相应的,该M-BATT寄存器中记录0则表示系统AC供电正常;在本发明的各个实施例中,可以采用主板上不同的寄存器记录掉电信息,但所采用的寄存器必须为计算机主板电池供电的寄存器,该寄存器能够在S3、S4、S5以及G3状态下保证存储在其上的值不丢失,以供再次启动开机时BIOS查询该寄存器中所记录的掉电信息;在本发明其它实施例中,也可采用其它不同的数值记录在相应的寄存器中,以表示系统的掉电情况,该寄存器中所记录的数值以及各个数值与掉电状态的对应关系并不影响本发明的实现;步骤201计算机在掉电后,进入S4/G3状态,在本发明实施例中,由于主板上有备用电池模块供电,因此,本步骤中,计算机进入S4状态,在本发明其它实施例中,如果没有主板上的备用电池供电,则该计算机选择进入G3状态;其中,S4是指计算机挂起到硬盘的状态,而不像S3状态那样挂起到内存的状态,计算机在进入S4状态时,将进入S4休眠。