实施于计算机系统中的方法及使用该方法的计算机系统的制作方法

文档序号:6509536阅读:129来源:国知局
专利名称:实施于计算机系统中的方法及使用该方法的计算机系统的制作方法
技术领域
本发明涉及一种计算机技术,尤其是涉及一种在一操作系统已加载且执行后让一辅助程序执行于计算机系统中而不须重新开机该计算机系统的方法及系统。
背景技术
在一典型个人计算机中,存在有一处理器、一基本输出入系统(BIOS)、一主存储器、及储存一操作系统与一或多个应用程序的一硬盘。该BIOS通常采用储存于一只读存储器(ROM)上的可执行指令的形式。在一正规启动处理期间,该处理器存取与执行BIOS中的指令,且在BIOS的指导下,该处理器实施该开机处理。该BIOS导致该处理器执行某些低阶设定功能,以准备该计算机正规操作。在该设定功能执行后,该BIOS导致该处理器加载与执行储存于该硬盘上的操作系统。通过这种步骤,该BIOS事实上自其本身转换控制至该操作系统。在该操作系统由该处理器加载与执行后,该启动处理完成,且该计算机准备好操作。
BIOS存在处的ROM(只读存储器)(此后称为BIOS ROM)一般很小。然而,除了这个小尺寸外,已观察到一或多个辅助程序可储存于BIOS ROM上。这些辅助程序可在该开机处理期间该硬盘上的操作系统之前甚至代替该操作系统执行,以提供特定想要的功能。辅助程序的一范例为于1999年11月24日申请的美国专利申请案第09/449,065号,标题为“自足式浏览器架构”中的自足式浏览器,其内容在此并入参照。辅助程序一般为自足式,意思是指其包含必须操作的所有元件。如此一来,其不需要该硬盘上的操作系统运作。这可能是很有利的,由于即使该硬盘失效或该操作系统出现错误,该辅助程序不会被影响,其仍可运作。因此,该辅助程序是不会被许多系统故障所影响的。
目前,辅助程序在转换控制至该操作系统前的启动处理期间执行。用以在一启动处理期间呼叫一辅助程序的一机构是在2003年3月14日申请的美国专利申请案第10/390,262号,标题为“用以在计算机开机处理期间直觉性呼叫一或多个辅助程序的机构”中,其内容在此并入参照。然而,一旦该操作系统回复控制,该辅助程序一般不再可被存取。这是指若一使用者希望在该操作系统已经加载与执行后执行一辅助程序,该使用者必须重新开机该计算机。这可能为不方便且耗时的处理。

发明内容
本发明所要解决的技术问题在于提供一种实施于计算机系统中的方法及使用该方法的计算机系统,以在一操作系统已加载且执行后让一辅助程序执行于计算机系统中而不须重新开机该计算机系统的装置。
为了实现上述目的,本发明提供了一种实施于计算机系统中的方法,该计算机系统具有一操作系统执行于其上,其特点在于,该方法包含储存定义该计算机系统的一目前状态的状态信息;中断该操作系统的执行;当该操作系统的执行中断时执行一程序模块;及回复该操作系统的执行,并根据该状态信息,复原该计算机系统至该目前状态。
上述方法,其特点在于,该计算机系统包含一内存,该方法还包含在一启动处理期间提供一指示给该操作系统,指示该内存的特定部分不可由该操作系统使用;且其中执行该程序模块的步骤包含加载该程序模块至该操作系统不可使用的内存的一特定部分。
上述方法,其特点在于,该计算机系统包含一内存,且其中该方法在中断该操作系统之前还包含传送一内存配置请求至该操作系统;从该操作系统接收一内存配置,该内存配置指示自由且可使用的内存的一特定部分;储存关于该内存配置的信息于该程序模块了解要存取的一位置中;存取关于该内存配置的信息;及使用由该内存配置指示的内存的特定部分,以储存该程序模块执行期间产生的数据。
上述方法,其特点在于,该程序模块不需要该操作系统的操作而具有其本身的操作系统元件组的一自足式程序模块。
上述方法,其特点在于,该程序模块包含有一网页浏览器、一媒体播放器、一调整程序及其组合的其中之一。
上述方法,其特点在于,该计算机系统包含一基本输出/入系统,而中断该操作系统的执行步骤包含命令该操作系统进入一省电模式,导致该操作系统中断执行;检测欲执行的一指令,将导致该操作系统的一个或多个硬件元件切断电源;及呼叫设于基本输出/入系统中将导致该程序模块执行的一模式,而设陷该指令使其不能执行,从而避免该一个或多个硬件元件切断电源。
本发明还提供一种计算机系统,其特点在于,包含用以导致一操作系统的执行中断的一机构;用以导致当该操作系统的执行中断时执行一程序模块的一机构;及用以导致该操作系统的执行回复的一机构。
上述计算机系统,其特点在于,还包含一操作系统,该操作系统包含用以接收一指令以进入一省电模式的一机构;用以储存定义该计算机的一目前状态的状态信息的一机构,该状态信息让该计算机系统的目前状态在一段时间后复原;用以中断该操作系统执行的一机构;及用以当该操作系统的执行回复时根据该状态信息复原该操作系统为该目前状态的一机构。
上述计算机系统,其特点在于,该计算机系统还包含一内存,该操作系统还包含有用以在一启动处理期间提供一指示给该操作系统的一机构,指示该内存的一特定部分不可由该操作系统使用;且该用以导致该程序模块在该操作系统执行中断时执行的机构包含用以导致该程序模块加载不可由该操作系统使用的内存的该特定部分中。
上述计算机系统,其特点在于,该计算机系统还包含一内存;用以传送一内存配置请求至该操作系统的一机构;用以从该操作系统接收一内存配置的一机构,该内存配置指示自由且可使用的内存的一特定部分;及用以传递关于该内存配置的信息至该程序模块,以让该程序模块在执行期间使用内存的特定部分的一机构。
上述计算机系统,其特点在于,关于该内存配置的信息在该操作系统的执行中断前传递至该程序模块;而用以传递关于该内存配置的信息的机构包含用以导致关于该内存配置的信息储存于该程序模块了解要存取的一位置中的一机构。
上述计算机系统,其特点在于,还包含该程序模块,该程序模块包含用以存取关于该内存配置的信息的一机构;及用以使用由该内存配置指示的内存的特定部分,以储存该程序模块执行期间所产生的数据的一机构。
上述计算机系统,其特点在于,还包含该程序模块,该程序模块为不需要该操作系统以操作而具有其本身的操作系统元件组的一自足式程序模块。
上述计算机系统,其特点在于,还包含该程序模块,该程序模块包含有一网页浏览器、一媒体播放器、一调谐器及其组合的其中之一。
上述计算机系统,其特点在于,用以导致该操作系统的执行中断的机构包含用以命令该操作系统进入导致该操作系统的执行中断的一省电模式的一机构;用以检测将导致该计算机系统的一个或多个元件关闭电源的欲执行的一指令的一机构;及用以设陷该指令导致其不能执行,从而避免该一个或多个硬件元件关闭电源的一机构。
上述计算机系统,其特点在于,还包含用以为导致该指令在相遇时陷补设定一陷阱的一机构。
根据本发明的一实施例,提供有用以让一辅助程序在一操作系统已加载与执行后执行于一计算机系统中而不须重新开机该计算机系统的一机构。在一实施例中,这通过中断该操作系统的执行、在该操作系统的执行中断时执行该辅助程序,接着回复该操作系统的执行而实现。在中断该操作系统的执行中,储存定义该计算机系统的一目前状态的状态信息。在回复该操作系统的执行中,该已储存状态信息用于复原该计算机系统至中断执行前的目前状态。由于这样,中断与回复该操作系统的执行的结果不应遗失任何状态信息或数据。因此,从该操作系统与执行于由该操作系统提供的环境中的应用程序(若有)的观点来看,该辅助程序的执行相对为透明的。
在一实施例中,定义该计算机系统的目前状态的状态信息储存于该计算机系统的一内存中。为了确保此与其它信息不会被该辅助程序在执行期间被覆盖或出现错误,该辅助程序在一实施例中加载与执行于该操作系统不可存取的内存的一部分中(如此一来,确保该操作系统无法储存任何信息于该内存部分中)。在执行期间,该辅助程序可能必须使用该内存的某些其它部分以储存执行期间产生的数据。在一实施例中,此内存的部分通过该操作系统在该操作系统的执行中断前配置。由于此内存部分通过该操作系统本身配置,确保该内存部分还未被该操作系统使用,因此为自由且有效的。因此,该辅助程序可将数据写至该已配置内存部分,而不须担心覆盖或错误任何预先存在的信息。
在此方式中,根据本发明的一实施例,一辅助程序执行于一操作系统已加载且执行后,而不须重新开机该计算机系统。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为本发明一实施例的实施方法之一高阶操作流程图图2为本发明一实施例的一计算机系统的方块图;图3为主存储器内存中已保留部分的示意图;图4为图3中内存的动态配置部分示意图。
其中,附图标记步骤104-中断操作系统的执行步骤108-执行辅助程序步骤112-回复操作系统的执行200-计算机系统,202-处理器206-总线,208-BIOS ROM210-BIOS,212-辅助程序模块214-储存媒体,216-大量储存模块218-操作系统,220-应用程序模块222-其它装置,224-音/视频信号元件226-主存储器,228-输入装置230-外围设备,240-模式242-APIA,302-保留部分,402-动态配置部分具体实施方式
图1为本发明一实施例中方法的高阶操作流程图。图1中的方法在一操作系统已经加载与执行后实施于一计算机系统中。该方法让一辅助程序执行,而不须重新开机该计算机系统。
如图1中所示,该方法开始于步骤104,中断该操作系统的执行。通过中断执行,指的是该计算机系统的处理器停止执行关于该操作系统的任何指令。在该操作系统的执行中断后,步骤108,执行该辅助程序模块。在此执行期间,使用者可能以使用任何输入/输出机构(键盘、鼠标、屏幕等)的任何方式与该辅助程序模块互动。在某些时候,该辅助程序模块的执行会暂停(如通过该使用者关闭该程序)。当此发生时,步骤112,回复该操作系统的执行。在图1中所示的整个处理期间,该计算机系统不被重新开机。
图1的方法在概念上相当直觉。然而,为了适当实施,必须考虑许多因素。其中一因素为状态维护。为了精致化,在中断该操作系统的执行前,该计算机系统具有一特定状态。此状态由该计算机系统中所有元件的状态加以定义,举例来说,包含该操作系统的状态、执行于该操作系统所提供的环境中的应用程序的状态、该计算机系统的硬件元件的状态等。该计算机系统知此状态不应在当该操作系统之执行中断时遗失(否则,中断该操作系统的执行与重新开机并无差别)。而是,状态应被保留,使得当该操作系统的执行回复时,该计算机系统会放回至当该操作系统的执行被中断时的相同状态。此状态维护确保中断该操作系统的执行结果不会有信息遗失,且让该辅助程序模块的执行以相对透明的方式执行。在一实施例中,为了保留该计算机系统的状态,在中断该操作系统的执行前储存一组定义该计算机系统的一目前状态的状态信息。接着,当回复该操作系统的执行时,该状态信息用以复原该计算机系统至该目前状态(即中断该操作系统的执行前该计算机系统具有的状态)。
实施上述方法中另一要考虑的因素是内存保留。当该操作系统执行时,且当执行于该操作系统提供的环境中的应用程序模块执行时,其程序代码会储存于内存中,且其写入信息至内存。同样地,在一实施例中,上述讨论的状态信息在中断该操作系统的执行前储存至内存。所有信息应维持完整。也就是用于储存此信息的所有内存部分应被保留(即不应被覆盖);否则,中断与回复该操作系统执行的结果将会遗失状态信息与其它数据。一般由于该辅助程序模块使用与该操作系统与应用程序模块使用相同的内存的因素,使得内存保留变得困难。除非该辅助程序模块以某种方式避免使用已经占用的内存部分,信息将会遗失。在此情况中,该辅助程序模块的执行必须仔细管理。
在一实施例中,为了确保内存保留,至少采取两个手段。首先,该辅助程序模块的程序代码加载与执行于该操作系统不可存取的内存的一部分中。举例来说,此内存部分可保留于启动时间。由于该操作系统无法存取此内存部分,确保该内存部分将不含有任何操作系统与应用程序信息。
在执行期间,该辅助程序模块可能必须使用内存的某些其它部分以储存在执行期间产生的数据。在一实施例中,作为确保内存保留的一第二手段,此内存部分在中断该操作系统执行前由该操作系统配置,且传递至该辅助程序。由于此内存部分由该操作系统本身配置,确保该内存部分未被该操作系统使用,因此为自由且有效的。因此,该辅助程序模块可将数据写入该内存部分,而不须考虑覆盖或错误任何预先存在的信息。根据此方式管理内存的使用,本发明的此实施例让该辅助程序模块在中断该操作系统执行时安全执行(即以内存保留方式)。
请参照图2,为本发明的一实施例可实施的计算机系统200的方块图。如图所示,计算机系统200包含一处理器202、BIOS ROM 208、主存储器226、储存媒体214、输入装置228、音/视频信号元件224、及外围设备230,都由一系统总线206耦合在一起。该BIOS ROM 208包含一BIOS 210及一或多个辅助程序模块212。该储存媒体214包含一大量储存模块216与零或多个其它装置222。该大量储存模块216包含一操作系统218、一个或多个正规应用程序模块220、及一特殊辅助程序调用系统(此后称为APIA)242。为了简化起见,只显示上述元件。如有需要,计算机系统200可包含额外元件。
处理器202负责用以执行指令以提供该计算机系统200的全面功能的元件。对于本发明的目的来说,处理器202可为由任何厂商制作可执行任何型态计算机指令的任何型态处理器。为了简化起见,只将一处理器202显示于图2中,应注意若想要,该计算机系统200可包含额外处理器。
主存储器226提供处理器202所需的内存以执行程序。尤其是,当指令执行时,处理器202使用主存储器226储存这些程序指令。除此之外,处理器202使用主存储器226储存于执行指令期间所产生的数据与其它信息。此外,主存储器226可用于储存先前所讨论的计算机系统状态信息。主存储器226的使用与管理将在稍后一节中详细讨论。
使用者接口该音/视频信号元件224与输入装置228让一使用者与该计算机系统200互动。举例来说,该音/视频信号元件224可包含一视频卡、一视频显示器、一声频卡、及一组喇叭。这些元件224让该计算机系统200提供信息至一使用者。该输入装置228让该使用者提供信息至该计算机系统200。举例来说,该输入装置228可包含一键盘、用以接收红外线信号(例如来自一远程控制器的信号)的一红外线接收器、及一光标控制装置,例如一鼠标、一轨迹球、一远程控制指针装置等。基本上,让该计算机系统200与一使用者互动的任何事物可包含为元件224与228。
BIOS ROM该BIOS ROM 208储存该计算机系统200的基本输出入系统(BIOS)(注BIOS ROM 208显示为一只读存储器(ROM)只为举例说明的目的;对于本发明的目的来说,BIOS ROM 208可采用任何计算机可读取媒体的形式)。在一实施例中,BIOS ROM 208另外包含一或多个辅助程序模块212(为了简化起见,只显示一辅助程序212)。
在一实施例中,BIOS 210采取可由处理器202执行的一组计算机指令的形式。BIOS 210包含用以导致处理器202实施一正规启动处理的指令。在此一处理期间,BIOS 210导致处理器202实施各种标准功能(如初使化计算机系统200的所有硬件元件、加载一操作系统218及转换控制至该操作系统218等)。此标准功能为已知,且在此将不详加说明。
在一实施例中,除了该标准功能之外,BIOS 210另导致处理器202执行一般不在一启动处理期间执行的某些其它功能。在一实施例中,这些功能包含保留主存储器226的一部分,及设定一指令陷阱。
为了精致化,当BIOS 210导致处理器202转换控制至一操作系统218时,BIOS 210提供扩充系统配置数据(ESCD)至该操作系统218。此ESCD为该操作系统218指示该计算机系统200的哪些元件可让该操作系统218使用。指定于该ESCD中的项目其中之一为主存储器226,且尤其该ESCD指定该为主存储器226的哪个部分可用于该操作系统218。在一实施例中,由BIOS 210提供给该操作系统218的ESCD指示主存储器226的一特定部分不可用于该操作系统218。
举例来说,若该主存储器226的内存地址范围自地址0至地址z,该ESCD可指定主存储器的部分自地址0至地址x,且自地址y至地址z可由该操作系统218使用。此暗示主存储器226的部分介于地址x与地址y之间不可用于该操作系统218(显示于图3中)。根据此方式提供ESCD中的适当信息,BIOS 210可指示该操作系统主存储器226的一特定部分(保留部分)302不可使用,且因此可导致该部分302被保留。在一实施例中,此保留的内存保留部分302由处理器202使用以执行辅助程序212,将在之后部分详加说明。
除了保留部分302之外,BIOS 210也导致处理器202为一特定切断电源指令设定一陷阱。通过放置此陷阱,当处理器202遇到该切断电源指令时,处理器202不会执行该指令。而是会触发一系统管理中断,导致处理器202执行一陷阱处理程序。在一实施例中,该陷阱处理模式240为BIOS 210的部分,且当被呼叫时,导致处理器202(1)执行某些低阶功能;及(2)执行该辅助程序模块212。此陷阱/模式机构用于一实施例中以于一操作系统218的执行已中断后执行该辅助程序212。
如先前所注意,BIOS ROM 208另外包含一或多个辅助程序212。如在此所使用者,辅助程序该词广泛指可执行于该计算机系统200之通用目的操作系统218所提供的一作业环境外的任何程序。一辅助程序212可提供任何型态的所需功能。辅助程序功能的范例包含但不限于浏览器功能、媒体播放器功能(如CD播放器、DVD播放器、MP3播放器等)、及调谐器(如TV、收音机等等)功能。在一实施例中,一辅助程序212为一自足式程序,指的是其包含其必须操作的所有元件。举例来说,一辅助程序212可包含其本身的操作系统核心与装置驱动程序。如此一来,一辅助程序212不需要该计算机系统200的通用目的操作系统218以运作。
对于例示目的来说,辅助程序212显示于图2中位于该BIOS ROM 208上。然而,应注意此并非为必要条件。若需要,辅助程序212可位于一分离储存媒体(未显示)上。
储存媒体该储存媒体214为该计算机系统200提供非挥发性储存部分。在一实施例中,储存媒体214包含一大量储存磁性硬盘(大量储存模块)216,及一个或多个其它装置222。举例来说,该其它装置222可包含一软盘、一CD-ROM装置、一DVD装置、一CD-RW装置等等。装置222让该计算机系统200读取自与写入至硬盘(大量储存模块)216硬盘外之储存媒体。在一实施例中,所有储存媒体214通过一共同控制器接口加以存取,例如一IDE接口(未显示)。在所示实施例中,储存媒体214显示为装置。然而,应注意储存媒体214必须要为装置,而可采取其它形式,举例来说,单芯片磁盘模块、闪存等。所有可能的形式都在本发明的范畴中。
如图所示,大量储存模块216包含多个程序,包含一操作系统218、一个或多个应用程序220、及一APIA 242。该操作系统218在一正规启动处理期间加载与执行的通用目的操作系统,以为该计算机系统200提供一全面作业环境。该应用程序模块220及该APIA 242执行于该操作系统218所提供之环境中。为了本发明的目的,操作系统218可为任何操作系统,包含但不限于Windows XP。
在一实施例中,操作系统218具有一中断功能。也就是说,该操作系统218可将其本身与该计算机系统200放入所有指令执行都中断的一中断模式中。一般会呼叫此功能以节省电力。
当操作系统218将该计算机系统200放入中断模式中时,其首先收集定义该计算机系统200的一目前状态的所有状态信息。举例来说,此状态信息可包含关于该操作系统218的状态信息、关于执行于该操作系统218所提供的环境中的任何应用程序模块220、242的状态信息、关于该计算机系统200的硬件元件的状态信息等。在此状态信息收集完后,该操作系统218会储存该信息至主存储器226中(或若需要,储存在硬盘216中,旦储存该状态信息至主存储器226中使该操作系统218的回复执行处理较快)。一旦完成,该操作系统218准备好中断执行。作为最后一个步骤,该操作系统218提供一电源切断指令至该处理器202(将在下方另加讨论,此为设陷的电源切断指令)。当(且若)执行时,此电源切断指令会导致该处理器202写入一组信息至该计算机系统200的一系统管理端口(未显示)。当此信息写入至该系统管理端口时,该计算机系统200的几乎所有元件(除了主存储器226之外)会切断电源。如此一来,该操作系统218将该计算机系统200放入没有指令由该处理器202执行的省电中断模式中。
该计算机系统200接着等待指示正规操作应回复的某些硬件驱动事件(如使用者按压该键盘上的按键、敲击鼠标按钮等)。在响应此事件中,该计算机系统200中的硬件导至处理器202回复该操作系统218的执行。在回复执行后,该操作系统218使用该主存储器226中储存的状态信息复原该计算机系统200至中断执行前其具有的状态。如此一来,该操作系统218使其出现为如同执行从未被中断般。
在一实施例中,开拓(部分)该操作系统218的此中断功能,让该辅助程序212在该操作系统218已加载且执行后执行,而不须重新开机该计算机系统200。开拓此功能的方法将在稍后一节中详加解释。
如先前所注意,大量储存模块216还包含APIA 242。APIA 242是可在该操作系统218所提供的作业环境中呼叫与执行的一应用程序。也就是说,在该操作系统218已被加载与执行后,APIA 242出现于该操作系统接口中如同一正规可执行程序。在一实施例中,APIA 242由一使用者呼叫以导致该辅助程序模块212执行的应用程序。当执行时,APIA 242导致该操作系统218的执行中断,接着导致该辅助程序模块212执行(将在稍后一节中详加解释)。在一实施例中,APIA 242执行几个功能。
APIA 242执行的功能之一为自该操作系统218获得一内存配置。自先前的讨论回想,该辅助程序模块212可能必须使用主存储器226的一部分以储存该辅助程序模块212执行期间所产生的数据。该辅助程序模块212无法直接要求该操作系统218配置此部分的主存储器226给它,由于在该辅助程序模块212执行时,该操作系统218的执行将已经被中断。为了避免此问题,APIA 242代表该辅助程序模块212自该操作系统218获得该内存配置,且接着传递关于该内存配置的信息至该辅助程序模块212。此信息可以各种方式传递至该辅助程序模块212,举例来说,包含写入该信息至该主存储器226的保留部分302(图3)的一个或多个特定位置、写入该信息至一个或多个特定硬件缓存器等。当该辅助程序模块212执行时,其查看该特定位置或缓存器以获得该内存配置信息。一旦该辅助程序模块212具有该内存配置信息,其了解主存储器226的哪个部分使用以储存其执行产生的数据。由于此内存部分由该操作系统218本身配置,确保该内存部分还未由该操作系统218使用,且因此为自由且有效的。因此,该辅助程序模块212可写入数据至该内存部分,而不须担心覆盖或错误任何预先存在的信息。如此一来,APIA 242以一内存保留的方式促进辅助程序模块212的执行。
除了为该辅助程序模块212获得一内存配置之外,APIA 242也导致该操作系统218进入中断模式。在一实施例中,APIA 242通过提出一中断指令至该操作系统218而实现。在响应至此指令中,该操作系统218初始化将其本身与该计算机系统200放入中断模式中的处理。此导致该操作系统218的执行中断,且导致该辅助程序模块212执行。如打印机、扫描仪、网络卡等。这些外围230可通过各种端口与接口处理与该计算机系统200的接口,例如并列端口、串行端口、USB端口、SCSI接口等。一般来说,可处理与该计算机系统200的接口的任何装置可包含为该外围230其中之一。
样本操作已经揭示计算机系统200的元件。参照各个图,现在将说明根据本发明一实施例的计算机系统200的一样本操作。
在一实施例中,操作开始于当一使用者开启该计算机系统200的电源或重新开机时。在开启电源或重新开机后,该处理器202(图2)存取该BIOS 210,并开始执行BIOS 210中的指令。在该BIOS 210的控制下,处理器202执行某些标准启动功能(如初使化各种元件,以准备正规操作)。除此之外,BIOS 210导致该处理器202为一特定电源切断指令设定一陷阱。通过放置此陷阱,当处理器202接着于正规操作期间遇到该特定电源切断指令时,该处理器202将不会执行该指令。而将触发一系统管理中断,将导致处理器202开始执行该BIOS210的陷阱处理模式240。
在该陷阱设定后,BIOS 210导致处理器202执行该辅助程序模块212或加载与执行该操作系统218。为了举例说明,将在本讨论中假设处理器202进行加载与执行该操作系统218。然而,在控制自该BIOS 210转换至该操作系统218之前,该BIOS 210提供一组ESCD至该操作系统218。此ESCD的部分指示该主存储器226的某些部分可让该操作系统218使用。在一实施例中,该ESCD指示该主存储器226的一特定部分(举例来说,图3的部分302)不可由该操作系统218使用。通过在该ESCD中指定此,该BIOS 210导致该操作系统218保留该内存部分302以供其它使用。在一实施例中,该保留部分302足够保存该辅助程序模块212。在提供该ESCD后,该BIOS 210自其本身转换控制至该操作系统218。
在控制转换后,该操作系统218导致该处理器202执行所有必要工作,以准备该计算机系统200的正规操作。在所有准备工作执行前(包含使该应用程序220与APIA 242出现于该操作系统接口中如同可被呼叫的程序),该计算机系统200准备好正规操作。在正规操作期间,可执行任何想要的操作,包含任何应用程序220与/或APIA 242的执行。
在某些时候,一使用者可能呼叫APIA 242,借此指示该使用者希望执行该辅助程序模块212。当该APIA 242被呼叫时,其执行几个功能。首先,其传送一内存配置请求至该操作系统218,以请求目前自由的主存储器226的一部分。此内存部分欲由该辅助程序模块212在该辅助程序模块212执行期间使用,以储存执行产生的数据。该操作系统218通过配置一自由内存部分响应此请求(举例来说,图4的内存部分402)至该APIA 242。在接收此内存配置后,该APIA 242传递关于该内存配置的信息至该辅助程序模块212。在一实施例中,该APIA 242通过写入该信息至该保留部分302(图3)的一个或多个特定位置,或通过写入该信息至一个或多个特定硬件暂存器中实现。
在获得该内存配置,且关于该内存配置的信息传递至该辅助程序模块212后,该APIA 242传送一中断指令至该操作系统218,以导致该操作系统218中断执行。在响应至此指令中,该操作系统218收集定义该计算机系统200的一目前状态的所有状态信息。举例来说,此状态信息可包含关于该操作系统218的状态信息、关于执行于该操作系统218所提供的环境中的任何应用程序220、242的状态信息、关于该计算机系统200的硬件元件的状态信息等。在收集此状态信息后,该操作系统218储存该信息至主存储器226中。一旦完成,该操作系统218准备好中断执行。
作为最后一个步骤,该操作系统218提供一电源切断指令至该处理器202。此指令欲导致该计算机系统200的几乎所有硬件元件(除了该主存储器226之外)切断电源。然而,为此电源切断指令已设定一陷阱,因此,不会执行此指令,该处理器202跳至该陷阱处理模式240中,并开始执行其中包含的指令。如此一来,该计算机系统200实际上不会切断电源。通过呼叫该操作系统218的中断功能,且接着根据此方式设陷该电源切断指令,可能中断该操作系统218的执行而不会中断该计算机系统200。由于该计算机系统200不中断,操作可继续,即使该操作系统218的执行中断也相同。
在该陷阱处理模式240的控制下,该处理器202执行几个功能。首先,该处理器202重新初始化该计算机系统200的至少某些硬件元件,以准备好操作。此处至少一例外为该主存储器226,其不会被重新初始化。其后,该陷阱处理模式240导致该处理器202执行辅助程序模块212。首先,该陷阱处理模式240导致该处理器202自该BIOS ROM 208加载该辅助程序模块212至主存储器226的保留部分302(图3)中(在一实施例中,该辅助程序模块212编译以执行于该主存储器226的此保留部分302中)。接着,该陷阱处理模式240导致该处理器202执行该保留部分302中的辅助程序模块212。控制因此自该陷阱处理模式240转换至该辅助程序模块212。
当该辅助程序模块212执行时,首先决定其可安全使用哪些内存部分,以储存于执行期间产生的数据。该辅助程序模块212通过存取由该APIA 242传递关于该内存动态配置部分402(图4)的信息做成此决定。在一实施例中,该辅助程序模块212通过存取该内存保留部分302中的一个或多个特定位置,或一个或多个特定硬件缓存器而实现(在一实施例中,该辅助程序模块212程序设计具有到哪个位置寻找此信息的知识)。在获得该内存配置信息后,该辅助程序模块212了解内存的哪些部分(图4的动态配置部分402)其可使用以储存执行产生的数据。具备此知识,该辅助程序模块212进行完整执行。
如先前所述,在一实施例中,该辅助程序模块212包含其必须操作的所有元件(包含某些操作系统元件与装置驱动程序)的一自足式程序。因此,在执行期间,该辅助程序模块212可使用任何计算机系统元件,且一使用者可使用任何输出装置(音/视频信号)224、输入装置228与该辅助程序模块212互动。当该辅助程序模块212执行时,其写入于执行期间产生的数据(若有)至先前由该操作系统218配置的内存动态配置部分402。由于该辅助程序模块212只写入至此内存的动态配置部分402,且由于该辅助程序模块212本身自该主存储器226的保留部分302加载与执行,确保该辅助程序模块212的执行将不会打扰该主存储器226的任何已有内容。因此,该辅助程序模块212以一内存保留方式执行。只要使用者需要,该辅助程序模块212便可执行。
在某些时候,该使用者可能决定终止该辅助程序模块212的执行。当发生此情况时,控制转换回该BIOS 210的陷阱处理模式240。该陷阱处理模式240在其后导致该处理器202回复该操作系统218的执行。在回复执行后,该操作系统218存取该主存储器226,且从此获得先前储存的状态信息。使用此状态信息,该操作系统218将该计算机系统200恢复至中断该操作系统218的执行前其具有的状态。在该计算机系统200恢复后,该APIA 242终止执行。此过程在某些时候导致该操作系统218解除配置先前配置给APIA 242的内存动态配置部分402。该计算机系统200因此放入如同该辅助程序模块212未曾执行过的相同状态中。
根据上述方式,一辅助程序可在一操作系统已加载且执行后执行于一计算机系统中,而不须重新开机该计算机系统。
在此时,应注意虽然本发明已参照特定实施例加以说明,不应视为如此受限。熟悉该项记忆人士在不超出本发明精神外对此揭示可做出各种修改。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种实施于计算机系统中的方法,该计算机系统具有一操作系统执行于其上,其特征在于,该方法包含储存定义该计算机系统的一目前状态的状态信息;中断该操作系统的执行;当该操作系统的执行中断时执行一程序模块;及回复该操作系统的执行,并根据该状态信息,复原该计算机系统至该目前状态。
2.根据权利要求1所述的方法,其特征在于,该计算机系统包含一内存,该方法还包含在一启动处理期间提供一指示给该操作系统,指示该内存的特定部分不可由该操作系统使用;且其中执行该程序模块的步骤包含加载该程序模块至该操作系统不可使用的内存的一特定部分。
3.根据权利要求1所述的方法,其特征在于,该计算机系统包含一内存,且其中该方法在中断该操作系统之前还包含传送一内存配置请求至该操作系统;从该操作系统接收一内存配置,该内存配置指示自由且可使用的内存的一特定部分;储存关于该内存配置的信息于该程序模块了解要存取的一位置中;存取关于该内存配置的信息;及使用由该内存配置指示的内存的特定部分,以储存该程序模块执行期间产生的数据。
4.根据权利要求1所述的方法,其特征在于,该程序模块不需要该操作系统的操作而具有其本身的操作系统元件组的一自足式程序模块。
5.根据权利要求1所述的方法,其特征在于,该程序模块包含有一网页浏览器、一媒体播放器、一调整程序及其组合的其中之一。
6.根据权利要求1所述的方法,其特征在于,该计算机系统包含一基本输出/入系统,而中断该操作系统的执行步骤包含命令该操作系统进入一省电模式,导致该操作系统中断执行;检测欲执行的一指令,将导致该操作系统的一个或多个硬件元件切断电源;及呼叫设于基本输出/入系统中将导致该程序模块执行的一模式,而设陷该指令使其不能执行,从而避免该一个或多个硬件元件切断电源。
7.一种计算机系统,其特征在于,包含用以导致一操作系统的执行中断的一机构;用以导致当该操作系统的执行中断时执行一程序模块的一机构;及用以导致该操作系统的执行回复的一机构。
8.根据权利要求7所述的计算机系统,其特征在于,还包含一操作系统,该操作系统包含用以接收一指令以进入一省电模式的一机构;用以储存定义该计算机的一目前状态的状态信息的一机构,该状态信息让该计算机系统的目前状态在一段时间后复原;用以中断该操作系统执行的一机构;及用以当该操作系统的执行回复时根据该状态信息复原该操作系统为该目前状态的一机构。
9.根据权利要求7所述的计算机系统,其特征在于,该计算机系统还包含一内存,该操作系统还包含有用以在一启动处理期间提供一指示给该操作系统的一机构,指示该内存的一特定部分不可由该操作系统使用;且该用以导致该程序模块在该操作系统执行中断时执行的机构包含用以导致该程序模块加载不可由该操作系统使用的内存的该特定部分中。
10.根据权利要求7所述的计算机系统,其特征在于,该计算机系统还包含一内存;用以传送一内存配置请求至该操作系统的一机构;用以从该操作系统接收一内存配置的一机构,该内存配置指示自由且可使用的内存的一特定部分;及用以传递关于该内存配置的信息至该程序模块,以让该程序模块在执行期间使用内存的特定部分的一机构。
11.根据权利要求10所述的计算机系统,其特征在于,关于该内存配置的信息在该操作系统的执行中断前传递至该程序模块;而用以传递关于该内存配置的信息的机构包含用以导致关于该内存配置的信息储存于该程序模块了解要存取的一位置中的一机构。
12.根据权利要求11所述的计算机系统,其特征在于,还包含该程序模块,该程序模块包含用以存取关于该内存配置的信息的一机构;及用以使用由该内存配置指示的内存的特定部分,以储存该程序模块执行期间所产生的数据的一机构。
13.根据权利要求7所述的计算机系统,其特征在于,还包含该程序模块,该程序模块为不需要该操作系统以操作而具有其本身的操作系统元件组的一自足式程序模块。
14.根据权利要求7所述的计算机系统,其特征在于,还包含该程序模块,该程序模块包含有一网页浏览器、一媒体播放器、一调谐器及其组合的其中之一。
15.根据权利要求7所述的计算机系统,其特征在于,用以导致该操作系统的执行中断的机构包含用以命令该操作系统进入导致该操作系统的执行中断的一省电模式的一机构;用以检测将导致该计算机系统的一个或多个元件关闭电源的欲执行的一指令的一机构;及用以设陷该指令导致其不能执行,从而避免该一个或多个硬件元件关闭电源的一机构。
16.根据权利要求15所述的计算机系统,其特征在于,还包含用以为导致该指令在相遇时陷补设定一陷阱的一机构。
全文摘要
本发明涉及一种实施于计算机系统中的方法,该计算机系统具有操作系统执行于其上,该方法包含储存定义该计算机系统的目前状态的状态信息;中断该操作系统的执行;当该操作系统的执行中断时执行程序模块;及回复该操作系统的执行,并根据该状态信息,复原该计算机系统至该目前状态。本发明通过将辅助程序执行于操作系统加载且执行,而不须重新开机该计算机系统。
文档编号G06F9/48GK1629811SQ20051000058
公开日2005年6月22日 申请日期2005年1月13日 优先权日2004年6月30日
发明者张荣文 申请人:雅劲科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1