Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROL METHOD, CONTROL DEVICE AND COMPUTER SYSTEM
Document Type and Number:
WIPO Patent Application WO/2012/163275
Kind Code:
A1
Abstract:
Provided are a control method and a control device applied in a computer system, and a computer system. The control method according to the embodiments of the present invention is applied in a computer system, wherein the computer system includes a system memory containing two divided storage areas with the two storage areas being respectively a first storage area and a second storage area. The control method includes: loading a first operating system into the first storage area; running the first operating system; and starting up a system memory access drive by the first operating system, so as to load into the second storage area the pre-stored memory mapping data of the second operating system by the system memory access drive.

Inventors:
LI FANZHI (CN)
LIU XUGUO (CN)
WU DAMING (CN)
XU LINGJUN (CN)
YI XIANQUN (CN)
YANG LIANGYIN (CN)
Application Number:
PCT/CN2012/076266
Publication Date:
December 06, 2012
Filing Date:
May 30, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LENOVO BEIJING CO LTD (CN)
BEIJING LENOVO SOFTWARE LTD (CN)
LI FANZHI (CN)
LIU XUGUO (CN)
WU DAMING (CN)
XU LINGJUN (CN)
YI XIANQUN (CN)
YANG LIANGYIN (CN)
International Classes:
G06F9/48
Foreign References:
CN101667140A2010-03-10
CN101847105A2010-09-29
US20100122077A12010-05-13
Attorney, Agent or Firm:
LIU, SHEN & ASSOCIATES (CN)
北京市柳沈律师事务所 (CN)
Download PDF:
Claims:
权 利 要 求 书

1. 一种控制方法, 应用于计算机系统, 其中所述计算机系统包括包含划 分为两个储存区域的系统内存, 其中, 所述两个存储区域分别是第一存储区 域和第二存储区域, 所述控制方法包括:

将第一操作系统加载到所述第一存储区域;

运行所述第一操作系统;

通过所述第一操作系统启动系统内存访问驱动, 以通过所述系统内存访 问驱动将预先存储的所述第二操作系统的内存映像数据加载到所述第二存储 区域。

2. 如权利要求 1所述的控制方法, 其中

当不启动所述系统内存访问驱动时, 所述第二存储区域对于所述第一操 作系统不可见。

3. 如权利要求 1所述的控制方法, 还包括:

接收第二系统切换命令,

根据所述第二系统切换命令, 使得所述第一操作系统休眠; 并且 根据所述第二系统切换命令, 恢复预先存储的所述第二操作系统的 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所述的控制装置, 还包括:

CPU状态存储单元, 配置来根据所述第二系统切换命令, 存储所述第一 操作系统的 CPU状态数据;

所述系统内存保持所述第一存储区域中的所述第一操作系统的内存数 据。

15. 如权利要求 14所述的控制装置, 其中

所述接收单元还配置来接收第一系统切换命令,

所述休眠控制单元还配置来根据所述第一系统切换命令, 使得所述第二 操作系统休眠; 并且

所述 CPU状态恢复单元还配置来根据所述第一系统切换命令,恢复预先 存储的所述第一操作系统的 CPU状态数据;

所述系统恢复单元还配置来通过所述第一操作系统的内存数据和所述第 一操作系统的 CPU状态数据, 恢复所述第一操作系统;

所述系统运行单元还配置来在所述系统恢复单元恢复所述第一操作系统 后, 运行所述第一操作系统。

16. 如权利要求 15所述的控制装置, 其中

所述 CPU状态存储单元还配置来根据所述第一系统切换命令,存储所述 第二操作系统的 CPU状态数据;

所述系统内存还保持所述第二存储区域中的所述第二操作系统的内存数 据。

17. 如权利要求 16所述的控制装置, 还包括:

当所述第二存储区域中保持了所述第二操作系统的内存数据并且在运行 所述第一操作系统期间所述接收单元接收到所述第二系统切换命令时, 所述 系统恢复单元还配置来通过所述第二操作系统的内存数据和所述第二操作系 统的 CPU状态数据, 恢复所述第二操作系统。

18. 如权利要求 15所述的控制装置, 其中 所述接收单元还配置来在运行所述第一操作系统期间, 接收关机命令, 所述控制装置还包括:

映像数据存储单元, 配置来才艮据所述第二存储区域中保持的所述第 二操作系统的内存数据,更新所述预先存储的第二操作系统的内存映像数据。

19. 一种计算机系统, 包括:

系统内存, 包含第一存储区域和第二存储区域;

映像数据存储单元, 配置来存储内存映像数据;

基本输入输出系统, 包括:

系统加载模块, 配置来将第一操作系统加载到所述第一存储区域; 以及

处理单元, 包括:

系统运行模块, 配置来运行所述第一操作系统, 以及

映像数据加载模块, 包括系统内存访问驱动, 配置来通过所述第一 操作系统启动所述系统内存访问驱动 , 以通过所述系统内存访问驱动将存储 在所述映像数据存储单元中的所述第二操作系统的内存映像数据加载到所述 第二存储区域。

20. 如权利要求 19所述的计算机系统, 还包括:

接收单元, 配置来接收第二系统切换命令,

所述基本输入输出系统还包括:

CPU状态存储模块, 配置来存储 CPU状态数据;

休眠控制模块, 配置来根据所述第二系统切换命令, 使得所述第一 操作系统休眠;

CPU状态恢复模块, 配置来根据所述第二系统切换命令, 恢复所述 CPU状态存储模块中预先存储的所述第二操作系统的 CPU状态数据; 以及 系统恢复模块, 配置来通过所述第二操作系统的内存映像数据和所 述第二操作系统的 CPU状态数据, 恢复所述第二操作系统,

所述系统运行模块还配置来运行所述第二操作系统。

21. 一种控制方法, 应用于计算机, 其中所述计算机包括包含划分为两 个储存区域的系统内存, 其中, 所述两个存储区域分别为第一存储区域和第 二存储区域, 所述第一存储区域包括第一系统存储部分和第一共享数据存储 部分, 所述第二存储区域包括第二系统存储部分和第二共享数据存储部分, 所述第一共享数据存储部分和所述第二共享数据存储部分相互重叠, 所述控 制方法包括:

将所述第一操作系统加载到所述系统内存;

通过所述第一操作系统, 将第一共享数据存储到所述第一共享数据存储 部分, 并且将所述第一操作系统的第一系统数据存储到所述第一系统存储部 分;

根据第二系统切换命令, 将所述第二操作系统加载到所述第二系统存储 部分; 以及

通过所述第二操作系统从所述第二共享数据存储部分中获取所述第一共 享数据, 并且根据所述第一共享数据执行相应的恢复操作。

22. 如权利要求 21所述控制方法, 其中所述将所述第一操作系统加载到 所述系统内存包括:

向所述第一操作系统通知所述第一系统存储部分和所述第一共享数据存 储部分的内存地址范围; 以及

将所述第一操作系统加载到所述第一系统存储部分。

23. 如权利要求 22所述控制方法, 其中所述通过所述第一操作系统将第 一共享数据存储到所述第一共享数据存储部分, 并且将所述第一操作系统的 第一系统数据存储到所述第一系统存储部分包括:

根据所述第二系统切换命令, 按照所述第一系统存储部分和所述第一共 享数据存储部分的内存地址范围, 通过所述第一操作系统将第一共享数据存 储到所述第一共享数据存储部分, 并且将所述第一操作系统的第一系统数据 存储到所述第一系统存储部分。

24. 如权利要求 22所述控制方法, 其中所述通过所述第一操作系统将第 一共享数据存储到所述第一共享数据存储部分, 并且将所述第一操作系统的 第一系统数据存储到所述第一系统存储部分包括:

在所述第一操作系统运行期间, 按照所述第一系统存储部分和所述第一 共享数据存储部分的内存地址范围, 通过所述第一操作系统将第一共享数据 存储到所述第一共享数据存储部分, 并且将所述第一操作系统的第一系统数 据存储到所述第一系统存储部分。

25. 如权利要求 21所述控制方法, 其中所述通过所述第一操作系统将第 一共享数据存储到所述第一共享数据存储部分包括: 当要通过所述第一操作系统存储所述第一共享数据时, 查询所述第一共 享数据存储部分的内存地址范围;

根据所述第一共享数据存储部分的内存地址范围, 清除所述第一共享数 据存储部分; 以及

通过所述第一操作系统将所述第一共享数据存储到所述第一共享数据存 储部分。

26. 如权利要求 25所述的控制方法, 其中所述将所述第一操作系统的第 一系统数据存储到所述第一系统存储部分包括:

根据所述第二系统切换命令, 查询所述第二系统存储部分的内存地址范 围;

根据所述第二系统存储部分的内存地址范围, 通过所述第一操作系统清 除所述第二系统存储部分中的数据; 以及

将所述第一操作系统的第一系统数据存储到所述第一系统存储部分。

27. 如权利要求 25所述的控制方法, 还包括:

当所述第一共享数据的大小大于所述第一共享数据存储部分时, 查询所 述第二系统存储部分的内存地址范围;

根据所述第一共享数据的大小缩小所述第二系统存储部分的内存地址范 围, 并相应地增加所述第一共享数据存储部分和所述第二共享数据存储部分 的内存地址范围;

通过所述第一操作系统将所述第一共享数据存储到调整后的所述第一共 享数据存储部分中; 以及

将调整后的所述第二系统存储部分和所述第二共享数据存储部分的内存 地址范围通知给所述第二操作系统。

28. 如权利要求 21所述的控制方法, 还包括:

通过所述第二操作系统将第二共享数据存储到所述第二共享数据存储部 分,并且将所述第二操作系统的第二系统数据存储到所述第二系统存储部分; 根据第一系统切换命令, 调用保存在所述第一系统存储部分中的所述第 一系统数据以启动所述第一操作系统; 以及

通过所述第一操作系统从所述第一共享数据存储部分中获取所述第二共 享数据, 并且根据所述第二共享数据执行相应的恢复操作。

29. 如权利要求 21所述的控制方法, 其中所述计算机还包括存储器, 所 述方法还包括:

当所述第一共享数据的大小大于所述第一共享数据存储部分时, 将所述 第一共享数据存储到所述存储器中, 并且将其在所述存储器中的存储地址保 存在所述第一共享数据存储部分中。

30. 一种控制装置, 应用于计算机, 其中所述计算机包括包含划分为两 个储存区域的系统内存, 其中, 所述两个存储区域分别为第一存储区域和第 二存储区域, 所述第一存储区域包括第一系统存储部分和第一共享数据存储 部分, 所述第二存储区域包括第二系统存储部分和第二共享数据存储部分, 所述第一共享数据存储部分和所述第二共享数据存储部分相互重叠, 所述控 制装置包括:

第一加载单元, 配置来将所述第一操作系统加载到所述系统内存; 第一控制单元, 配置来通过所述第一操作系统, 将第一共享数据存储到 所述第一共享数据存储部分, 并且将所述第一操作系统的第一系统数据存储 到所述第一系统存储部分;

第二加载单元, 配置来根据第二系统切换命令, 将所述第二操作系统加 载到所述第二系统存储部分; 以及

第二恢复单元, 配置来通过所述第二操作系统从所述第二共享数据存储 部分中获取所述第一共享数据, 并且根据所述第一共享数据执行相应的恢复 操作。

31. 如权利要求 30所述控制装置, 其中

所述第一加载单元向所述第一操作系统通知所述第一系统存储部分和所 述第一共享数据存储部分的内存地址范围, 并且将所述第一操作系统加载到 所述第一系统存储部分。

32. 如权利要求 31所述控制装置, 其中

所述第一控制单元根据所述第二系统切换命令, 按照所述第一系统存储 部分和所述第一共享数据存储部分的内存地址范围, 通过所述第一操作系统 将第一共享数据存储到所述第一共享数据存储部分, 并且将所述第一操作系 统的第一系统数据存储到所述第一系统存储部分。

33. 如权利要求 31所述控制装置, 其中

在所述第一操作系统运行时,所述第一控制单元 按照所述第一系统存储 部分和所述第一共享数据存储部分的内存地址范围, 通过所述第一操作系统 将第一共享数据存储到所述第一共享数据存储部分, 并且将所述第一操作系 统的第一系统数据存储到所述第一系统存储部分。

34. 如权利要求 30所述控制装置, 其中所述第一控制单元包括: 查询模块,配置来当要通过所述第一操作系统存储所述第一共享数据时, 查询所述第一共享数据存储部分的内存地址范围;

清除模块, 配置来根据所述第一共享数据存储部分的内存地址范围, 清 除所述第一共享数据存储部分; 以及

控制存储模块, 配置来通过所述第一操作系统将所述第一共享数据存储 到所述第一共享数据存储部分。

35. 如权利要求 34所述的控制装置, 其中

所述查询模块还配置来根据所述第二系统切换命令, 查询所述第二系统 存储部分的内存地址范围;

所述清除模块还配置来根据所述第二系统存储部分的内存地址范围, 通 过所述第一操作系统清除所述第二系统存储部分中的数据; 以及

所述控制存储模块还配置来将所述第一操作系统的第一系统数据存储到 所述第一系统存储部分。

36. 如权利要求 30所述的控制装置, 还包括:

第二控制单元, 配置来通过所述第二操作系统将第二共享数据存储到所 述第二共享数据存储部分, 并且将所述第二操作系统的第二系统数据存储到 所述第二系统存储部分;

所述第一加载单元还配置来根据第一系统切换命令, 运行保存在所述第 一系统存储部分中的所述第一系统数据以启动所述第一操作系统; 以及

所述控制装置, 还包括:

第一恢复单元, 配置来通过所述第一操作系统从所述第一共享数据 存储部分中获取所述第二共享数据, 并且根据所述第二共享数据执行相应的 恢复操作。

37. 一种计算机, 包括:

系统内存, 包含:

第一存储区域, 包括第一系统存储部分和第一共享数据存储部分, 第二存储区域, 包括第二系统存储部分和第二共享数据存储部分, 其中所述第一共享数据存储部分和所述第二共享数据存储部分相互 重叠;

处理单元, 包括:

第一加载模块, 配置来将所述第一操作系统加载到所述系统内存; 第一控制模块, 配置来通过所述第一操作系统, 将第一共享数据存 储到所述第一共享数据存储部分, 并且将所述第一操作系统的第一系统数据 存储到所述第一系统存储部分;

第二加载模块, 配置来根据第二系统切换命令, 将所述第二操作系 统加载到所述第二系统存储部分; 以及

第二恢复模块, 配置来通过所述第二操作系统从所述第二共享数据 存储部分中获取所述第一共享数据, 并且根据所述第一共享数据执行相应的 恢复操作。

Description:
控制方法、 控制装置以及计算机系统 技术领域

本发明涉及应用于计算机的控制方法、控制装 置和计算机系统。具体地, 本发明涉及用于具有两个操作系统的计算机系 统、 用于该计算机系统中的控 制装置、 以及相应的控制方法。 背景技术

随着科技的发展, 例如个人计算机、 便携式计算机、 平板式计算机之类 的计算装置被广泛应用, 而用户对于计算机装置的要求也随之向着多样 化的 趋势发展。 例如, 当进行频繁的数据处理时, 希望计算机能够具有较强的处 理能力, 以进行高速运算。 另一方面, 当不需要进行频繁操作, 并且希望计 算机能够长时间待机时, 则需要计算机以相对节能的方式运行。

为了满足用户的不同需求, 已经提出了具有两个特性相互的不同的操作 系统的计算机。 例如, 一个操作系统可以是具有较强处理能力的 Windows ®7 操作系统, 而另一操作系统可以是处理能力相对较差, 但运行时需要的资源 较少、 且耗电量较少的 Android®操作系统。 然而, 当计算机在两个操作系统 之间进行切换时, 由于需要使得当前运行的操作系统进入休眠状 态, 将第二 操作系统的系统文件从存储器中的加载到系统 内存中, 然后运行第二操作系 统。 即, 需要先由当前运行的操作系统对现场进行保存 , 将例如当前运行的 应用程序的数据等存储到计算机的存储器中, 再启动另一操作系统, 并且在 另一操作系统中由用户手动对之前存储到存储 器的应用程序进行恢复。 这导 致在两个操作系统之间进行切换所花费的时间 较长, 操作繁瑣, 并且还有可 能需要对硬盘进行不同的分区处理。 发明内容

本发明实施例的目的在于提供一种具有两个操 作系统的计算机系统、 用 于该计算机系统中的控制装置、 以及相应的控制方法, 以解决上述问题。

本发明一个实施例提供了一种控制方法, 应用于计算机, 其中所述计算 机包括包含划分为两个储存区域的系统内存, 其中, 两个存储区域分别是第 一存储区域和第二存储区域。 所述控制方法包括: 将第一操作系统加载到第 一存储区域; 运行第一操作系统; 通过第一操作系统启动系统内存访问驱动, 以通过系统内存访问驱动将预先存储的第二操 作系统的内存映像数据加载到 第二存储区域。

本发明的另一实施例提供了一种控制装置, 应用于计算机系统, 其中计 算机系统包括包含划分为两个储存区域的系统 内存, 其中, 两个存储区域分 别是第一存储区域和第二存储区域。 所述控制装置包括: 系统加载单元, 配 置来将第一操作系统加载到第一存储区域; 系统运行单元, 配置来运行第一 操作系统; 映像数据加载单元, 包括内存访问驱动, 配置来通过第一操作系 统启动系统内存访问驱动, 以通过系统内存访问驱动将预先存储的第二操 作 系统的内存映像数据加载到第二存储区域。

本发明的另一实施例提供了一种计算机系统, 包括: 系统内存, 包含第 一存储区域和第二存储区域; 映像数据存储单元, 配置来存储内存映像数据; 基本输入输出系统, 包括: 系统加载模块, 配置来将第一操作系统加载到第 一存储区域; 以及处理单元, 包括: 系统运行模块, 配置来运行第一操作系 统, 以及映像数据加载模块, 系统内存访问驱动, 配置来通过第一操作系统 启动系统内存访问驱动, 以通过系统内存访问驱动将存储在映像数据存 储单 元中的第二操作系统的内存映像数据加载到第 二存储区域。

通过上述本发明实施例提供的方案, 能够使得计算机有效地在两个操作 系统之间进行切换, 显著节省了操作系统间的切换所花费的时间。 此外由于 在本发明的上述实施例中, 不需要对第二操作系统进行安装及省略了第二 操 作系统的正常启动加载, 从而简化了安装和 /或升级流程的复杂性。

另一方面, 本发明一个实施例提供了一种控制方法, 应用于计算机, 其 中计算机包括包含划分为两个储存区域的系统 内存, 其中, 两个存储区域分 别为第一存储区域和第二存储区域, 第一存储区域包括第一系统存储部分和 第一共享数据存储部分, 第二存储区域包括第二系统存储部分和第二共 享数 据存储部分, 第一共享数据存储部分和第二共享数据存储部 分相互重叠。 所 述控制方法包括: 将第一操作系统加载到系统内存; 通过第一操作系统, 将 第一共享数据存储到第一共享数据存储部分, 并且将第一操作系统的第一系 统数据存储到第一系统存储部分; 根据第二系统切换命令, 将第二操作系统 加载到第二系统存储部分; 以及通过第二操作系统从第二共享数据存储部 分 中获取第一共享数据, 并且根据第一共享数据执行相应的恢复操作。 本发明的另一实施例提供了一种控制装置, 应用于计算机, 其中计算机 包括包含划分为两个储存区域的系统内存, 其中, 两个存储区域分别为第一 存储区域和第二存储区域, 第一存储区域包括第一系统存储部分和第一共 享 数据存储部分, 第二存储区域包括第二系统存储部分和第二共 享数据存储部 分, 第一共享数据存储部分和第二共享数据存储部 分相互重叠, 控制装置包 括: 第一加载单元, 配置来将第一操作系统加载到系统内存; 第一控制单元, 配置来通过第一操作系统, 将第一共享数据存储到第一共享数据存储部分 , 并且将第一操作系统的第一系统数据存储到第 一系统存储部分; 第二加载单 元, 配置来根据第二系统切换命令, 将第二操作系统加载到第二系统存储部 分; 以及第二恢复单元, 配置来通过第二操作系统从第二共享数据存储 部分 中获取第一共享数据, 并且根据第一共享数据执行相应的恢复操作。

本发明的另一实施例提供了一种计算机, 包括: 系统内存, 包含: 第一 存储区域, 包括第一系统存储部分和第一共享数据存储部 分, 第二存储区域, 包括第二系统存储部分和第二共享数据存储部 分, 其中第一共享数据存储部 分和第二共享数据存储部分相互重叠; 处理单元, 包括: 第一加载模块, 配 置来将第一操作系统加载到系统内存; 第一控制模块, 配置来通过第一操作 系统, 将第一共享数据存储到第一共享数据存储部分 , 并且将第一操作系统 的第一系统数据存储到第一系统存储部分; 第二加载模块, 配置来根据第二 系统切换命令, 将第二操作系统加载到第二系统存储部分; 以及第二恢复模 块,配置来通过第二操作系统从第二共享数据 存储部分中获取第一共享数据, 并且根据第一共享数据执行相应的恢复操作。

通过上述本发明实施例提供的方案, 能够使得计算机有效地在两个操作 系统之间进行切换, 提高了系统内存利用率。 此外, 通过将在两个操作系统 之间共享的数据存储在内存所包括的两个储存 区域的相互重叠的部分中, 即 使进行了系统切换操作, 共享数据也能够切换后的操作系统方便地获得 , 从 而实现了在两个操作系统之间的数据同步。 附图说明

为了更清楚地说明本发明实施例的技术方案, 下面将对实施例的描述中 所需要使用的附图作筒单地介绍。 下面描述中的附图仅仅是本发明的示例性 实施例。 图 1是描述了根据本发明的一个实施例的控制方 的流程图。

图 2是描述了根据本发明的另一个实施例的控制 法的流程图。

图 3是描述了根据本发明的另一个实施例的控制 法的流程图。

图 4是示出了根据本发明的一个实施例的控制装 的示范性结构框图。 图 5 是示出了根据本发明的另一个实施例的控制装 置的示范性结构框 图。

图 6是示出根据本发明的一个实施例的计算机的 范性结构框图。

图 7是示出根据本发明的一个实施例的计算机的 范性结构框图。

图 8是示出了根据本发明的一个实施例的计算机 系统内存的示范性说 明图。

图 9是描述了根据本发明的一个实施例的控制方 的流程图。

图 10是示出根据本发明的一个实施例的控制装置 示范性结构框图。 图 11是示出根据本发明的另一个实施例的控制装 的示范性结构框图。 图 12是示出根据本发明的一个实施例的计算机的 范性结构框图。 具体实施方式

在下文中, 将参考附图详细描述本发明的优选实施例。 注意, 在本说明 书和附图中, 具有基本上相同步骤和元素用相同的附图标记 来表示, 且对这 些步骤和元素的重复解鋒将被省略。

在本发明的以下实施例中 , 计算机系统的具体形式包括但不限于个人计 算机、 便携式计算机、 平板式计算机、 智能手机、 个人数字助理 (PDA ) 等 等。

图 1是描述了根据本发明的一个实施例的控制方 100的流程图。下面, 将图 1来描述 # ^据本发明的一个实施例的控制方法。

图 1中所示的控制方法 100可应用于计算机系统。 所述计算机系统包括 系统内存, 并且该系统内存被划分为第一存储区域和第二 存储区域。 如图 1 所示, 步骤 S101中, 将第一操作系统加载到系统内存的第一存储区 域。 然后 在步骤 S102中, 运行第一操作系统。 根据本发明的一个示例可通过基本输入 输出系统( BIOS )将第一操作系统加载到系统内存的第一存储 域, 并且在 加载第一操作系统后, 通过中央处理器 (CPU )运行第一操作系统。

当完成第一操作系统的加载并开始运行第一操 作系统时, 在步骤 S103 中, 通过第一操作系统启动系统内存访问驱动, 以通过系统内存访问驱动将 预先存储的第二操作系统的内存映像数据加载 到系统内存中的第二存储区 域。 系统内存访问驱动可直接对系统内存的物理地 址进行访问。 根据本发明 的一个示例, 在运行第一操作系统期间, CPU可根据第一操作系统的指令, 启动系统内存访问驱动, 以通过系统内存访问驱动将预先存储的第二操 作系 统的内存映像数据加载到系统内存中的第二存 储区域。 可以在完成第一操作 系统的加载并开始运行第一操作系统后, 立即加载第二操作系统的内存映像 数据。 可替换地, 也可在开始运行第一操作系统后的任意时刻加 载第二操作 系统的内存映像数据。 当第一操作系统运行后, 可以响应于用户的操作。 该 通过第一操作系统启动系统内存访问驱动, 以通过系统内存访问驱动将预先 存储的第二操作系统的内存映像数据加载到系 统内存中的第二存储区域的步 骤可以与响应与用户的操作同步进行互不影响 。响应于用户的操作位于前台, 通过第一操作系统启动系统内存访问驱动去加 载第二操作系统的内存映像数 据位于后台。

根据本发明的一个示例, 当不启动系统内存访问驱动时, 第二存储区域 对于第一操作系统不可见。 例如, 当在步驟 S101中, 通过 BIOS将第一操作 系统加载到系统内存的第一存储区域中时, BIOS可向第一操作系统通知系统 内存的物理地址范围为第一存储区域的物理地 址范围, 从而使得第一操作系 统在不启动系统内存访问驱动时,只能对第一 存储区域的系统内存进行访问。 而系统内存访问驱动可被设置为绕过系统默认 的内存控制机制, 直接对指定 地址的系统内存进行操作。 例如, 可直接将第二存储区域的物理地址范围保 存在系统内存访问驱动中, 从而系统内存访问驱动确定当其被第一操作系 统 调用时, 第一操作系统可通过系统内存访问驱动对第二 存储区域进行操作。 可替换地, 可当当被第一操作系统调用时, 系统内存访问驱动可从 BIOS 获 取第二存储区域的物理地址范围。 从而, 通过第一操作系统启动系统内存访 问驱动, 可通过系统内存访问驱动将预先存储的第二操 作系统的内存映像数 据加载到系统内存中的第二存储区域。

根据本发明的一个示例, 可预先运行第二操作系统, 并在第二操作系统 运行期间, 在一时刻, 获取当前时刻的第二操作系统所使用的系统内 存中的 内存数据, 并将所获取的当前第二操作系统所使用的系统 内存中的内存数据 存储在计算机系统的例如硬盘之类的存储单元 中, 作为第二操作系统的内存 映像数据。

通过本实施例中的控制方法, 能够在运行第一操作系统期间, 加载第二 操作系统的内存映像数据,使得计算机系统在 两个操作系统之间进行切换时, 能够直接通过该内存映像数据恢复第二操作系 统, 从而显著节省了操作系统 间的切换所花费的时间。 此外, 由于通过内存映像数据恢复第二操作系统, 不需要对第二操作系统进行安装及省略了第二 操作系统的正常启动加载过 程, 从而简化了第二操作系统安装和 /或升级流程的复杂性。

图 2是描述了根据本发明的另一个实施例的控制 法 200的流程图。 下 面, 将图 2来描述才艮据本发明的另一个实施例的控制 法。 在本实施例中, 控制方法 200可用于包括包含划分为两个储存区域的系统 内存的计算机。 具 体地, 系统内存的两个存储区域分别为第一存储区域 和第二存储区域。

如图 2所示, 控制方法 200的步骤 S201至步骤 S203与图 1中的控制方 法 100的步骤 S101至步骤 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 中, 通过 BIOS恢复第二操作系统时, BIOS可向第二操作系统通知系统内存 的物理地址范围为第二存储区域的物理地址范 围 , 从而使得第二操作系统只 能对第二存储区域的系统内存进行访问。

通过本实施例中的控制方法, 能够在运行第一操作系统期间, 加载第二 操作系统的内存映像数据, 并且在两个操作系统之间进行切换时, 能够直接 通过该加载的第二操作系统的内存映像数据和 预先存储的第二操作系统的 CPU状态数据恢复第二操作系统, 从而显著节省了操作系统间的切换所花费 的时间。 此外, 由于通过内存映像数据恢复第二操作系统, 不需要对第二操 作系统进行安装及省略了第二操作系统的正常 启动加载过程, 从而简化了第 二操作系统安装和 /或升级流程的复杂性。

根据本发明的另一示例, 当接收到第二操作系统切换命令时, 可根据第 二系统切换命令, 存储第一操作系统的 CPU状态数据。 根据本发明的一个实 施例, 与第二操作系统的 CPU状态数据类似地, 可将第一操作系统的 CPU 状态数据存储在例如 ROM - BIOS之类的非易失性存储器中。 此外, 由于系 统内存未被断电, 因此系统内存会在接收到第二操作系统切换命 令时, 保持 第一存储区域中的第一操作系统的内存数据。 从而在运行第二操作系统期间, 当接收到第一操作系统切换命令时, 能够快速从第二操作系统切换到第一操 作系统。

以下将参照图 3对从第二操作系统切换到第一操作系统的控 方法进行 详细描述。 图 3 中示出了在从第一操作系统切换到第二操作系 统后, 在运行 第二操作系统期间, 当接收到第一操作系统切换命令时, 从第二操作系统切 换到第一操作系统的控制方法 300的流程图。

如图 3所示, 在步骤 S301中, 接收第一系统切换命令。根据本发明的一 个示例, 可由用户根据使用需要, 输入第一系统切换命令。 可替换地, 根据 本发明的另一个示例, 在所述计算机系统为便携式计算机的情况下, 可预先 设定该便携式计算机使用第一操作系统运行的 第一状态, 和使用第二操作系 统运行的第二状态, 并且当检测到该便携式计算机从第二状态转换 到第一状 态时, 计算机系统自动生成第一系统切换命令, 并通过计算机系统中相应的 部件接收该第一系统切换命令。 例如, 当便携式计算机从不使用物理键盘的 平板式计算机的状态变为正常的使用物理键盘 的状态 (例如通过旋转或翻转 显示屏) 时, 可生成第一系统切换命令。

在步骤 S302中, 根据第一系统切换命令, 使得第二操作系统休眠, 然后 在步骤 S303中, 在根据第一系统切换命令, 恢复预先存储的第一操作系统的 CPU状态数据。 根据本发明的一个示例, 当接收到第一系统切换命令时, 可 通过 BIOS使得第二操作系统休眠, 并恢复预先存储的第一操作系统的 CPU 状态数据。 如上所述, 该第一操作系统的 CPU状态数据可以是之前运行第一 操作时在接收到第二操作系统切换命令的情况 下, 根据第二系统切换命令存 储的。

在步骤 S304中 ,可通过第一操作系统的内存数据和第一操作 统的 CPU 状态数据, 恢复并运行第一操作系统。 根据本发明的一个示例, 可通过 BIOS 根据在接收到第二操作系统切换命令时, 保持第一存储区域中的第一操作系 统的内存数据和第一操作系统的 CPU状态数据, 恢复第一操作系统, 并且在 恢复第一操作系统后, 通过中央处理器 (CPU )运行第一操作系统。 如上所 述当不启动系统内存访问驱动时, 第二存储区域对于第一操作系统不可见。 例如, 当在步骤 S304中, 通过 BIOS恢复第一操作系统时, BIOS可向第一 操作系统通知系统内存的物理地址范围为第一 存储区域的物理地址范围 , 从 而使得第一操作系统只能对第一存储区域的系 统内存进行访问。

可在图 2中所示的控制方法 200之后, 执行控制方法 300。 通过本实施 例中的控制方法, 能够通过当接收到第二切换指令时系统内存的 第一存储区 域中保持的内存数据和接收到第二切换指令时 存储的第一操作系统的 CPU状 态数据快速恢复并切换回第一操作系统, 从而显著节省了操作系统间的切换 所花费的时间。

根据本发明的另一示例, 当接收到第一系统切换命令时, 还可根据第一 系统切换命令, 存储第二操作系统的 CPU状态数据。 如上所述, 可将第二操 作系统的 CPU状态数据存储在例如 ROM - BIOS之类的非易失性存储器中。 此外, 由于系统内存未被断电, 因此系统内存会在接收到第一操作系统切换 命令时, 保持第二存储区域中的第二操作系统的内存数 据。

当第二存储区域中保持了第二操作系统的内存 数据并且在运行第一操作 系统期间接收到第二系统切换命令时 , 可通过第二操作系统的内存数据和第 二操作系统的 CPU状态数据, 恢复并运行第二操作系统, 而不需要再将第二 操作系统的映像数据加载到系统内存的第二存 储区域中。

根据本发明的另一示例, 在从第二操作系统切换回第一操作系统后, 图

3 中所示的方法还可包括在运行第一操作系统期 间, 接收关机命令。 并且, 根据第二存储区域中保持的第二操作系统的内 存数据, 更新之前预先存储的 第二操作系统的内存映像数据 , 以便于下次操作时第二操作系统可以更新后 的状态运行。

下面, 参照图 4说明本发明的一个实施例的控制装置。 图 4是示出根据 本发明的一个实施例的控制装置 400的示范性结构框图。 在本实施例中, 控 制装置 400可用于包括包含划分为两个储存区域的系统 内存的计算机。 具体 地, 系统内存的两个存储区域分别为第一存储区域 和第二存储区域。

如图 4中所示, 本实施例的控制装置 400可包括系统加载单元 410、 系 统运行单元 420、 映像数据加载单元 430。 控制装置 400的各个单元可执行上 述图 1中的控制方法的各个步骤 /功能, 因此, 为了描述简洁, 不再具体描述。

例如, 系统加载单元 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的各个单元 /模块可执行上述图 1中的控制方法的各个步骤 /功能,因此, 为了描述简洁, 不再具体描述。

例如, 系统内存了 610可包含第一存储区域和第二存储区域。 映像数据 存储单元 620可包括例如硬盘之类的存储装置, 以存储内存映像数据。 基本 输入输出系统 (BIOS) 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可包括例如硬盘之类的存储装置, 以存储内存映像数据。 基本输入输 出系统 (BIOS) 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还可被包括在 处理单元中。

接下来, 图 8是示出了根据本发明的一个实施例的计算机 系统内存的 示范性说明图。 图 9是描述了根据本发明的一个实施例的控制方 900的流 程图。 下面, 将参照图 8和图 9来描述根据本发明的一个实施例的控制方法

如图 8所示, 计算机的系统内存 800包括第一存储区域 810和第二存储 区域 820。 第一存储区域 810包括第一系统存储部分 812和第一共享数据存 储部分。 第二存储区域 820包括第二系统存储部分 822和第二共享数据存储 部分。 第一共享数据存储部分和第二共享数据存储部 分相互重叠 (如图 8的 阴影部分所示)。

具体地, 在图 8所示的示例中, 计算机的系统内存 800的内存地址的内 存地址范围为 0-w。 第一存储区域 810的内存地址的内存地址范围是 0-n, 其 中第一存储区域中包括的第一系统存储部分 812的内存地址范围是 0-k,而第 一共享数据存储部分的内存地址范围是 (k+l)-n。 第二存储区域 820的内存地 址的内存地址范围是 (k+l)-w, 其中第二存储区域包括第二系统存储部分 822 的内存地址范围是 (n+l)-w, 而第二共享数据存储部分的内存地址范围是 (k+l)-n。 也就是说, 第一共享数据存储部分和第二共享数据存储部 分相互重 叠, 其内存地址的内存地址范围均为 (k+l)-n。

图 9中所示的控制方法 900可用于如图 8中所示的计算机。如图 9所示, 在步骤 S901中, 将第一操作系统加载到系统内存, 使得用户可通过第一操作 系统对计算机进行操作。 然后在步骤 S902中, 通过第一操作系统, 将第一共 享数据存储到第一共享数据存储部分, 并且将第一操作系统的第一系统数据 存储到第一系统存储部分。 第一系统数据可包括第一操作系统运行时所需 要 的系统文件等。 第一共享数据可包括第一操作系统和第二操作 系统在运行时 都可能用到数据。 第一共享数据可以是在第一系统运行时生成的 数据。 例如, 当用户在第一操作系统运行下使用例如 Word®之类的文字处理应用对文档进 行编辑并且希望该文档在第二操作系统下也可 被使用或编辑时, 可将该文档 作为第一共享数据存储在第一共享数据存储部 分中。

根据本发明的一个示例,在步骤 S901中,可向第一操作系统通知第一系 统存储部分和第一共享数据存储部分的内存地 址范围, 并且在将第一操作系 统加载到系统内存时, 可将第一操作系统加载到第一系统存储部分, 以便于 通过第一操作系统进行数据存储操作。例如在 图 8所示的示例中,可通过 BIOS 在初始化系统内存时, 通知第一操作系统第一系统存储部分 812和第一共享 数据存储部分的内存地址范围,并且将第一操 作系统加载到第一存储区域 810 的第一系统存储部分 812中, 此时, 可将第二存储区域 820设置为第一操作 系统不可见。

在步骤 S902中, 在第一操作系统运行期间, 当存在第一共享数据时, 可 按照在步骤 S901 中通知第一操作系统的第一共享数据存储部分 的内存地址 范围, 将第一共享数据存储到第一共享数据存储部分 中。 此外, 可按照第一 系统存储部分的内存地址范围将第一操作系统 的第一系统数据存储到所述第 一系统存储部分中。 如在图 8所示的示例, 第一共享数据存储部分的内存地 址范围为 (k+l)-n, 第一操作系统可将其运行期间生成的第一共享 数据存储到 地址为 (k+l)-n的系统内存中。 另一方面, 第一系统存储部分 812的内存地址 范围是 0-k,第一操作系统可将第一系统数据存储到地 为 0-k的系统内存中。

可替换地, 在步骤 S902中, 可根据第二系统切换命令, 按照第一系统存 储部分和第一共享数据存储部分的内存地址范 围, 通过第一操作系统将第一 共享数据存储到第一共享数据存储部分, 并且将第一操作系统的第一系统数 据存储到第一系统存储部分。 具体地, 第二系统切换命令可指示将计算机从 第一操作系统切换到第二操作系统。 在接收到第二系统切换命令之前, 可通 过第一操作系统将第一系统数据和第一共享数 据均存储到第一系统存储部分 中, 而当接收到第二系统切换命令时, 可通过第一操作系统将所存储的第一 共享数据从第一系统存储部分转移到第一共享 数据存储部分。

此外, 根据本发明的另一个示例, 可在步骤 S901中, 将第一操作系统加 载到系统内存中的任意位置。 在步骤 S902中, 当要通过第一操作系统存储第 一共享数据时, 查询第一共享数据存储部分的内存地址范围, 并且根据第一 共享数据存储部分的内存地址范围, 清除第一共享数据存储部分。 然后通过 第一操作系统将第一共享数据存储到第一共享 数据存储部分。

例如在图 8所示的示例中, 可通过 BIOS在初始化系统内存时, 向第一 操作系统通知系统内存 800的内存地址范围为 0-w, 即 , 系统内存 800对于 第一操作系统全部可见, 并且将第一操作系统加载到系统内存 800 中的任意 位置。 当要通过第一操作系统存储第一共享数据时, 通过查询, 第一操作系 统可获知第一共享数据存储部分的内存地址范 围为 (k+l)-n, 第一操作系统可 清除当前存储在地址为 (k+l)-n的系统内存中的数据 , 例如通过将当前存储在 地址为 (k+l)-n 的系统内存中的数据复制到系统内存的其他存 储区域), 并且 将其运行期间生成的第一共享数据存储到地址 为 (k+l)-n的系统内存中。

此外,在步骤 S901中,将第一操作系统加载到整个系统内存 任意位置 的情况下, 在步骤 S902中, 可根据第二系统切换命令, 查询第二系统存储部 分的内存地址范围, 并且根据第二系统存储部分的内存地址范围, 通过第一 操作系统清除第二系统存储部分中的数据。 然后将第一操作系统的第一系统 数据存储到第一系统存储部分。 接下来, 在步驟 S903中, 根据第二系统切换命令, 将第二操作系统加载 到第二系统存储部分。 如上所述, 第二系统切换命令可指示将计算机从第一 操作系统切换到第二操作系统。 具体地, 在通过第一操作系统将第一共享数 据存储到第一共享数据存储部分并且将第一操 作系统的第一系统数据存储到 第一系统存储部分之后, 可触发 BIOS事件以便唤醒 BIOS, 并且通过 BIOS 将第二操作系统加载到第二系统存储部分中。

最后在步骤 S904中,通过第二操作系统从第二共享数据存 部分中获取 第一共享数据, 并且根据第一共享数据执行相应的恢复操作。 具体地, 可通 知第二操作系统第二系统存储部分和第二共享 数据存储部分的内存地址范 围。 可根据第二共享数据存储部分的内存地址范围 , 通过第二操作系统从第 二共享数据存储部分中获取第一共享数据, 并且根据第一共享数据执行相应 的恢复操作。 例如, 在图 8所示的示例中, 在接收到第二系统切换命令时, BIOS通知第二操作系统第二存储区域包括的第 系统存储部分 822的内存地 址范围是 (n+l)-w, 而第二共享数据存储部分的内存地址范围是 (k+l)-n。 然后 将第二操作系统加载到地址为 (n+l)-w的系统内存中,并通过第二操作系统获 取存储在第二共享数据存储部分中的第一共享 数据, 并且根据第一共享数据 执行相应的恢复操作。

此外, 根据本发明的另一实施例, 在第二操作系统运行期间, 图 9中所 示的控制方法 900还可包括通过第二操作系统将第二共享数据 存储到第二共 享数据存储部分, 并且将第二操作系统的第二系统数据存储到第 二系统存储 部分。 当接收到指示将计算机从第二操作系统切换到 第一操作系统的第一系 统切换命令时, 可通过例如激活 BIOS, 并利用 BIOS调用保存在第一系统存 储部分中的第一系统数据以启动第一操作系统 。 通过第一操作系统从第一共 享数据存储部分中获取第二共享数据, 并且根据第二共享数据执行相应的恢 复操作。

通过本实施例中的控制方法, 能够使得计算机有效地在两个操作系统之 间进行切换, 提高了系统内存利用率。 此外, 通过将在两个操作系统之间共 享的数据存储在内存所包括的两个储存区域的 相互重叠的部分中, 即使进行 了系统切换操作, 共享数据也能够切换后的操作系统方便地获得 , 从而实现 了在两个操作系统之间的数据同步。

此外, 根据本发明的另一实施例, 计算机还可包括存储器。 在第一共享 数据的大小大于第一共享数据存储部分的情况 下, 可将第一共享数据存储到 存储器中,并且将其在存储器中的存储地址保 存在第一共享数据存储部分中, 以便当切换到第二操作系统时, 可通过第二操作系统访问第二共享数据存储 部分, 以获得保存在存储器中的第一共享数据。

可替换地, 在第一操作系统获知第一共享数据存储部分的 内存地址范围 的情况下, 当第一共享数据的大小大于第一共享数据存储 部分时, 可查询第 二系统存储部分的内存地址范围, 并且根据第一共享数据的大小对第一、 第 二共享数据存储部分的内存地址范围和第二系 统存储部分的内存地址范围进 行调整。 具体地, 可根据第一共享数据的大小缩小第二系统存储 部分的内存 地址范围, 并相应地增加第一共享数据存储部分和第二共 享数据存储部分的 内存地址范围, 以便通过第一操作系统将第一共享数据存储到 调整后的第一 共享数据存储部分中。 可将调整后的第二系统存储部分和第二共享数 据存储 部分的内存地址范围通知给第二操作系统, 以便在将控制权从第一操作系统 切换到第二操作系统时能够正确地加载第二操 作系统, 并通过第二操作系统 从调整后的第二共享数据存储部分获得第一共 享数据, 以执行恢复操作。

下面, 参照图 10说明本发明的一个实施例的控制装置。 图 10是示出根 据本发明的一个实施例的控制装置 1000的示范性结构框图。 在本实施例中, 控制装置 1000可用于包括包含划分为两个储存区域的系 内存的计算机。具 体地, 如图 8所示, 两个存储区域分别为第一存储区域和第二存储 区域。 第 一存储区域可包括第一系统存储部分和第一共 享数据存储部分。 第二存储区 域包括第二系统存储部分和第二共享数据存储 部分。 第一共享数据存储部分 和第二共享数据存储部分相互重叠。

如图 10中所示, 本实施例的控制装置 1000可包括第一加载单元 1010、 第一控制单元 1020、第二加载单元 1030、第二恢复单元 1040。控制装置 1000 的各个单元可执行上述图 9中的控制方法的各个步厥 /功能, 因此, 为了描述 简洁, 不再具体描述。

例如, 第一加载单元 1010可将第一操作系统加载到系统内存,使得 户 可通过第一操作系统对计算机进行操作。第一 控制单元 1020可通过第一操作 系统, 将第一共享数据存储到第一共享数据存储部分 , 并且将第一操作系统 的第一系统数据存储到第一系统存储部分。 如上所述, 第一系统数据可包括 第一操作系统运行时所需要的系统文件等。 第一共享数据可包括第一操作系 统和第二操作系统在运行时都可能用到数据。 第一共享数据可以时在第一系 统运行时生成的数据。 例如, 当用户在第一操作系统运行下使用例如 Word® 之类的文字处理应用对文档进行编辑并且希望 该文档在第二操作系统下也可 被使用或编辑时, 可将该文档作为第一共享数据存储在第一共享 数据存储部 分中。

根据本发明的一个示例, 第一加载单元 1010可通知第一操作系统, 第一 系统存储部分和第一共享数据存储部分的内存 地址范围, 并且将第一操作系 统加载到第一系统存储部分。 在第一操作系统运行时, 第一控制单元 1020可 按照第一加载单元 1010 所通知的第一系统存储部分和第一共享数据存 储部 分的内存地址范围, 通过第一操作系统将第一共享数据存储到第一 共享数据 存储部分, 并且将第一操作系统的第一系统数据存储到第 一系统存储部分。

可替换地, 第一控制单元 1020可根据第二系统切换命令,按照第一系统 存储部分和第一共享数据存储部分的内存地址 范围, 通过第一操作系统将第 一共享数据存储到第一共享数据存储部分, 并且将第一操作系统的第一系统 数据存储到第一系统存储部分。 具体地, 第二系统切换命令可指示将计算机 从第一操作系统切换到第二操作系统。 在接收到第二系统切换命令之前, 第 一控制单元 1020 可通过第一操作系统将第一系统数据和第一共 享数据均存 储到第一系统存储部分中, 而当接收到第二系统切换命令时, 第一控制单元 1020可通过第一操作系统将所存储的第一共享 据从第一系统存储部分转移 到第一共享数据存储部分。

此外,根据本发明的另一个示例, 第一加载单元 1010可将第一操作系统 加载到系统内存中的任意位置。 第一控制单元 1020可包括查询模块、 清除模 块和控制存储模块。 具体地, 当要通过第一操作系统存储第一共享数据时, 查询模块可查询第一共享数据存储部分的内存 地址范围。 清除模块可根据查 询模块所查询的第一共享数据存储部分的内存 地址范围, 清除第一共享数据 存储部分。 在清除第一共享数据存储部分之后, 控制存储模块可根据查询模 块所查询的第一共享数据存储部分的内存地址 范围, 通过第一操作系统将第 一共享数据存储到第一共享数据存储部分。

例如在图 8所示的示例中,第一加载单元 1010可向第一操作系统通知系 统内存 800的内存地址范围为 0-w, 即, 系统内存 800对于第一操作系统全 部可见, 并且将第一操作系统加载到系统内存 800中。 当要通过第一操作系 统存储第一共享数据时, 查询模块可查询并获得第一共享数据存储部分 的内 存地址范围为 (k+l)-n。 清除模块可清除当前存储在地址为 (k+l)-n的系统内存 中的数据, 例如通过将当前存储在地址为 (k+l)-n的系统内存中的数据复制到 系统内存的其他存储区域)。清除模块可将第 一系统运行期间生成的第一共享 数据存储到地址为 (k+ 1 )-n的系统内存中。

此外,在第一加载单元 1010将第一操作系统加载到系统内存中的任意 置的情况下, 查询模块还可根据第二系统切换命令, 查询第二系统存储部分 的内存地址范围。 清除模块可根据查询模块所查询的第二系统存 储部分的内 存地址范围, 通过第一操作系统清除存储在第二系统存储部 分中的数据。 控 制存储模块还可可根据查询模块所查询的第二 系统存储部分的内存地址范 围, 将第一操作系统的第一系统数据存储到第一系 统存储部分。

第二加载单元 1030可根据第二系统切换命令,将第二操作系 加载到第 二系统存储部分。 如上所述, 第二系统切换命令可指示将计算机从第一操作 系统切换到第二操作系统。第二恢复单元 1040可通过第二操作系统从第二共 享数据存储部分中获取第一共享数据, 并且根据第一共享数据执行相应的恢 复操作。

通过本实施例中的控制装置, 能够使得计算机有效地在两个操作系统之 间进行切换, 提高了系统内存利用率。 此外, 通过将在两个操作系统之间共 享的数据存储在内存所包括的两个储存区域的 相互重叠的部分中, 即使进行 了系统切换操作, 共享数据也能够切换后的操作系统方便地获得 , 从而实现 了在两个操作系统之间的数据同步。

下面, 参照图 11说明本发明的另一个实施例的控制装置。 图 11是示出 才艮据本发明的另一个实施例的控制装置 1100的示范性结构框图。在本实施例 中, 控制装置 1100可用于包括包含划分为两个储存区域的系 内存的计算 机。 具体地, 如图 8所示, 两个存储区域分别为第一存储区域和第二存储 区 域。 第一存储区域可包括第一系统存储部分和第一 共享数据存储部分。 第二 存储区域包括第二系统存储部分和第二共享数 据存储部分。 第一共享数据存 储部分和第二共享数据存储部分相互重叠。

与图 10中所示的控制装置 1000类似, 在图 11中, 控制装置 1100可包 括第一加载单元 1110、 第一控制单元 1120、 第二加载单元 1130、 第二恢复单 元 1140。, 第一加载单元 1110可将第一操作系统加载到系统内存, 使得用户 可通过第一操作系统对计算机进行操作。第一 控制单元 1120可通过第一操作 系统, 将第一共享数据存储到第一共享数据存储部分 , 并且将第一操作系统 的第一系统数据存储到第一系统存储部分。第 二加载单元 1130可根据第二系 统切换命令, 将第二操作系统加载到第二系统存储部分。 第二恢复单元 1140 可通过第二操作系统从第二共享数据存储部分 中获取第一共享数据, 并且根 据第一共享数据执行相应的恢复操作。

本实施例中的控制装置 1100还包括第二控制单元 1150和第一恢复单元 1160。 具体地, 在第二操作系统运行期间, 第二控制单元 1150可通过第二操 作系统将第二共享数据存储到第二共享数据存 储部分, 并且将第二操作系统 的第二系统数据存储到第二系统存储部分。在 本实施例中,第一加载单元 1110 还可根据第一系统切换命令, 运行保存在第一系统存储部分中的第一系统数 据以启动第一操作系统。 第一系统切换命令可指示将计算机从第二操作 系统 切换到第一操作系统。第一恢复单元 1160可通过第一操作系统从第一共享数 据存储部分中获取第二共享数据, 并且根据第二共享数据执行相应的恢复操 作。

通过本实施例中的控制装置, 能够使得计算机有效地在两个操作系统之 间进行切换, 提高了系统内存利用率。 此外, 在第一操作系统或第二操作系 统运行时, 通过将在两个操作系统之间共享的数据存储在 内存所包括的两个 储存区域的相互重叠的部分中, 即使进行了系统切换操作, 共享数据也能够 切换后的操作系统方便地获得,从而实现了在 两个操作系统之间的数据同步, 并且切换后的操作系统可通过存储在系统内存 中相互重叠的部分的共享数 据, 可快速地恢复在切换前的操作系统中运行的应 用。

此外, 根据本发明的另一实施例, 计算机还可包括存储器。 在第一共享 数据的大小大于第一共享数据存储部分的情况 下, 第一控制单元可将第一共 享数据存储到存储器中, 并且将其在存储器中的存储地址保存在第一共 享数 据存储部分中, 以便当切换到第二操作系统时, 可通过第二操作系统访问第 二共享数据存储部分, 以获得保存在存储器中的第一共享数据。

可替换地, 在第一操作系统获知第一共享数据存储部分的 内存地址范围 的情况下, 当第一共享数据的大小大于第一共享数据存储 部分时, 第一控制 单元可查询第二系统存储部分的内存地址范围 , 并且根据第一共享数据的大 小对第一、 第二共享数据存储部分的内存地址范围和第二 系统存储部分的内 存地址范围进行调整。 具体地, 第一控制单元可根据第一共享数据的大小缩 小第二系统存储部分的内存地址范围, 并相应地增加第一共享数据存储部分 和第二共享数据存储部分的内存地址范围, 以便通过第一操作系统将第一共 享数据存储到调整后的第一共享数据存储部分 中。 可将调整后的第二系统存 储部分和第二共享数据存储部分的内存地址范 围通知给第二操作系统, 以便 在将控制权从第一操作系统切换到第二操作系 统时能够正确地加载第二操作 系统, 并通过第二操作系统从调整后的第二共享数据 存储部分获得第一共享 数据, 以执行恢复操作。

下面, 参照图 12说明本发明的一个实施例的计算机。 图 12是示出根据 本发明的一个实施例的计算机 1200的示范性结构框图。 如图 12中所示, 本 实施例的计算机 1200可包括系统内存 1210和处理单元 1220。 系统内存 1210 可包含第一存储区域 1212和第二存储区域 1214。 第一存储区域可包括第一 系统存储部分和第一共享数据存储部分(如第 一存储区域 1212中无阴影的部 分所示)。 第二存储区域包括第二系统存储部分和第二共 享数据存储部分(如 第二存储区域 1214 中无阴影的部分所示)。 第一共享数据存储部分和第二共 享数据存储部分相互重叠 (如阴影部分所示)。 处理单元 1220可包括第一加 载模块 1221、第一控制模块 1222、第二加载模块 1223和第二恢复模块 1224。 计算机 1200的各个单元和 /或模块可执行上述图 9中的控制方法的各个步骤 / 功能, 因此, 为了描述简洁, 不再具体描述。

例如, 第一加载模块 1221可将第一操作系统加载到系统内存。第一 制 模块 1222可通过第一操作系统,将第一共享数据存 到第一共享数据存储部 分, 并且将第一操作系统的第一系统数据存储到第 一系统存储部分。 第二加 载模块 1223可根据第二系统切换命令,将第二操作系 加载到第二系统存储 部分。第二恢复模块 1224可通过第二操作系统从第二共享数据存储 分中获 取第一共享数据, 并且根据第一共享数据执行相应的恢复操作。

通过本实施例中的计算机, 能够使得计算机有效地在两个操作系统之间 进行切换, 提高了系统内存利用率。 此外, 在第一操作系统或第二操作系统 运行时, 通过将在两个操作系统之间共享的数据存储在 内存所包括的两个储 存区域的相互重叠的部分中, 即使进行了系统切换操作, 共享数据也能够切 换后的操作系统方便地获得, 从而实现了在两个操作系统之间的数据同步, 并且切换后的操作系统可通过存储在系统内存 中相互重叠的部分的共享数 据, 可快速地恢复在切换前的操作系统中运行的应 用。

本实施例中, 模块可以用软件实现, 以便由各种类型的处理器执行。 举 例来说, 一个标识的可执行代码模块可以包括计算机指 令的一个或多个物理 或者逻辑块, 举例来说, 其可以被构建为对象、 过程或函数。 尽管如此, 所 标识模块的可执行代码无需物理地位于一起, 而是可以包括存储在不同位里 上的不同的指令, 当这些指令逻辑上结合在一起时, 其构成模块并且实现该 模块的规定目的。

在模块可以利用软件实现时, 考虑到现有硬件工艺的水平, 所以可以以 软件实现的模块, 在不考虑成本的情况下, 本领域技术人员都可以搭建对应 的硬件电路来实现对应的功能, 所述硬件电路包括常规的超大规模集成 ( VLSI ) 电路或者门阵列以及诸如逻辑芯片、 晶体管之类的现有半导体或者 是其它分立的元件。 模块还可以用可编程硬件设备, 诸如现场可编程门阵列、 可编程阵列逻辑、 可编程逻辑设备等实现。

本领域普通技术人员可以意识到 , 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实 现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能一 般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执 行, 取决于技术方案的特定应用和设计约束条件。 本领域技术人员可以对每 个特定的应用来使用不同方法来实现所描述的 功能, 但是这种实现不应认为 超出本发明的范围。

本领域技术人员应该理解, 可依赖于设计需求和其它因素对本发明进行 各种修改、 组合、 部分组合和替换, 只要它们在所附权利要求书及其等价物 的范围内。