专利名称:一种加快操作系统的引导方法
技术领域:
本发明涉及计算机应用技术领域,特别是指一种加快操作系统的引导方法。
背景技术:
计算机作为一种日常工作的工具,越来越发挥着巨大的作用,已经成为办公工具和娱乐工具,并且在很多家庭中已经成为消费家电。对于一般用户而言只需要将计算机启动至正常的使用状态就可以了,并不在意计算机从引导操作系统到整个操作系统正常运行的过程,因此缩短计算机操作系统的启动时间,使用户在计算机操作系统的启动过程中无需经过冗长的等待,能够为用户带来良好的感觉,并提高工作效率。
首先简单介绍一下计算机的工作原理计算机正常运行时,所有的应用程序与操作系统的部分程序都是在内存中运行,通过内存作为中间媒介,将硬盘上的数据与内存中的数据进行交换,只要将内存中的数据设置到能够运行操作系统的相关数据部分,计算机就能够正常运行。例如,计算机当前正在运行操作系统和一个应用程序,那么内存中的数据就是计算机运行的基础,这样通过内存中数据的运行与硬盘形成桥梁。
计算机主要有两种休眠状态S3休眠状态和S4休眠状态。S3(Suspendto DRAM)休眠状态是指挂起到内存的休眠状态;S4(Suspend to HDD)休眠状态是指挂起到硬盘的休眠状态。S3休眠状态和S4休眠状态是高级电源管理(ACPI)所规定的业界标准,计算机的硬件设计与驱动开发都是基于这一标准实现的。下面分别介绍两种休眠状态的原理。
S3休眠状态的原理主要是计算机将进入休眠状态前的所有计算机现场信息,例如中央处理器(CPU)信息、操作系统信息、应用程序信息、各个硬件的相关信息、相关寄存器的值等信息,均存储于内存之中。处于S3休眠状态时,计算机的硬件都处于关闭状态,只有内存还是在5VSB供电情况下不断地刷新,以保持内存中内存单元的完整性。当计算机被S3体眠唤醒事件触发唤醒时,例如键盘唤醒、鼠标唤醒等S3休眠唤醒事件,操作系统根据内存中存储的各计算机现场信息,将计算机返回至进入S3休眠状态前的状态。例如,操作系统进入S3休眠状态前正在某一内存地址上执行计算器程序,那么唤醒S3休眠后,操作系统直接跳转至该内存地址执行计算器程序,从而使进入S3休眠前的状态与唤醒S3休眠后的状态保持一致。
S4休眠状态的原理主要是计算机将进入休眠状态前的所有计算机现场信息,例如中央处理器(CPU)信息、操作系统信息、应用程序信息、各个硬件的相关信息、相关寄存器的值等信息,均存储在硬盘中。处于S4休眠状态时,计算机的硬件均处于关闭状态。当计算机被S4休眠唤醒事件触发唤醒时,例如按下电源开关,操作系统或基本输入输出系统(BIOS)根据硬盘中存储的各计算机现场信息,将计算机返回至进入S4休眠状态前的状态,从而使进入S4休眠前的状态与唤醒S4休眠后的状态保持一致。
用户可根据需要自行定义进入S3休眠状态或S4休眠状态的条件,以及唤醒S3休眠或S4休眠的条件。
图1为计算机进入S4休眠状态的流程图,如图1所示,计算机进入S4休眠状态的过程包括以下步骤步骤101~步骤104当前条件满足计算机进入S4休眠状态条件,操作系统在内存中提取必要的计算机现场信息,然后将提取到的计算机现场信息写入硬盘,生成映像文件,并将该映像文件存储于操作系统的某一临时目录下,然后计算机进入S4休眠状态。
图2为从S4休眠状态将计算机唤醒的流程图,如图2所示,从S4休眠状态将计算机唤醒的过程包括以下步骤
步骤201~步骤206当前条件满足唤醒计算机S4休眠条件,BIOS进行正常引导,进行初始化工作,例如稳定硬盘,向相关设备发指令等;操作系统进行引导,例如对主引导记录进行引导等;操作系统将映像文件装载至内存,并将硬件状态恢复至计算机进入S4休眠状态前的状态,计算机恢复至进入S4休眠状态前的状态。
S3休眠状态与S4休眠状态间的区别仅在于存储进入休眠状态前计算机现场信息的位置不同,唤醒S3休眠时,操作系统只需根据内存中存储的各计算机现场信息,将计算机返回至进入S3休眠状态前的状态;而唤醒S4休眠时,操作系统需要先将硬盘中存储的计算机现场信息装载至内存,然后根据内存中存储的各计算机现场信息,将计算机返回至进入S4休眠状态前的状态,因此由于计算机现场信息存储位置的不同,造成了唤醒不同休眠状态所用时间的不同。通常,唤醒S3休眠所用的时间远远低于唤醒S4休眠所用的时间。但是S3休眠状态的局限性是内存始终需要主板上的5VSB电源为其供电,这一点对于计算机而言就是始终需要220VAC电源为其供电。对于内存,无论是同步动态随机内存(SDRAM)还是双倍速率同步动态随机内存(DDR SDRAM),只要失去电源供给就会丢失其存储的信息。
实际上,S3休眠/S4休眠的主要原理都用到了内存。对于S3休眠而言,需要为内存持续供电,使其不断刷新,保证内存中的信息不被清除。对于S4休眠而言,在硬盘中保存的信息与内存中的相关信息相同。BIOS提供了对计算机硬件的管理手段,通过对硬件寄存器的操作实现对硬件的管理。在将计算机由S4休眠唤醒时,仅仅是由操作系统在对S4休眠进行定义与分析,BIOS在该过程中没有发挥重要作用。
如何快速启动计算机,将唤醒S3休眠的快速与S4休眠状态的无需供电结合起来,即S3休眠状态与S4休眠状态的综合应用,成为一个亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种加快操作系统的引导方法,实现快速引导操作系统的目的。
为了达到上述目的,本发明提供了一种加快操作系统的引导方法,其特征在于该方法包含以下步骤设置存储器挂起休眠状态为计算机的关闭状态,同时设置启动计算机为唤醒存储器挂起休眠的唤醒事件;计算机处于关闭状态,存储器存储计算机关闭前的相关信息;启动计算机,操作系统根据存储器中存储的信息将计算机的状态恢复至关闭前的状态。
计算机意外掉电并恢复后,处于存储器挂起休眠状态时,该方法进一步包括恢复供电事件触发BIOS启动,BIOS直接读取映像文件;BIOS将映像文件装载至存储器,存储器存储映像文件中存储的相应信息。
操作系统随硬件升级时,该方法进一步包括将操作系统随硬件变动标志置位,启动操作系统;计算机在存储器挂起休眠状态下,将原有映像文件替换为重新生成的映像文件,同时将操作系统随硬件变动标志复位。
计算机在存储器挂起休眠状态下,通过以下步骤获取所述映像文件a、BIOS判断当前启动操作系统是否为第一次启动,如果是,执行步骤c,否则,执行步骤b;b、基本输入输出系统判断操作系统随硬件变动标志是否有效,如果有效,执行步骤c,如果无效,结束映像文件生成过程;c、基本输入输出系统提取存储器中存储的相关信息,然后生成映像文件。
该方法进一步包括通过将与中央处理器GPIO1管脚相对应的寄存器置位启动基本输入输出系统。
所述步骤c进一步包括基本输入输出系统通过硬盘寄存器操作指令将生成的映像文件存储于隐藏分区中。
所述信息为计算机现场信息或操作系统信息。
所述计算机现场信息包括中央处理器信息、操作系统信息、应用程序信息、相关寄存器的值。
所述存储器为计算机内存。所述映像文件存储于硬盘。
本发明通过将计算机的关闭状态设置位S3休眠状态,当计算机启动时,无须经过BIOS系统的引导和操作系统的加载,达到了快速启动操作的目的。同时将操作系统在内存中的相关信息生成映像文件,存储于硬盘,当计算机意外掉电恢复后,BIOS将映像文件装载至内存,保证内存中存储的相应操作系统信息不会丢失。
图1为计算机进入S4休眠状态的流程图;图2为从S4休眠状态将计算机唤醒的流程图;图3为依据本发明计算机从关机到开机的流程图;图4为依据本发明计算机意外掉电并恢复后的处理流程图;图5为依据本发明生成映像文件的流程图;图6为依据本发明操作系统升级后生成映像文件的流程图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步地详细描述。
在本发明中,将计算机的关机状态设置为S3休眠状态,启动计算机的动作设置为S3休眠唤醒事件。这个关机状态并非普通意义上的关机状态,处于本发明中所述关机状态的计算机,其硬件均处于关闭状态,例如主板、硬盘、板卡类的设备等均处于关闭状态,除了内存依然处于不断刷新的状态。当启动计算机时,等同于将计算机从S3休眠状态中唤醒,大大缩短了启动计算机时的等待时间。
图3为依据本发明计算机从关机到开机的流程图,如图3所示,计算机从关机到开机的过程包括以下步骤
步骤301~步骤303关闭计算机,计算机其他硬件均关闭,只有内存处于不断刷新的状态,内存中存储计算机关闭前的相关计算机现场信息。
步骤304~步骤306启动计算机,操作系统根据内存中存储的计算机关闭前的计算机现场信息,将计算机的状态直接恢复至关机前的状态,完成计算机的启动。
一般情况下,计算机始终连接在220VAC电源上,因此对于主板而言,始终能够为内存提供5VSB电源供电,使内存处于不断刷新的状态,保证内存中存储的信息不会丢失。但是如果计算机意外掉电恢复后,就会丢失内存中存储的计算机现场信息。为了防止上述情况的发生,同时保证快速启动操作系统,本发明提出了采用BIOS提取操作系统在内存中的相关信息,并将根据提取信息生成的映像文件存储于硬盘,将映像文件作为内存中信息的备份,这一思想应用了计算机进入S4休眠状态时,操作系统将内存中存储的信息装载入硬盘的思想,当计算机意外掉电并恢复时,由于映像文件中存储了操作系统的相关信息,只需将映像文件中存储的信息装载入内存,就能够实现快速启动操作系统的目的。上述思想实现了S3休眠与S4休眠的结合应用。
当计算机意外掉电并恢复后,BIOS将硬盘中存储的映像文件装载至内存,使计算机恢复至S3休眠状态,内存中存储的信息为相应的操作系统信息,当启动计算机时,能够将计算机快速启动至运行状态。现有技术中采用操作系统读取映像文件,该过程必须等待BIOS加载等过程完成后才能进行,而本发明中采用BIOS读取映像文件无需等待其加载等过程的完成,同时操作系统还可以并行处理一些其他事件,缩短了读取映像文件的时间。
图4为依据本发明计算机意外掉电并恢复后的处理流程图,如图4所示,计算机意外掉电并恢复后的处理过程包括以下步骤步骤401~步骤403计算机意外掉电后恢复220VAC电源供给,通过将与CPU的GPIO1管脚对应的寄存器置位启动BIOS,以此表明该恢复电源供电的动作用来触发内存中操作系统信息的恢复。因为与CPU的GPIO1管脚对应的寄存器是由主板上的5VSB为其供电的,所以当计算机恢复220VAC电源供电时,就会给GPIO1管脚一个脉冲,该脉冲会改变与其对应的寄存器的值,通过该寄存器值的变化触发BIOS的启动。
步骤404~步骤407BIOS读取硬盘中存储的映像文件,并将该映像文件中存储的信息装载至内存,内存中存储的信息与映像文件中的信息相同,计算机处于S3休眠状态。
上面提到了映像文件,映像文件的生成可使内存中的操作系统信息得到备份,在计算机意外掉电并恢复供电后,成为内存获取操作系统信息的途径。下面介绍映像文件的生成过程。
操作系统为计算机硬件及BIOS与应用程序之间提供交互通道,因此可将操作系统视为基于计算机硬件和BIOS的总的应用程序,只是其中加入了对内存管理、文件系统管理等资源管理的调度,因此可将具有双操作系统的计算机理解为具有两个独立的、无法同时运行的应用程序。针对同一个操作系统,其在内存中存储的信息是相同的,因此只需在BIOS第一次启动操作系统或操作系统升级时,操作系统启动BIOS提取内存中存储的操作系统信息,然后将生成的映像文件存储于硬盘。
图5为依据本发明生成映像文件的流程图,如图5所示,生成映像文件的过程包括以下步骤步骤501~步骤502计算机进入S3休眠状态,BIOS判断当前启动操作系统是否为第一次启动,如果是,执行步骤504;否则,执行步骤503。
步骤503BIOS判断操作系统随硬件变动标志的取值为0还是为1,如果为0,结束映像文件的生成处理;如果为1,执行步骤504。
步骤504~步骤505BIOS提取内存中操作系统的相关信息,然后将提取的信息生成映像文件,并存储于硬盘。
另外,BIOS能够利用硬盘寄存操作(ATA)指令将映像文件放置在隐藏分区中,用以避免人为破坏或病毒侵袭。
图6为依据本发明操作系统升级后生成映像文件的流程图,如图6所示,操作系统升级后生成映像文件的过程包括以下步骤步骤601~步骤603关键硬件进行升级时,例如硬盘、主板、显示卡等,操作系统进行相应升级,重新安装操作系统,并将操作系统随硬件变动标志置为1;然后启动操作系统。
步骤604~步骤609计算机进入S3休眠状态,BIOS提取内存中存储的相关操作系统信息,并重新生成映像文件,然后将操作系统随硬件变动标志置为O,然后将映像文件存储于硬盘,将该位置上的原映像文件替换为新生成的映像文件。
原映像文件中存储的内容为原操作系统的相关信息,新生成的映像文件中存储的内容为升级后的操作系统的相关信息。映像文件中存储的内容只与操作系统的相关信息相对应,操作系统没有变化,映像文件中存储的内容就没有变化。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种加快操作系统的引导方法,其特征在于该方法包含以下步骤设置存储器挂起休眠状态为计算机的关闭状态,同时设置启动计算机为唤醒存储器挂起休眠的唤醒事件;计算机处于关闭状态,存储器存储计算机关闭前的相关信息;启动计算机,操作系统根据存储器中存储的信息将计算机的状态恢复至关闭前的状态。
2.根据权利要求1所述的方法,其特征在于,计算机意外掉电并恢复后,处于存储器挂起休眠状态时,该方法进一步包括恢复供电事件触发BIOS启动,BIOS直接读取映像文件;BIOS将映像文件装载至存储器,存储器存储映像文件中存储的相应信息。
3.根据权利要求1所述的方法,其特征在于,操作系统随硬件升级时,该方法进一步包括将操作系统随硬件变动标志置位,启动操作系统;计算机在存储器挂起休眠状态下,将原有映像文件替换为重新生成的映像文件,同时将操作系统随硬件变动标志复位。
4.根据权利要求2或3所述的方法,其特征在于,计算机在存储器挂起休眠状态下,通过以下步骤获取所述映像文件a、BIOS判断当前启动操作系统是否为第一次启动,如果是,执行步骤c,否则,执行步骤b;b、基本输入输出系统判断操作系统随硬件变动标志是否有效,如果有效,执行步骤c,否则,结束映像文件生成过程;c、基本输入输出系统提取存储器中存储的相关信息,然后生成映像文件。
5.根据权利要求2所述的方法,其特征在于该方法进一步包括通过将与中央处理器GPIO1管脚相对应的寄存器置位启动基本输入输出系统。
6.根据权利要求3所述的方法,其特征在于所述步骤c进一步包括基本输入输出系统通过硬盘寄存器操作指令将生成的映像文件存储于隐藏分区中。
7.根据权利要求1所述的方法,其特征在于所述信息为计算机现场信息或操作系统信息。
8.根据权利要求8所述的方法,其特征在于,所述计算机现场信息包括中央处理器信息、操作系统信息、应用程序信息、相关寄存器的值。
9.根据权利要求1所述的方法,其特征在于,所述存储器为计算机内存。
10.根据权利要求2或3所述的方法,其特征在于,所述映像文件存储于硬盘。
全文摘要
一种加快操作系统的引导方法,涉及计算机应用技术领域,该方法包含设置存储器挂起休眠状态为计算机的关闭状态,同时设置启动计算机为唤醒存储器挂起休眠的唤醒事件;计算机处于关闭状态,存储器存储计算机关闭前的相关信息;启动计算机,操作系统根据存储器中存储的信息将计算机的状态恢复至关闭前的状态。本发明通过将计算机的关闭状态设置位S3休眠状态,当计算机启动时,无须经过BIOS系统的引导和操作系统的加载,达到了快速启动操作的目的。同时将操作系统在内存中的相关信息生成映像文件,存储于硬盘,当计算机意外掉电恢复后,BIOS将映像文件装载至内存,保证内存中存储的相应操作系统信息不会丢失。
文档编号G06F1/30GK1530796SQ0311958
公开日2004年9月22日 申请日期2003年3月12日 优先权日2003年3月12日
发明者胡建锋 申请人:联想(北京)有限公司