用于快速启动操作系统的方法和装置的制作方法

文档序号:6570307阅读:153来源:国知局
专利名称:用于快速启动操作系统的方法和装置的制作方法
用于快速启动操作系统的方法和装置
相关申请
此申请是2005年11月14日提交的美国申请No. 11/273,265的继 续,并要求其优选权。上述申请的整个教导通过引用结合在本文中。
背景技术
向计算机系统施加了电源之后,系统通常4丸行对硬件的一些初始 测试,然后继续从非易失性存储设备启动操作系统。启动涉及加载和 初始化系统组件,包括操作系统内核。初始化过程消耗相当长时间, 因而启动操作系统可能消耗几分钟。操作系统成功地启动之后,应用 程序能够在计算机系统上打开并执行。
近几年来,用在桌面应用中的标准的CPU和操作系统通常祐_扩 展到其它应用。例如,微软Windows)Q^操作系统可以用于控制当今 电视的更复杂的过程并用于控制应用特定的设备,比如X-射线系统或 者其它医疗器械。这种系统的用户习惯于迅速初启,因此不能容忍长 时间的系统启动,而长时间的系统启动正是桌面应用用户所遇到的问 题。
在这种应用中加速启动过程的方式依赖于在许多操作系统中可 用的休眠功能(hibemate fimction)。许多操作系统,比如微软的Windows 2K/XP/2003和Linux支持休眠功能,当用户不使用计算机系统时,休 眠功能减少了计算机系统的功耗。休眠功能可以使用高级配置与电源 接口 (ACPI)技术,该技术包括在基本输入输出系统(BIOS)内。ACPI 定义了不同的电源状态,包括休眠,待机和关机。
如果处于休眠状态,计算机系统的状态被保存,包括在计算机系 统电源关闭之前所有打开的文件和文档的状态。在向计算机系统恢复
供电之后,操作系统将计算机系统恢复到保存的状态,系统上打开的 文档和文件正如它们在休眠之前一样。因此,应用程序、文档和浏览 页在向系统恢复供电之后可立即使用。如没有休眠功能,启动操作系 统和重新打开应用和文档就要耗费几分钟。
有了休眠功能,在关机之前,系统存储了系统寄存器和随机存取 存储器的状态文件。在启动期间,系统读出存储的休眠文件并将镜像
(image)直接加栽到RAM和寄存器中,因而避免了冗长的初启过程。 在系统基于休眠文件恢复操作之后,该文件通常标为脏(dirty)的,因 此在休眠功能能够再次被依赖之前需要完全重启系统。为了克服该限 制,系统软件已^皮修改来将休眠文件维护在保护状态,从而使系统始 终能够迅速地重启到已定义的系统状态。

发明内容
CPU和相关的操作系统能够用于在单个硬件环境中的多于一个 应用程序中。例如,单个系统可以用作电视或桌上型计算机。根据本 发明的一个方面,操作系统的启动取决于系统运行的上下文,比如应 用,从而使初始化的系统处于该上下文处于的优选状态。为了向多个 上下文中的任一个提供快速启动,在非易失性存储器中存储了多个状 态文件,各个文件用于将系统恢复到相应的状态。在操作系统启动期 间,基于系统运行的上下文选择了状态文件。操作系统的加载以可以 将OS启动到选择的状态的方式来控制。例如,该状态可以基于启动
期间的用户输入来选取,比如通过按键或红外远程控制器,或者它可 以基于在先前的处理期间的用户输入。
根据本发明的另 一方面,通过在非易失性存储器中保存基本状态
文件,比如休眠文件,和与用于不同的系统状态的基本状态文件(base state file)相关的差异文件(difference file)而能够初始化到多个状态中 的 一个状态。通过导? 1 (steer)到差异文件和基本状态文件来将易失性 存储器置于初始状态,系统启动到不同的系统状态。
可以有多个可选取的差异丈件。在说明性实施例中,休眠重新开 始过程被修改为检查上下文相关的差异文件并在初始化期间将休眠 文件运行引导到指示的位置。在某些系统中,保护状态文件使其在系 统使用期间不被重写。然而,差异文件可以基于处理期间的系统状态。 在系统处理期间,差异文件可以-故替代,或者在处理期间,可以增加 文件。


从以下对本发明的优选实施例更具体的描述中,可以清楚本发明 的前述目标和其它目标、特征和优点,正如附图中所描述,其中相似 的引用符号是指不同视图的相同部分。这些附图不必按比例绘出,而 只在强调本发明的原则。
图1是本发明中实施的计算机系统的简化框图。
图2A是传统的休眠启动过程的简化流程图。 图2B是根据本发明对图2A的最后步骤作出修改的简化流程图。 图3是制造商在储存本发明使用的休眠和休眠差异文件时所釆用 过程的简化流程图。
具体实施例方式
以下^^对本发明优选实施例的描述。
图1描述了根据本发明的一些方面来修改的传统的计算机系统。 具有寄存器111的CPU 110处理来自非易失性只读存储器(ROM) 112 和易失性随机存取存储器(RAM) 114的数据。随机存取存储器为快速 运行做准备,但在关机期间其中存储的数据会丟失。即便在关机期间, 非易失性存储器116(比如硬盘)维护系统所需要的大量程序和数据。在 操作期间这些数据的一些部分按需转移到RAM 114。在实施本发明时 可以^皮依赖的其它形式的非易失性存储器包括磁带驱动器、CDROM 等等。为启动操作系统,CPU首先查看存储在ROM 112的基本输入输 出系统(BIOS)。 BIOS调用存储在硬盘中的指令来加载操作系统并初 始化操作系统和其它组件。包4舌从硬盘读出的操作系统的部分的这些 指令,写入易失性存储器114。当用户之后使用计算机系统时,加载 和处理比如电子邮件应用和word处理应用的应用程序时,易失性和 非易失性存储器均^皮修改。在系统运行期间的任一点,它的运行状态 是由RAM 114的内容、非易失性存储器的文件系统状态和CPU的寄 存器111中的数据确定的。当电源关闭时,存储在易失性RAM和寄 存器中的所有数据都丟失。
如上所述,比如那些使用高级配置与电源接口(ACPI)技术的一些 操作系统包括休眠功能。相关于基于Windows的系统介绍了该系统, 比如Windows ^@系统,但应该理解的是包括那些不具有休眠功能的 操作系统在内的任意数目操作系统的修改可以施加到系统。在关机之 前,借助于休眠功能,系统存储了运行状态,这是RAM 114和CPU 寄存器lll的内容。此后,在重启期间,通过存储的状态文件拷回到 RAM和寄存器而使系统能够从状态文件^皮存储的点继续运行,系统 能够避免初始化过程消耗的时间。
在进一步参考了图1的图2A中描述了典型的从休眠重新开始启 动过程。当系统重启时,BIOS系统从ROM 112读出并开始上电自检 (POST)。 BIOS之后在212加栽主引导记录(MBR) 118。在214,对 MBR的代码进行处理直到操作系统加载器120加载到RAM中。在 WindowsXP⑧系统中加载器软件被称为NTLDR。加载器120之后被处 理以在216加载操作系统124的基本内核122。还在218加载比如NTFS 的文件系统。在传统的启动过程中,操作系统加载器和基本内核将继 续由CPU处理从而完全初始化系统。然而,在220,具有休眠功能的 系统中,操作系统加载器查看休眠文件126,且如果数据有效,系统 依赖于在休眠文件中存储的状态来初始化RAM 114和CPU寄存器 lll的数据。尽管典型系统中休眠文件是动态的并取决于由用户处理产生的 件,修改了操作系统来保护休眠文件不被修改。同样,休眠(状态)文
件可以由在制造过程期间安装系统软件的OEM创建并存储,从而用 作从其可以始终被启动的安全的初始化点。作为根据本发明的另 一个 变型,多个休眠文件存储在非易失性存储器中从而将系统启动进入各 种上下文。例如,存储一个休眠文件从而使系统能够迅速地启动到电 视上下文且可以创建和存储其它休眠文件从而使系统能够快速启动 到桌面上下文中。比如X-射线机器控制器的应用上下文的其它应用上 下文也可以净皮包括进来。
为了更有效地存储和处理多个休眠文件,而不用储存多个完整的 文件,图1的系统包括了一个基本休眠文件126和多个差异文件128a、 128b和128c,各用于不同的系统上下文。基本休眠文件可以初启一个 上下文且该上下文与各个另外的上下文之间的差异之后存储在差异 文件中。在初始化期间,通知系统所期望的上下文且OS加栽器120 根据所期望的上下文来处理休眠和差异文件。上下文的选择可以完全 通过OEM来扩展。例如,可以在启动期间按一个功能键来确定上下 文,或系统可以响应于从远程控制器的红外控制输入。此外,上下文 可以在先前的启动期间通过软件设置,或上下文可以由 一组匹配条 件,即硬件或软件来选取。
为了使用差异文件实现本发明,图2A的步骤220能够修改为如 图2B所述。如果由用户或软件输入指示了定义的上下文,OS加栽器 在222查看适当的差异文件,这里称为hiberdiff.sys。在224,加载器 读出基本休眠文件,指定的hiberfil.sys。在226,加载器用差异文件 修改基本休眠文件从而创建用于初启系统的状态文件。在228,修改 的休眠文件写入RAM114和寄存器111。
使用修改的休眠文件,系统开始于所期望的状态,这种状态很可 能包括打开的应用程序,比如桌面应用中的word处理程序或医疗器
械的应用程序。
尽管休眠文件可以由用户创建和存储,在大多数应用中却是由制 造商根据系统软件来创建和存储休眠文件的。用于创建这种文件的一
种方法在图3中介绍了。在310,没有休眠文件时用传统的方式启动 系统。在312,创建者运行实用程序(utility)从而在hiberfil.sys中创建 基本状态文件。之后^f吏用存储的hiberfil.sys文件关闭和重启系统314。 然后系统^皮才喿作直到系统达到所期望的状态。例如,所期望的应用程 序可以净皮打开并^皮处理直到系统达到一种状态,在该状态中制造商计 划系统总是在特定上下文中开始。在318,创建者再次运行实用程序 来创建新的hiberfil.sys文件,从而将新文件与基本状态文件对比并在 之后创建hiberdif.sys文件。在312创建的基本状态文件和在318创建 的差异文件之后^皮存储在非易失性存储器,用于在启动期间来访问。 当然,在一台机器上创建的文件之后可以复制到任意数目的装置。
不同的初始状态可以取决于用户的访问权限。例如, 一种状态可 以用于保密的(classified)数据和程序,而其它的状态可以用于非保密数 据和程序。
操作系统安装(installation)在启动设备上创建了特定目录结构并 将该结构与组成OS的所有文件组装。该文件和目录结构通常是OS 为了在系统上施加电源时适当的启动到OS所必需的。本发明的系统 允许用以下方式来启动OS的这种安装,即提供不同的外观到启动过 程和所引起的启动的系统。然而,尽管系统基于所选取的启动状态看 起来不同,用于启动过程的OS文件仍然来自于单一OS安装。
在一个实施例中, 一旦系统启动到所捕获的状态中的一个,由于 系统运行和用户活动而发生的系统改变存储在易失性位置。也就是 说,当会话结束且系统关闭电源时,在通话期间所作出的改变会丟失。 并且当下次重启到所捕获的的状态,该系统同它在用户活动之前是完 全一样。
在另 一个实施例中,用户能够选择启动到多于一个所捕获的状
态。在此之后,用户活动如先前一样^皮緩存;然而,用户能够选择使 活动数据存储到永久性的、非易失性设备,从而扩泉了对于给定上下 文的状态文件。在这种情况下,用户现在关闭系统而活动数据没有丟 失。关于电源应用,用户选择了相同的状态来启动,不同的是之前作 出的改变现在集成到该状态中,而此系统看起来就正好如同上次关闭 电源时那样。
为了使它更清楚,提供了例子。这种情形就是用户启动word处 理状态。系统启动,并且word处理器立即就呈现给用户,word处理 器包含空白文档和并准备好接受输入。用户键入字母并选择保存文档 而不关闭word处理器中的文档。现在用户关闭系统电源。
在第一实施例中,如果用户施加电源并启动回word处理器状态, 系统正如之前一样,是空白文档且没有迹象显示用户曾键入字母。使 用另一个实施例,重启时,不仅word处理器可用,还可以用word处 理器打开之前键入的字母。
虽然参照其优选实施例已经具体的说明和介绍了本发明,本领域 的技术人员应该理解,其中在形式和细节上可以做出各种变化,而不 背离由所附权利要求书包含的本发明的范围。
权利要求
1.一种启动数据处理系统的方法,包括提供非易失性存储器中的多个状态文件,用于将所述系统恢复到根据多个处理应用的相应状态;及在所述系统的启动期间,基于所选取的应用来选取状态文件,所述系统运行于所述所选取的应用中。
2. 根据权利要求1所述的方法,其中状态文件存储为相关于基本状态文件的差异文件。
3. 根据权利要求2所述的方法,其中所述基本状态文件存储在所 述系统启动期间#皮访问的休眠文件中。
4. 根据权利要求1所述的方法,其中要被选取的应用包括桌面应 用和电^L应用。
5. 根据权利要求1所述的方法,还包括保护所述状态文件在处理 期间不^皮重写。
6. 根据权利要求1所述的方法,其中所述多个状态文件由系统软 件安装者提供。
7. 根据权利要求1所述的方法,其中状态文件基于在启动期间的 用户输入来选取。
8. 根据权利要求1所述的方法,其中状态文件基于先前处理期间 的用户输入来选取。
9. 一种数据处理系统,包括非易失性存储器中的多个4大态文件,用于将所述系统恢复到根据 多个处理应用的相应的状态;及启动基于所选取的应用来选取状态文件的软件,所述系统运行于 所述所选取的应用中。
10. 根据权利要求9所述的系统,其中状态文件存储为相关于基 本状态文件的差异文件。
11. 根据权利要求10所述的系统,其中所述基本状态文件存储在休眠文件中,所述休眠文件在启动所述系统期间4皮访问。
12. 根据权利要求9所述的系统,其中要^皮选取的应用包括桌面 应用和电4见应用。
13. 根据权利要求9所述的系统,另外其中,保护所述4^态文件 在处理期间不被重写。
14. 根据权利要求9所述的系统,其中所述多个状态文件由系统 软件安装者提供。
15. 根据权利要求9所述的系统,其中状态文件基于在启动期间 的用户输入来选取。
16. 根据权利要求9所述的系统,其中状态文件基于先前处理期 间的用户输入来选取。
17. —种初始化数椐处理系统的方法,包括在非易失性存储器中保存用于基本系统状态的基本状态文件; 在非易失性存储器中保存与用于不同的系统状态的与所述基本状态文件相关的差异文件;及通过将所述系统导引到所述差异文件和基本状态文件以将易失性存储器置于初始状态,从而启动到不同的系统状态。
18. 根据权利要求17所述的方法,其中所述状态文件存储在休眠 文件中,所述休眠文件在启动所述系统期间被j方问。
19. 根据权利要求17所述的方法,其中基于所选取的上下文导引 所述系统。
20. 根据权利要求17所述的方法,还包括保护所述状态文件在处 理期间不净皮重写。
21. 根据权利要求17所述的方法,其中所述基本状态文件和差异 由系统软件安装者提供。
22. 根据权利要求17所述的方法,其中所述系统基于所选取的应 用而启动到系统状态。
23. 根据权利要求17所述的方法,其中状态文件基于在启动期间 的用户输入来选取。
24. 根据权利要求17所述的方法,其中状态文件基于在先前处理 期间的用户输入来选取。
25. 根据权利要求17所述的方法,其中差异文件基于处理期间的 系统状态来存储。
26. 根据权利要求25所述的方法,其中差异文件在系统处理期间 被替代。
27. 根据权利要求25所述的方法,其中在系统处理期间增加差异 文件。
28. 根据权利要求17所述的方法,还包括保存多个可选取的差异 文件。
29. —种数据处理系统,包括存储在非易失性存储器中的基本状态文件,用于基本系统状态; 存储在非易失性存储器中的相关于所述基本状态文件的差异文件,用于不同的系统状态;及启动系统,用于通过将所迷系统导引到所述差异文件和所述基本状态文件以将易失性存储器置于初始状态,从而启动到所述不同的系统状态。
30. 根据权利要求29所述的系统,其中所述基本状态文件存储在 休眠文件中,所述休眠文件在启动所述系统期间4皮访问。
31. 根据权利要求29所述的系统,其中基于所选取的上下文导引 所述系统。
32. 根据权利要求29所述的系统,其中保护所述状态文件在处理 期间不被重写。
33. 根据权利要求29所述的系统,其中所述基本状态文件和差异 文件由系统软件安装者提供。
34. 根据权利要求29所述的系统,其中所述系统基于所选取的应 用启动到系统状态。
35. 根据权利要求29所述的系统,其中差异文件基于在启动期间 的用户输入来选取。
36. 根据权利要求29所述的系统,其中差异文件基于在先前处理 期间的用户输入来选取。
37. 根据权利要求29所述的系统,其中差异文件基于处理期间的 系统状态来存储。
38. 根据权利要求37所述的系统,其中差异文件在系统处理期间 被替代。
39. 根据权利要求37所述的系统,其中在系统处理期间增加差异 文件。
40. 根据权利要求29所述的系统,还包括存储在非易失性存储器 中的多个可选取的差异文件。
全文摘要
本发明提供了一种方法,使计算机系统适于快速启动到多个上下文中的任一个,比如桌面应用或电视应用的上下文。通过将写保护的休眠文件读到RAM和寄存器中,在一个上下文中,该系统可以启动到初始状态。借助于结合差异文件的休眠文件,系统可以初始化到其它上下文中。
文档编号G06F9/445GK101356501SQ200680050939
公开日2009年1月28日 申请日期2006年11月7日 优先权日2005年11月14日
发明者D·R·昂德伍德, M·F·爱德华兹 申请人:阿登斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1