控制方法、控制装置以及计算机系统的制作方法

文档序号:6426655阅读:78来源:国知局
专利名称:控制方法、控制装置以及计算机系统的制作方法
技术领域
本发明涉及应用于计算机的控制方法、控制装置和计算机系统。具体地,本发明涉及用于具有两个操作系统的计算机系统、用于该计算机系统中的控制装置、以及相应的控制方法。
背景技术
随着科技的发展,例如个人计算机、便携式计算机、平板式计算机之类的计算装置被广泛应用,而用户对于计算机装置的要求也随之向着多样化的趋势发展。例如,当进行频繁的数据处理时,希望计算机能够具有较强的处理能力,以进行高速运算。另一方面,当不需要进行频繁操作,并且希望计算机能够长时间待机时,则需要计算机以相对节能的方式运行。
·
为了满足用户的不同需求,已经提出了具有两个特性相互的不同的操作系统的计算机。例如,一个操作系统可以是具有较强处理能力的Windows 7操作系统,而另一操作系统可以是处理能力相对较差,但运行时需要的资源较少、且耗电量较少的Android 操作系统。然而,当计算机在两个操作系统之间进行切换时,由于需要使得当前运行的操作系统进入休眠状态,将第二操作系统的系统文件从存储器中的加载到系统内存中,然后运行第二操作系统。这导致操作系统间的切换花费的时间长,并且还有可能需要对硬盘进行不同的分区处理。

发明内容
本发明实施例的目的在于提供一种具有两个操作系统的计算机系统、用于该计算机系统中的控制装置、以及相应的控制方法,以解决上述问题。本发明一个实施例提供了一种控制方法,应用于计算机,其中所述计算机包括包含划分为两个储存区域的系统内存,其中,两个存储区域分别是第一存储区域和第二存储区域。所述控制方法包括将第一操作系统加载到第一存储区域;运行第一操作系统;通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到第二存储区域。本发明的另一实施例提供了一种控制装置,应用于计算机系统,其中计算机系统包括包含划分为两个储存区域的系统内存,其中,两个存储区域分别是第一存储区域和第二存储区域。所述控制装置包括系统加载单元,配置来将第一操作系统加载到第一存储区域;系统运行单元,配置来运行第一操作系统;映像数据加载单元,包括内存访问驱动,配置来通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到第二存储区域。本发明的另一实施例提供了一种计算机系统,包括系统内存,包含第一存储区域和第二存储区域;映像数据存储单元,配置来存储内存映像数据;基本输入输出系统,包括系统加载模块,配置来将第一操作系统加载到第一存储区域;以及处理单元,包括系统运行模块,配置来运行第一操作系统,以及映像数据加载模块,系统内存访问驱动,配置来通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将存储在映像数据存储单元中的第二操作系统的内存映像数据加载到第二存储区域。通过上述本发明实施例提供的方案,能够使得计算机有效地在两个操作系统之间进行切换,显著节省了操作系统间的切换所花费的时间。此外由于在本发明的上述实施例中,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载,从而简化了安装和/或升级流程的复杂性。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单地介绍。下面描述中的附图仅仅是本发明的示例性实施例。图I是描述了根据本发明的一个实施例的控制方法的流程图。 图2是描述了根据本发明的另一个实施例的控制方法的流程图。图3是描述了根据本发明的另一个实施例的控制方法的流程图。图4是示出了根据本发明的一个实施例的控制装置的示范性结构框图。图5是示出了根据本发明的另一个实施例的控制装置的示范性结构框图。图6是示出根据本发明的一个实施例的计算机的示范性结构框图。图7是示出根据本发明的一个实施例的计算机的示范性结构框图。
具体实施例方式在下文中,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,具有基本上相同步骤和元素用相同的附图标记来表示,且对这些步骤和元素的重复解释将被省略。在本发明的以下实施例中,计算机系统的具体形式包括但不限于个人计算机、便携式计算机、平板式计算机、智能手机、个人数字助理(PDA)等等。图I是描述了根据本发明的一个实施例的控制方法100的流程图。下面,将图I来描述根据本发明的一个实施例的控制方法。图I中所示的控制方法100可应用于计算机系统。所述计算机系统包括系统内存,并且该系统内存被划分为第一存储区域和第二存储区域。如图I所示,步骤SlOl中,将第一操作系统加载到系统内存的第一存储区域。然后在步骤S102中,运行第一操作系统。根据本发明的一个示例可通过基本输入输出系统(BIOS)将第一操作系统加载到系统内存的第一存储区域,并且在加载第一操作系统后,通过中央处理器(CPU)运行第一操作系统。当完成第一操作系统的加载并开始运行第一操作系统时,在步骤S103中,通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。系统内存访问驱动可直接对系统内存的物理地址进行访问。根据本发明的一个示例,在运行第一操作系统期间,CPU可根据第一操作系统的指令,启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。可以在完成第一操作系统的加载并开始运行第一操作系统后,立即加载第二操作系统的内存映像数据。可替换地,也可在开始运行第一操作系统后的任意时刻加载第二操作系统的内存映像数据。根据本发明的一个示例,当不启动系统内存访问驱动时,第二存储区域对于第一操作系统不可见。例如,当在步骤SlOl中,通过BIOS将第一操作系统加载到系统内存的第一存储区域中时,BIOS可向第一操作系统通知系统内存的物理地址范围为第一存储区域的物理地址范围,从而使得第一操作系统在不启动系统内存访问驱动时,只能对第一存储区域的系统内存进行访问。而系统内存访问驱动可被设置为绕过系统默认的内存控制机制,直接对指定地址的系统内存进行操作。例如,可直接将第二存储区域的物理地址范围保存在系统内存访问驱动中,从而系统内存访问驱动确定当其被第一操作系统调用时,第一操作系统可通过系统内存访问驱动对第二存储区域进行操作 。可替换地,可当当被第一操作系统调用时,系统内存访问驱动可从BIOS获取第二存储区域的物理地址范围。从而,通过第一操作系统启动系统内存访问驱动,可通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在一时刻,获取当前时刻的第二操作系统所使用的系统内存中的内存数据,并将所获取的当前第二操作系统所使用的系统内存中的内存数据存储在计算机系统的例如硬盘之类的存储单元中,作为第二操作系统的内存映像数据。通过本实施例中的控制方法,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,使得计算机系统在两个操作系统之间进行切换时,能够直接通过该内存映像数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。图2是描述了根据本发明的另一个实施例的控制方法200的流程图。下面,将图2来描述根据本发明的另一个实施例的控制方法。在本实施例中,控制方法200可用于包括包含划分为两个储存区域的系统内存的计算机。具体地,系统内存的两个存储区域分别为第一存储区域和第二存储区域。如图2所示,控制方法200的步骤S201至步骤S203与图I中的控制方法100的步骤SlOl至步骤S103类似。在步骤S201中,将第一操作系统加载到系统内存的第一存储区域。然后在步骤S202中,运行第一操作系统。当完成第一操作系统的加载并开始运行第一操作系统时,在步骤S203中,通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。如上所述,根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在一时刻,获取当前时刻的第二操作系统所使用的系统内存中的内存数据,并将所获取的当前第二操作系统所使用的系统内存中的内存数据存储在计算机系统的例如硬盘之类的存储单元中,作为第二操作系统的内存映像数据。此外,控制方法200还包括,如图2所示,在步骤S204中,接收第二系统切换命令。根据本发明的一个示例,可由用户根据使用需要,输入第二系统切换命令。可替换地,根据本发明的另一个示例,在所述计算机系统为便携式计算机的情况下,可预先设定该便携式计算机使用第一操作系统运行的第一状态,和使用第二操作系统运行的第二状态,并且当检测到该便携式计算机从第一状态转换到第二状态时,计算机系统自动生成第二系统切换命令,并通过计算机系统中相应的部件接收该第二系统切换命令。例如,当便携式计算机从正常的使用物理键盘的状态变为不使用物理键盘的平板式计算机的状态(例如通过旋转或翻转显示屏)时,可生成第二系统切换命令。在S205中,根据第二系统切换命令,使第一操作系统休眠。然后在步骤S206中,根据第二系统切换命令,恢复预先存储的第二操作系统的CPU状态数据。根据本发明的一个示例,当接收到第二系统切换命令时,可通过BIOS使得第一操作系统休眠,并恢复预先存储的第二操作系统的CPU状态数据。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在获取第二操作系统所使用的系统内存中的内存数据的时刻,还获取在当前时刻的CPU状态数据,并将该CPU状态数据存储在例如ROM-BIOS中,以便于通过BIOS恢复预先存储的第二操作系统的CPU状态数据。也就是说,在本实施例中,预先存储的第二操作系统的CPU状态数据和预先存储的第二操作系统的内存映像数据,是在同一时刻获得的。可替换地,也可 将第二操作系统的CPU状态数据存储到其他非易失性存储器中。在步骤S207中,通过第二操作系统的内存映像数据和第二操作系统的CPU状态数据,恢复第二操作系统。并且在步骤S208中运行第二操作系统。根据本发明的一个示例,可通过BIOS根据第二操作系统的内存映像数据和第二操作系统的CPU状态数据,恢复第二操作系统,并且在恢复第二操作系统后,通过中央处理器(CPU)运行第二操作系统。根据本发明的一个示例,系统内存中的第一存储区域对于第二操作系统不可见。例如,当在步骤S207中,通过BI OS恢复第二操作系统时,BI OS可向第二操作系统通知系统内存的物理地址范围为第二存储区域的物理地址范围,从而使得第二操作系统只能对第二存储区域的系统内存进行访问。通过本实施例中的控制方法,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,并且在两个操作系统之间进行切换时,能够直接通过该加载的第二操作系统的内存映像数据和预先存储的第二操作系统的CPU状态数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。根据本发明的另一示例,当接收到第二操作系统切换命令时,可根据第二系统切换命令,存储第一操作系统的CPU状态数据。根据本发明的一个实施例,与第二操作系统的CPU状态数据类似地,可将第一操作系统的CPU状态数据存储在例如ROM-BIOS之类的非易失性存储器中。此外,由于系统内存未被断电,因此系统内存会在接收到第二操作系统切换命令时,保持第一存储区域中的第一操作系统的内存数据。从而在运行第二操作系统期间,当接收到第一操作系统切换命令时,能够快速从第二操作系统切换到第一操作系统。以下将参照图3对从第二操作系统切换到第一操作系统的控制方法进行详细描述。图3中示出了在从第一操作系统切换到第二操作系统后,在运行第二操作系统期间,当接收到第一操作系统切换命令时,从第二操作系统切换到第一操作系统的控制方法300的流程图。如图3所示,在步骤S301中,接收第一系统切换命令。根据本发明的一个示例,可由用户根据使用需要,输入第一系统切换命令。可替换地,根据本发明的另一个示例,在所述计算机系统为便携式计算机的情况下,可预先设定该便携式计算机使用第一操作系统运行的第一状态,和使用第二操作系统运行的第二状态,并且当检测到该便携式计算机从第二状态转换到第一状态时,计算机系统自动生成第一系统切换命令,并通过计算机系统中相应的部件接收该第一系统切换命令。例如,当便携式计算机从不使用物理键盘的平板式计算机的状态变为正常的使用物理键盘的状态(例如通过旋转或翻转显示屏)时,可生成第一系统切换命令。在步骤S302中,根据第一系统切换命令,使得第二操作系统休眠,然后在步骤S303中,在根据第一系统切换命令,恢复预先存储的第一操作系统的CPU状态数据。根据本发明的一个示例,当接收到第一系统切换命令时,可通过BIOS使得第二操作系统休眠,并恢复预先存储的第一操作系统的CPU状态数据。如上所述,该第一操作系统的CPU状态数据可以是之前运行第一操作时在接收到第二操作系统切换命令的情况下,根据第二系统切换命令存储的。在步骤S304中,可通过第一操作系统的内存数据和第一操作系统的CPU状态数据,恢复并运行第一操作系统。根据本发明的一个示例,可通过BIOS根据在接收到第二 操作系统切换命令时,保持第一存储区域中的第一操作系统的内存数据和第一操作系统的(PU状态数据,恢复第一操作系统,并且在恢复第一操作系统后,通过中央处理器(CPU)运行第一操作系统。如上所述当不启动系统内存访问驱动时,第二存储区域对于第一操作系统不可见。例如,当在步骤S304中,通过BIOS恢复第一操作系统时,BIOS可向第一操作系统通知系统内存的物理地址范围为第一存储区域的物理地址范围,从而使得第一操作系统只能对第一存储区域的系统内存进行访问。可在图2中所示的控制方法200之后,执行控制方法300。通过本实施例中的控制方法,能够通过当接收到第二切换指令时系统内存的第一存储区域中保持的内存数据和接收到第二切换指令时存储的第一操作系统的CPU状态数据快速恢复并切换回第一操作系统,从而显著节省了操作系统间的切换所花费的时间。根据本发明的另一示例,当接收到第一系统切换命令时,还可根据第一系统切换命令,存储第二操作系统的CPU状态数据。如上所述,可将第二操作系统的CPU状态数据存储在例如ROM-BIOS之类的非易失性存储器中。此外,由于系统内存未被断电,因此系统内存会在接收到第一操作系统切换命令时,保持第二存储区域中的第二操作系统的内存数据。当第二存储区域中保持了第二操作系统的内存数据并且在运行第一操作系统期间接收到第二系统切换命令时,可通过第二操作系统的内存数据和第二操作系统的CPU状态数据,恢复并运行第二操作系统,而不需要再将第二操作系统的映像数据加载到系统内存的第二存储区域中。根据本发明的另一示例,在从第二操作系统切换回第一操作系统后,图3中所示的方法还可包括在运行第一操作系统期间,接收关机命令。并且,根据第二存储区域中保持的第二操作系统的内存数据,更新之前预先存储的第二操作系统的内存映像数据,以便于下次操作时第二操作系统可以更新后的状态运行。下面,参照图4说明本发明的一个实施例的控制装置。图4是示出根据本发明的一个实施例的控制装置400的示范性结构框图。在本实施例中,控制装置400可用于包括包含划分为两个储存区域的系统内存的计算机。具体地,系统内存的两个存储区域分别为第一存储区域和第二存储区域。如图4中所示,本实施例的控制装置400可包括系统加载单元410、系统运行单元420、映像数据加载单元430。控制装置400的各个单元可执行上述图I中的控制方法的各个步骤/功能,因此,为了描述简洁,不再具体描述。例如,系统加载单元410可将第一操作系统加载到第一存储区域。具体地,系统加载单元410可在启动计算机系统时,将第一操作系统加载到第一存储区域。系统运行单元420可运行第一操作系统。映像数据加载单元430可包括系统内存访问驱动432。当完成第一操作系统的加载并开始运行第一操作系统时,映像数据加载单元430可通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到第二存储区域。可以在完成第一操作系统的加载并开始运行第一操作系统后,立即通过映像 数据加载单元430加载第二操作系统的内存映像数据。可替换地,也可在开始运行第一操作系统后的任意时刻通过映像数据加载单元430加载第二操作系统的内存映像数据。根据本发明的一个示例,当不启动系统内存访问驱动时,第二存储区域对于第一操作系统不可见。例如,当通过系统加载单元410将第一操作系统加载到系统内存的第一存储区域中时,系统加载单元410可向第一操作系统通知系统内存的物理地址范围为第一存储区域的物理地址范围,从而使得第一操作系统在不启动系统内存访问驱动时,只能对第一存储区域的系统内存进行访问。而系统内存访问驱动可被设置为绕过系统默认的内存控制机制,直接对指定地址的系统内存进行操作。例如,可直接将第二存储区域的物理地址范围保存在系统内存访问驱动中,从而系统内存访问驱动确定当其被第一操作系统调用时,第一操作系统可通过系统内存访问驱动对第二存储区域进行操作。可替换地,可当当被第一操作系统调用时,系统内存访问驱动可从BIOS获取第二存储区域的物理地址范围。从而,通过第一操作系统启动系统内存访问驱动,可通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在一时刻,获取当前时刻的第二操作系统所使用的系统内存中的内存数据,并将所获取的当前第二操作系统所使用的系统内存中的内存数据存储在计算机系统的例如硬盘之类的存储单元中,作为第二操作系统的内存映像数据。通过本实施例中的控制装置,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,使得计算机系统在两个操作系统之间进行切换时,能够直接通过该内存映像数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。下面,参照图5说明本发明的另一实施例的控制装置。图5是示出根据本发明的一个实施例的控制装置500的示范性结构框图。在本实施例中,控制装置500可用于包括包含划分为两个储存区域的系统内存的计算机。具体地,系统内存的两个存储区域分别为第一存储区域和第二存储区域。控制装置500的各个单元可执行上述图2中的控制方法的各个步骤/功能,因此,为了描述简洁,不再具体描述。
例如,如图5中所示,与图4中所示的控制装置400类似,控制装置500可包括系统加载单元510、系统运行单元520、映像数据加载单元530。系统加载单元510可将第一操作系统加载到第一存储区域。系统运行单元520可运行第一操作系统。映像数据加载单元530可包括系统内存访问驱动532。当完成第一操作系统的加载并开始运行第一操作系统时,映像数据加载单元530可通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到第二存储区域。可以在完成第一操作系统的加载并开始运行第一操作系统后,立即通过映像数据加载单元530加载第二操作系统的内存映像数据。可替换地,也可在开始运行第一操作系统后的任意时刻通过映像数据加载单元530加载第二操作系统的内存映像数据。此外,控制装置500还包括接收单元540、休眠控制单元550、CPU状态恢复单元560和系统恢复单元570。接收单元540可接收第二系统切换命令。根据本发明的一个示例,接收单元540可接收由用户根据使用需要,输入的第二系统切换命令。可替换地,根据本发明的另一个示例,在所述计算机系统为便携式计算机的情况下,可预先设定该便携式计算机使用第一操作系统运行的第一状态,和使用第二操作系统运行的第二状态,并且当·检测到该便携式计算机从第一状态转换到第二状态时,计算机系统自动生成第二系统切换命令,并通过接收单元540接收该第二系统切换命令。例如,当便携式计算机从正常的使用物理键盘的状态变为不使用物理键盘的平板式计算机的状态(例如通过旋转或翻转显示屏)时,可生成第二系统切换命令,并由接收单元540接收。休眠控制单元550可根据第二系统切换命令,使得第一操作系统休眠。然后,CPU状态恢复单元560可根据第二系统切换命令,恢复预先存储的第二操作系统的CPU状态数据。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在获取第二操作系统所使用的系统内存中的内存数据的时刻,还获取在当前时刻的CPU状态数据,并将该CPU状态数据存储在例如ROM-BIOS中,以便于通过BIOS恢复预先存储的第二操作系统的CPU状态数据。也就是说,在本实施例中,预先存储的第二操作系统的CPU状态数据和预先存储的第二操作系统的内存映像数据,是在同一时刻获得的。可替换地,也可将第二操作系统的CPU状态数据存储到其他非易失性存储器中。系统恢复单元570可配置来通过第二操作系统的内存映像数据和第二操作系统的CPU状态数据,恢复第二操作系统。并且在本实施例中,在恢复第二操作系统后,系统运行单元520还可运行第二操作系统。根据本发明的一个示例,可通过BIOS根据第二操作系统的内存映像数据和第二操作系统的CPU状态数据,恢复第二操作系统,并且在恢复第二操作系统后,通过中央处理器(CPU)运行第二操作系统。根据本发明的另一个示例,系统内存中的第一存储区域对于第二操作系统不可见。例如,当通过系统恢复单元570恢复第二操作系统时,系统恢复单元570可向第二操作系统通知系统内存的物理地址范围为第二存储区域的物理地址范围,从而使得第二操作系统只能对第二存储区域的系统内存进行访问。虽然在本实施例中以控制装置500由各个独立的单元构成为例进行了描述,但是,本发明不限于此。例如,可以组合系统加载单元、休眠控制单元、CPU状态恢复单元和系统恢复单元以形成基本输入输出系统(BIOS),并且组合系统运行单元和映像数据加载单元形成中央处理器(CPU)。此外,在替换的实施例中,可组合系统加载单元、休眠控制单元和系统恢复单元以形成基本输入输出系统(BIOS),并且组合CPU状态恢复单元、组合系统运行单元和映像数据加载单元形成中央处理器(CPU)。通过本实施例中的控制装置,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,并且在两个操作系统之间进行切换时,能够直接通过该加载的第二操作系统的内存映像数据和预先存储的第二操作系统的CPU状态数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。根据本发明的另一示例,图5中的控制装置还可包括CPU状态存储单元。当接收单元接收到第二操作系统切换命令时,CPU状态存储单元可根据第二系统切换命令,存储第一 操作系统的CPU状态数据。根据本发明的一个实施例,与第二操作系统的CPU状态数据类似地,可将第一操作系统的CPU状态数据存储在例如ROM-BIOS之类的非易失性存储器中。此外,由于系统内存未被断电,因此系统内存会在接收到第二操作系统切换命令时,保持第一存储区域中的第一操作系统的内存数据。从而在运行第二操作系统期间,当接收到第一操作系统切换命令时,能够快速从第二操作系统切换到第一操作系统。以下将对从第二操作系统切换到第一操作系统的控制装置进行详细描述。根据本发明另一实施例,控制装置500的各个单元还可执行上述图中的控制方法的各个步骤/功能,以控制计算机系统从第二操作系统切换到第一操作系统。因此,为了描述简洁,不再具体描述。例如,接收单元还可接收第一系统切换命令。根据本发明的一个示例,接收单元还可接收由用户根据使用需要输入的第一系统切换命令。可替换地,根据本发明的另一个示例,在所述计算机系统为便携式计算机的情况下,可预先设定该便携式计算机使用第一操作系统运行的第一状态,和使用第二操作系统运行的第二状态,并且当检测到该便携式计算机从第二状态转换到第一状态时,计算机系统自动生成第一系统切换命令,并通过接收单元接收该第一系统切换命令。例如,当便携式计算机从不使用物理键盘的平板式计算机的状态变为正常的使用物理键盘的状态(例如通过旋转或翻转显示屏)时,可生成第一系统切换命令,并通过接收单元接收。休眠控制单元还可根据第一系统切换命令,使得第二操作系统休眠。然后,CPU状态恢复单元还可根据第一系统切换命令,恢复预先存储的第一操作系统的CPU状态数据。如上所述,该第一操作系统的CPU状态数据可以是之前运行第一操作时在接收到第二操作系统切换命令的情况下,根据第二系统切换命令存储的。系统恢复单元还配置来通过第一操作系统的内存数据和第一操作系统的CPU状态数据,恢复第一操作系统。并且系统运行单元还可在系统恢复单元恢复第一操作系统后,运行第一操作系统。如上所述当不启动系统内存访问驱动时,第二存储区域对于第一操作系统不可见。例如,当通过系统恢复单元恢复第一操作系统时,可向第一操作系统通知系统内存的物理地址范围为第一存储区域的物理地址范围,从而使得第一操作系统只能对第一存储区域的系统内存进行访问。
通过本实施例中的控制装置,在从第一操作系统快速切换到第二操作系统之后,还能够通过当接收到第二切换指令时系统内存的第一存储区域中保持的内存数据和接收到第二切换指令时存储的第一操作系统的CPU状态数据快速恢复并切换回第一操作系统,从而显著节省了操作系统间的切换所花费的时间。根据本发明的另一示例,当接收单元接收到第一系统切换命令时,CPU状态存储单元还可根据第一系统切换命令,存储第二操作系统的CPU状态数据。如上所述,可将第二操作系统的CPU状态数据存储在例如ROM-BIOS之类的非易失性存储器中。此外,由于系统内存未被断电,因此系统内存会在接收到第一操作系统切换命令时,保持第二存储区域中的第二操作系统的内存数据。当第二存储区域中保持了第二操作系统的内存数据并且在运行第一操作系统期间接收到第二系统切换命令时,系统恢复单元可通过第二操作系统的内存数据和第二操作系统的CPU状态数据,恢复第二操作系统,而不需要再将第二操作系统的映像数据加载到 系统内存的第二存储区域中。根据本发明的另一示例,在从第二操作系统切换回第一操作系统后,接收单元还可在运行第一操作系统期间,接收关机命令。控制装置还可包括映像数据存储单元。映像数据存储单元可根据第二存储区域中保持的第二操作系统的内存数据,更新之前预先存储的第二操作系统的内存映像数据,以便于下次操作时第二操作系统可以更新后的状态运行。下面,参照图6说明本发明的一个实施例的计算机系统。图6是示出根据本发明的一个实施例的计算机系统600的示范性结构框图。如图6中所示,本实施例的计算机系统600可包括系统内存610、映像数据存储单元620、基本输入输出系统(BIOS) 630和处理单元640。计算机系统600的各个单元/模块可执行上述图I中的控制方法的各个步骤/功能,因此,为了描述简洁,不再具体描述。例如,系统内存了 610可包含第一存储区域和第二存储区域。映像数据存储单元620可包括例如硬盘之类的存储装置,以存储内存映像数据。基本输入输出系统(BI0S)630可包括系统加载模块632。系统加载模块632将第一操作系统加载到所述第一存储区域。更具地,系统加载模块632可当启动计算机系统时,将第一操作系统加载到所述第一存储区域。 处理单元640可包括系统运行模块642和映像数据加载模块644。系统运行模块642可运行第一操作系统。映像数据加载模块644包括系统内存访问驱动。映像数据加载模块644可通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将存储在映像数据存储单元中的第二操作系统的内存映像数据加载到第二存储区域。可以在完成第一操作系统的加载并开始运行第一操作系统后,立即通过映像数据加载模块644加载第二操作系统的内存映像数据。可替换地,也可在开始运行第一操作系统后的任意时刻通过映像数据加载模块644加载第二操作系统的内存映像数据。根据本发明的一个示例,当不启动系统内存访问驱动时,第二存储区域对于第一操作系统不可见。例如,当通过系统加载模块632将第一操作系统加载到系统内存的第一存储区域中时,系统加载模块632可向第一操作系统通知系统内存的物理地址范围为第一存储区域的物理地址范围,从而使得第一操作系统在不启动系统内存访问驱动时,只能对第一存储区域的系统内存进行访问。而系统内存访问驱动可被设置为绕过系统默认的内存控制机制,直接对指定地址的系统内存进行操作。例如,可直接将第二存储区域的物理地址范围保存在系统内存访问驱动中,从而系统内存访问驱动确定当其被第一操作系统调用时,第一操作系统可通过系统内存访问驱动对第二存储区域进行操作。可替换地,可当当被第一操作系统调用时,系统内存访问驱动可从BIOS获取第二存储区域的物理地址范围。从而,通过第一操作系统启动系统内存访问驱动,可通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到系统内存中的第二存储区域。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在一时刻,获取当前时刻的第二操作系统所使用的系统内存中的内存数据,并将所获取的当前第二操作系统所使用的系统内存中的内存数据存储映像数据存储单元620中,作为第二操作系统的内存映像数据。通过本实施例中的计算机系统,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,使得计算机系统在两个操作系统之间进行切换时,能够直接通过该内存映像数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操 作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。下面,参照图7说明本发明的另一实施例的计算机系统。图7是示出根据本发明的一个实施例的计算机系统700的示范性结构框图。计算机系统700的各个单元/模块可执行上述图2中的控制方法的各个步骤/功能,因此,为了描述简洁,不再具体描述。例如,本实施例的计算机系统700可包括系统内存710、映像数据存储单元720、基本输入输出系统(BIOS) 730和处理单元740。系统内存了 710可包含第一存储区域和第二存储区域。映像数据存储单元720可包括例如硬盘之类的存储装置,以存储内存映像数据。基本输入输出系统(BI0S)730可包括系统加载模块731。系统加载模块731将第一操作系统加载到所述第一存储区域。更具地,系统加载模块731可当启动计算机系统时,将第一操作系统加载到所述第一存储区域。处理单元740可包括系统运行模块742和映像数据加载模块744。系统运行模块742可运行第一操作系统。映像数据加载模块744包括系统内存访问驱动。映像数据加载模块744可通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将存储在映像数据存储单元中的第二操作系统的内存映像数据加载到第二存储区域。可以在完成第一操作系统的加载并开始运行第一操作系统后,立即通过映像数据加载模块744加载第二操作系统的内存映像数据。可替换地,也可在开始运行第一操作系统后的任意时刻通过映像数据加载模块744加载第二操作系统的内存映像数据。计算机系统700还包括接收单元710。在本实施例中,基本输入输出系统730还包括CPU状态存储模块732、休眠控制模块733、CPU状态恢复模块734和系统恢复模块735。CPU状态存储模块732可存储CPU状态数据。根据本发明的一个示例,可预先运行第二操作系统,并在第二操作系统运行期间,在获取第二操作系统所使用的系统内存中的内存数据的时刻,还获取在当前时刻的CPU状态数据,并将该CPU状态数据存储在CPU状态存储模块732中,以便于恢复预先存储的第二操作系统的CPU状态数据。也就是说,在本实施例中,预先存储在CPU状态存储模块732中的第二操作系统的CPU状态数据和预先存储在映像数据存储单元720中的第二操作系统的内存映像数据,是在同一时刻获得的。
接收单元710可接收第二系统切换命令。休眠控制模块733可根据第二系统切换命令,使得第一操作系统休眠。然后,CPU状态恢复模块734可根据第二系统切换命令,恢复CPU状态存储模块中预先存储的第二操作系统的CPU状态数据。系统恢复模块735通过第二操作系统的内存映像数据和第二操作系统的CPU状态数据,恢复第二操作系统。并且在本实施例中,在恢复第二操作系统后,系统运行模块742还运行第二操作系统。
根据本发明的另一个示例,系统内存中的第一存储区域对于第二操作系统不可见。例如,当通过系统恢复模块735恢复第二操作系统时,系统恢复模块735可向第二操作系统通知系统内存的物理地址范围为第二存储区域的物理地址范围,从而使得第二操作系统只能对第二存储区域的系统内存进行访问。通过本实施例中的计算机系统,能够在运行第一操作系统期间,加载第二操作系统的内存映像数据,并且在两个操作系统之间进行切换时,能够直接通过该加载的第二操作系统的内存映像数据和预先存储的第二操作系统的CPU状态数据恢复第二操作系统,从而显著节省了操作系统间的切换所花费的时间。此外,由于通过内存映像数据恢复第二操作系统,不需要对第二操作系统进行安装及省略了第二操作系统的正常启动加载过程,从而简化了第二操作系统安装和/或升级流程的复杂性。虽然在本实施例中以CPU状态恢复模块734和系统恢复模块735被包括在基本输入输出系统中为进行了描述,但是本发明不限于此。根据本发明的可替换实施例,CPU状态恢复模块734和/或系统恢复模块735还可被包括在处理单元中。本实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本领域技术人员应该理解,可依赖于设计需求和其它因素对本发明进行各种修改、组合、部分组合和替换,只要它们在所附权利要求书及其等价物的范围内。
权利要求
1.一种控制方法,应用于计算机系统,其中所述计算机系统包括包含划分为两个储存区域的系统内存,其中,所述两个存储区域分别是第一存储区域和第二存储区域,所述控制方法包括 将第一操作系统加载到所述第一存储区域; 运行所述第一操作系统; 通过所述第一操作系统启动系统内存访问驱动,以通过所述系统内存访问驱动将预先存储的所述第二操作系统的内存映像数据加载到所述第二存储区域。
2.如权利要求I所述的控制方法,其中 当不启动所述系统内存访问驱动时,所述第二存储区域对于所述第一操作系统不可见。
3.如权利要求I所述的控制方法,还包括 接收第二系统切换命令, 根据所述第二系统切换命令,使得所述第一操作系统休眠;并且根据所述第二系统切换命令,恢复预先存储的所述第二操作系统的CPU状态数据;通过所述第二操作系统的内存映像数据和所述第二操作系统的CPU状态数据,恢复所述第二操作系统;以及 运行所述第二操作系统。
4.如权利要求3所述的控制方法,其中 所述第一存储区域对于所述第二操作系统不可见。
5.如权利要求3所述的控制方法,还包括 根据所述第二系统切换命令,存储所述第一操作系统的CPU状态数据;以及保持所述第一存储区域中的所述第一操作系统的内存数据。
6.如权利要求5所述的控制方法,还包括 接收第一系统切换命令, 根据所述第一系统切换命令,使得所述第二操作系统休眠;并且 根据所述第一系统切换命令,恢复预先存储的所述第一操作系统的CPU状态数据; 通过所述第一操作系统的内存数据和所述第一操作系统的CPU状态数据,恢复并运行所述第一操作系统。
7.如权利要求6所述的控制方法,还包括 根据所述第一系统切换命令,存储所述第二操作系统的CPU状态数据;以及保持所述第二存储区域中的所述第二操作系统的内存数据。
8.如权利要求7所述的控制方法,还包括 当所述第二存储区域中保持了所述第二操作系统的内存数据并且在运行所述第一操作系统期间接收到所述第二系统切换命令时,通过所述第二操作系统的内存数据和所述第二操作系统的CPU状态数据,恢复并运行所述第二操作系统。
9.如权利要求6所述的控制方法,还包括 在运行所述第一操作系统期间,接收关机命令; 根据所述第二存储区域中保持的所述第二操作系统的内存数据,更新所述预先存储的第二操作系统的内存映像数据。
10.一种控制装置,应用于计算机系统,其中所述计算机系统包括包含划分为两个储存区域的系统内存,其中,所述两个存储区域分别是第一存储区域和第二存储区域,所述控制装置包括 系统加载单元,配置来将第一操作系统加载到所述第一存储区域; 系统运行单元,配置来运行所述第一操作系统; 映像数据加载单元,包括系统内存访问驱动,配置来通过所述第一操作系统启动所述系统内存访问驱动,以通过所述系统内存访问驱动将预先存储的所述第二操作系统的内存映像数据加载到所述第二存储区域。
11.如权利要求10所述的控制装置,其中 当不启动所述系统内存访问驱动时,所述第二存储区域对于所述第一操作系统不可见。
12.如权利要求10所述的控制装置,还包括 接收单元,配置来接收第二系统切换命令, 休眠控制单元,配置来根据所述第二系统切换命令,使得所述第一操作系统休眠; CPU状态恢复单元,配置来根据所述第二系统切换命令,恢复预先存储的所述第二操作系统的CPU状态数据;以及 系统恢复单元,配置来通过所述第二操作系统的内存映像数据和所述第二操作系统的CPU状态数据,恢复所述第二操作系统, 所述系统运行单元还配置来运行所述第二操作系统。
13.如权利要求12所述的控制装置,其中 所述第一存储区域对于所述第二操作系统不可见。
14.如权利要求12所述的控制装置,还包括 (PU状态存储单元,配置来根据所述第二系统切换命令,存储所述第一操作系统的CPU状态数据; 所述系统内存保持所述第一存储区域中的所述第一操作系统的内存数据。
15.如权利要求14所述的控制装置,其中 所述接收单元还配置来接收第一系统切换命令, 所述休眠控制单元还配置来根据所述第一系统切换命令,使得所述第二操作系统休眠;并且 所述CPU状态恢复单元还配置来根据所述第一系统切换命令,恢复预先存储的所述第一操作系统的CPU状态数据; 所述系统恢复单元还配置来通过所述第一操作系统的内存数据和所述第一操作系统的CPU状态数据,恢复所述第一操作系统; 所述系统运行单元还配置来在所述系统恢复单元恢复所述第一操作系统后,运行所述第一操作系统。
16.如权利要求15所述的控制装置,其中 所述CPU状态存储单元还配置来根据所述第一系统切换命令,存储所述第二操作系统的CPU状态数据; 所述系统内存还保持所述第二存储区域中的所述第二操作系统的内存数据。
17.如权利要求16所述的控制装置,还包括 当所述第二存储区域中保持了所述第二操作系统的内存数据并且在运行所述第一操作系统期间所述接收单元接收到所述第二系统切换命令时,所述系统恢复单元还配置来通过所述第二操作系统的内存数据和所述第二操作系统的CPU状态数据,恢复所述第二操作系统。
18.如权利要求15所述的控制装置,其中 所述接收单元还配置来在运行所述第一操作系统期间,接收关机命令, 所述控制装置还包括 映像数据存储单元,配置来根据所述第二存储区域中保持的所述第二操作系统的内存数据,更新所述预先存储的第二操作系统的内存映像数据。
19.一种计算机系统,包括 系统内存,包含第一存储区域和第二存储区域; 映像数据存储单元,配置来存储内存映像数据; 基本输入输出系统,包括 系统加载模块,配置来将第一操作系统加载到所述第一存储区域;以及 处理单元,包括 系统运行模块,配置来运行所述第一操作系统,以及 映像数据加载模块,包括系统内存访问驱动,配置来通过所述第一操作系统启动所述系统内存访问驱动,以通过所述系统内存访问驱动将存储在所述映像数据存储单元中的所述第二操作系统的内存映像数据加载到所述第二存储区域。
20.如权利要求19所述的计算机系统,还包括 接收单元,配置来接收第二系统切换命令, 所述基本输入输出系统还包括 CPU状态存储模块,配置来存储CPU状态数据; 休眠控制模块,配置来根据所述第二系统切换命令,使得所述第一操作系统休眠; CPU状态恢复模块,配置来根据所述第二系统切换命令,恢复所述CPU状态存储模块中预先存储的所述第二操作系统的CPU状态数据;以及 系统恢复模块,配置来通过所述第二操作系统的内存映像数据和所述第二操作系统的CPU状态数据,恢复所述第二操作系统, 所述系统运行模块还配置来运行所述第二操作系统。
全文摘要
本发明提供了一种应用于计算机系统的控制方法、控制装置和一种计算机系统。根据本发明实施例的控制方法应用于计算机系统,其中计算机系统包括包含划分为两个储存区域的系统内存,其中,两个存储区域分别是第一存储区域和第二存储区域。所述控制方法包括将第一操作系统加载到第一存储区域;运行第一操作系统;通过第一操作系统启动系统内存访问驱动,以通过系统内存访问驱动将预先存储的第二操作系统的内存映像数据加载到第二存储区域。
文档编号G06F9/48GK102841807SQ20111016663
公开日2012年12月26日 申请日期2011年6月20日 优先权日2011年6月20日
发明者李凡智, 刘旭国, 许灵均, 易贤群, 杨良印 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1