WO2012163275A1 - 控制方法、控制装置以及计算机系统 - Google Patents

控制方法、控制装置以及计算机系统 Download PDF

Info

Publication number
WO2012163275A1
WO2012163275A1 PCT/CN2012/076266 CN2012076266W WO2012163275A1 WO 2012163275 A1 WO2012163275 A1 WO 2012163275A1 CN 2012076266 W CN2012076266 W CN 2012076266W WO 2012163275 A1 WO2012163275 A1 WO 2012163275A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
storage portion
memory
shared data
data
Prior art date
Application number
PCT/CN2012/076266
Other languages
English (en)
French (fr)
Inventor
李凡智
刘旭国
吴大明
许灵均
易贤群
杨良印
Original Assignee
联想(北京)有限公司
北京联想软件有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201110142364.XA external-priority patent/CN102810071B/zh
Priority claimed from CN201110166631.7A external-priority patent/CN102841807B/zh
Application filed by 联想(北京)有限公司, 北京联想软件有限公司 filed Critical 联想(北京)有限公司
Priority to US14/122,649 priority Critical patent/US20140115308A1/en
Publication of WO2012163275A1 publication Critical patent/WO2012163275A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Definitions

  • the present invention relates to a control method, a control device, and a computer system applied to a computer.
  • the present invention relates to a computer system having two operating systems, a control device for use in the computer system, and a corresponding control method. Background technique
  • computing devices such as personal computers, portable computers, and tablet computers have been widely used, and the demands of users for computer devices have also been diversified.
  • the computer when performing frequent data processing, it is desirable for the computer to have a strong processing capability for high speed operations.
  • frequent operations are not required and the computer is expected to be able to stand by for a long time, the computer is required to operate in a relatively energy-saving manner.
  • one operating system can be a Windows®7 operating system with more processing power, while another operating system can be Android® with relatively low processing power but less resources and less power consumption at runtime. operating system.
  • the system file of the second operating system is loaded from the memory into the system memory due to the need to bring the currently running operating system into a sleep state, and then the second operation is performed. system. That is, the scene needs to be saved by the currently running operating system, the data of the currently running application, etc., is stored in the memory of the computer, and another operating system is started, and manually operated by the user in another operating system. The application previously stored to the memory is restored. This results in longer time-consuming switching between the two operating systems, cumbersome operations, and the possibility of different partitioning of the hard disk. Summary of the invention
  • An embodiment of the present invention provides a control method applied to a computer, wherein the computer includes a system memory divided into two storage areas, wherein the two storage areas are a first storage area and a second storage area, respectively.
  • the control method includes: loading the first operating system to the first a storage area; running the first operating system; booting the system memory access driver by the first operating system to load the pre-stored memory image data of the second operating system into the second storage area by the system memory access driver.
  • Another embodiment of the present invention provides a control apparatus for a computer system, wherein the computer system includes a system memory divided into two storage areas, wherein the two storage areas are a first storage area and a second storage, respectively. region.
  • the control device includes: a system loading unit configured to load the first operating system into the first storage area; a system running unit configured to run the first operating system; an image data loading unit, including a memory access driver, configured to pass the first An operating system starts the system memory access driver to load the pre-stored memory image data of the second operating system into the second storage area through the system memory access driver.
  • a computer system including: system memory, including a first storage area and a second storage area; an image data storage unit configured to store memory image data; a basic input/output system, including: Loading a module, configured to load the first operating system into the first storage area; and processing unit, comprising: a system running module, configured to run the first operating system, and an image data loading module, a system memory access driver, configured to pass An operating system starts the system memory access driver to load the memory image data of the second operating system stored in the image data storage unit to the second storage area by the system memory access driver.
  • system memory including a first storage area and a second storage area
  • an image data storage unit configured to store memory image data
  • a basic input/output system including: Loading a module, configured to load the first operating system into the first storage area
  • processing unit comprising: a system running module, configured to run the first operating system, and an image data loading module, a system memory access driver, configured to pass An operating system starts the system memory access driver to load the
  • the computer can effectively switch between the two operating systems, which significantly saves the time taken for the switching between operating systems.
  • the second operating system is not required to be installed and the normal startup loading of the second operating system is omitted, the complexity of the installation and/or upgrade process is simplified.
  • an embodiment of the present invention provides a control method, which is applied to a computer, where the computer includes a system memory divided into two storage areas, where the two storage areas are a first storage area and a second storage, respectively. a first storage area including a first system storage portion and a first shared data storage portion, the second storage area including a second system storage portion and a second shared data storage portion, a first shared data storage portion and a second shared data storage Partial overlap.
  • the control method includes: loading a first operating system into a system memory; storing, by the first operating system, the first shared data to the first shared data storage portion, and storing the first system data of the first operating system to the first a system storage portion; loading the second operating system to the second system storage portion according to the second system switching command; and acquiring the first shared data from the second shared data storage portion by the second operating system, and according to the first sharing The data performs the corresponding recovery operation.
  • Another embodiment of the present invention provides a control device, which is applied to a computer, wherein the computer includes a system memory divided into two storage areas, wherein the two storage areas are a first storage area and a second storage area, respectively.
  • the first storage area includes a first system storage portion and a first shared data storage portion
  • the second storage area includes a second system storage portion and a second shared data storage portion
  • the first shared data storage portion and the second shared data storage portion are mutually
  • the control device includes: a first loading unit configured to load the first operating system into the system memory; the first control unit configured to store the first shared data to the first shared data storage portion by using the first operating system, And storing the first system data of the first operating system to the first system storage portion; the second loading unit is configured to load the second operating system to the second system storage portion according to the second system switching command; and the second recovery Unit, configured to access the second shared data store through the second operating system
  • the first shared data is acquired in the portion, and the corresponding recovery operation is performed according to the first shared data.
  • a computer including: system memory, comprising: a first storage area, including a first system storage portion and a first shared data storage portion, and a second storage area, including a second system storage portion And the second shared data storage portion, wherein the first shared data storage portion and the second shared data storage portion overlap each other;
  • the processing unit includes: a first loading module configured to load the first operating system into the system memory; a module, configured to store, by the first operating system, the first shared data to the first shared data storage portion, and store the first system data of the first operating system to the first system storage portion; the second loading module, configured to Loading the second operating system to the second system storage portion according to the second system switching command; and the second recovery module configured to acquire the first shared data from the second shared data storage portion by the second operating system, and according to the first A shared data performs a corresponding recovery operation.
  • the solution provided by the embodiment of the present invention enables the computer to effectively switch between two operating systems, thereby improving system memory utilization.
  • the shared data can be easily obtained by the switched operating system. , thus achieving data synchronization between the two operating systems.
  • FIG. 1 is a flow chart describing a control method in accordance with one embodiment of the present invention.
  • FIG. 2 is a flow chart depicting a control method in accordance with another embodiment of the present invention.
  • FIG. 3 is a flow chart describing a control method in accordance with another embodiment of the present invention.
  • FIG. 4 is a block diagram showing an exemplary structure of a control device according to an embodiment of the present invention.
  • Fig. 5 is a block diagram showing an exemplary structure of a control device according to another embodiment of the present invention.
  • FIG. 6 is a block diagram showing an exemplary structure of a computer according to an embodiment of the present invention.
  • FIG. 7 is a block diagram showing an exemplary structure of a computer according to an embodiment of the present invention.
  • Figure 8 is an exemplary diagram showing the system memory of a computer in accordance with one embodiment of the present invention.
  • Figure 9 is a flow chart depicting a control method in accordance with one embodiment of the present invention.
  • FIG. 10 is a block diagram showing an exemplary structure of a control device according to an embodiment of the present invention.
  • Fig. 11 is a block diagram showing an exemplary structure of a control device according to another embodiment of the present invention.
  • FIG. 12 is a block diagram showing an exemplary structure of a computer according to an embodiment of the present invention. detailed description
  • FIG. 1 is a flow chart depicting a control method 100 in accordance with one embodiment of the present invention. Next, a control method according to an embodiment of the present invention will be described with reference to FIG.
  • the control method 100 shown in Figure 1 can be applied to a computer system.
  • the computer system includes system memory, and the system memory is divided into a first storage area and a second storage area.
  • the first operating system is loaded into the first storage area of the system memory.
  • the first operating system is run.
  • the first operating system may be loaded into the first storage area of the system memory by the basic input/output system (BIOS), and after the first operating system is loaded, the first operation is performed by the central processing unit (CPU). system.
  • BIOS basic input/output system
  • CPU central processing unit
  • step S103 The system memory access driver is started by the first operating system to load the pre-stored memory image data of the second operating system into the second storage area in the system memory by using the system memory access driver.
  • the system memory access driver can directly access the physical address of the system memory.
  • the CPU may start a system memory access driver according to an instruction of the first operating system to load the pre-stored memory image data of the second operating system through the system memory access driver. Go to the second storage area in system memory.
  • the memory image data of the second operating system can be loaded immediately after the loading of the first operating system is completed and the first operating system is started.
  • the memory image data of the second operating system may also be loaded at any time after the first operating system is started to run.
  • the first operating system When the first operating system is running, it can respond to the user's operation.
  • the step of booting the system memory access driver by the first operating system to load the pre-stored memory image data of the second operating system into the second storage area in the system memory by the system memory access driver may be synchronized with the response of the user operation Do not affect each other.
  • the memory image data of the second operating system is loaded by the first operating system to start the system memory access driver in the background.
  • the second storage area is invisible to the first operating system.
  • the BIOS may notify the first operating system that the physical address range of the system memory is the physical address range of the first storage area. Therefore, the first operating system can only access the system memory of the first storage area when the system memory access driver is not started.
  • the system memory access driver can be set to bypass the system's default memory control mechanism and directly operate on the system memory of the specified address.
  • the physical address range of the second storage area may be directly saved in the system memory access driver, so that the system memory access driver determines that when it is called by the first operating system, the first operating system can drive the second through the system memory access.
  • the storage area operates.
  • the system memory access driver may obtain a physical address range of the second storage area from the BIOS when invoked by the first operating system. Therefore, the system memory access driver is started by the first operating system, and the memory image data of the second operating system stored in advance is loaded into the second storage area in the system memory by the system memory access driver.
  • the second operating system may be pre-run, and during the operation of the second operating system, at a moment, the memory data in the system memory used by the second operating system at the current moment is acquired, and acquired.
  • the memory data in the system memory used by the current second operating system is stored in a storage unit such as a hard disk of the computer system as the memory of the second operating system. Image data.
  • the memory image data of the second operating system can be loaded during the running of the first operating system, so that when the computer system switches between the two operating systems, the memory image data can be directly recovered.
  • the second operating system thereby significantly saving the time spent switching between operating systems.
  • the second operating system is restored by the memory image data, the second operating system is not required to be installed and the normal startup loading process of the second operating system is omitted, thereby simplifying the complexity of the second operating system installation and/or upgrading process. Sex.
  • FIG. 2 is a flow chart depicting a control method 200 in accordance with another embodiment of the present invention.
  • control method 200 can be used to include a computer that includes system memory divided into two storage areas. Specifically, the two storage areas of the system memory are the first storage area and the second storage area, respectively.
  • steps S201 to S203 of the control method 200 are similar to steps S101 to S103 of the control method 100 of Fig. 1.
  • step S201 the first operating system is loaded into the first storage area of the system memory.
  • step S202 the first operating system is run.
  • step S203 the system memory access driver is started by the first operating system to access the memory image of the second operating system stored in advance through the system memory access driver.
  • the data is loaded into a second storage area in system memory.
  • the second operating system may be run in advance, and during the operation of the second operating system, at a moment, the memory data in the system memory used by the second operating system at the current time is acquired, And storing the acquired memory data in the system memory used by the current second operating system in a storage unit such as a hard disk of the computer system as the memory image data of the second operating system.
  • control method 200 further includes, as shown in FIG. 2, receiving a second system switching command in step S204.
  • the second system switching command can be input by the user according to the needs of use.
  • the first state in which the portable computer operates using the first operating system and the operation using the second operating system may be preset a second state, and when detecting that the portable computer transitions from the first state to the second state, the computer system automatically generates a second system switching command and receives the second system switching command through a corresponding component in the computer system.
  • a second system switching command can be generated.
  • the first operating system is made to sleep according to the second system switching command.
  • the CPU state data of the second operating system stored in advance is restored according to the second system switching command.
  • the first operating system may be hibernated by the BIOS, and the pre-stored CPU state data of the second operating system may be restored.
  • the second operating system may be run in advance, and during the operation of the second operating system, when the memory data in the system memory used by the second operating system is acquired, the CPU state at the current time is also acquired.
  • the CPU state data of the second operating system may also be stored in other non-volatile memory.
  • step S207 the second operating system is restored by the memory image data of the second operating system and the CPU state data of the second operating system. And the second operating system is run in step S208.
  • the second operating system may be restored by the BIOS according to the memory image data of the second operating system and the CPU state data of the second operating system, and after the second operating system is restored, through the central processing unit (CPU) ) Run the second operating system.
  • the first storage area in the system memory is not visible to the second operating system.
  • the BIOS may notify the second operating system that the physical address range of the system memory is the physical address range of the second storage area, so that the second operating system can only The system memory of the second storage area is accessed.
  • the memory image data of the second operating system can be loaded during the running of the first operating system, and when the switching between the two operating systems is performed, the loaded second operating system can be directly passed.
  • the memory image data and the pre-stored CPU state data of the second operating system are restored to the second operating system, thereby significantly saving time spent switching between operating systems.
  • the second operating system is restored by the memory image data, the second operating system is not required to be installed and the normal startup loading process of the second operating system is omitted, thereby simplifying the complexity of the second operating system installation and/or upgrading process. Sex.
  • the CPU state data of the first operating system may be stored according to the second system switching command.
  • the CPU state data of the first operating system may be stored in a non-volatile memory such as a ROM-BIOS.
  • the system memory is not powered off, so the system memory maintains the memory data of the first operating system in the first storage area when receiving the second operating system switching command.
  • FIG. 3 shows that after switching from the first operating system to the second operating system, during the running of the second operating system, when the first operating system switching command is received, switching from the second operating system to the first operating system Flowchart of control method 300.
  • a first system switching command is received.
  • the first system switching command can be input by the user according to the needs of use.
  • the first state in which the portable computer operates using the first operating system and the operation using the second operating system may be preset a second state, and upon detecting that the portable computer transitions from the second state to the first state, the computer system automatically generates a first system switch command and receives the first system switch command via a corresponding component in the computer system.
  • a first system switching command can be generated.
  • step S302 the second operating system is made to sleep according to the first system switching command, and then in step S303, the pre-stored CPU state data of the first operating system is restored according to the first system switching command.
  • the second operating system when the first system switching command is received, the second operating system can be hibernated by the BIOS, and the pre-stored CPU state data of the first operating system is restored.
  • the CPU state data of the first operating system may be stored according to the second system switching command in the case where the second operating system switching command is received when the first operation is previously run.
  • the first operating system can be restored and run by the memory data of the first operating system and the CPU state data of the first operating system.
  • the first operation may be resumed by the BIOS according to the memory data of the first operating system in the first storage area and the CPU state data of the first operating system when receiving the second operating system switching command.
  • the system and after restoring the first operating system, runs the first operating system through a central processing unit (CPU).
  • CPU central processing unit
  • the BIOS may be first The operating system notifies the system that the physical address range of the memory is the physical address range of the first storage area, so that the first operating system can only access the system memory of the first storage area.
  • Control method 300 may be performed after control method 200 shown in FIG.
  • the memory data held in the first storage area of the system memory when receiving the second switching instruction and the CPU state data of the first operating system stored when the second switching instruction is received can be quickly Recovery and switching back to the first operating system significantly saves time spent switching between operating systems.
  • the CPU state data of the second operating system may also be stored according to the first system switching command.
  • the CPU state data of the second operating system can be stored in a non-volatile memory such as a ROM-BIOS.
  • the system memory since the system memory is not powered off, the system memory maintains the memory data of the second operating system in the second storage area when receiving the first operating system switching command.
  • the memory data of the second operating system and the CPU state data of the second operating system may be , recovering and running the second operating system without loading the image data of the second operating system into the second storage area of the system memory.
  • the method shown in 3 can also include receiving a shutdown command during operation of the first operating system. And, the memory image data of the second operating system stored in advance is updated according to the memory data of the second operating system held in the second storage area, so that the second operating system can be updated after the next operation.
  • FIG. 4 is a block diagram showing an exemplary structure of a control device 400 according to an embodiment of the present invention.
  • the control device 400 can be used to include a computer including system memory divided into two storage areas.
  • the two storage areas of the system memory are a first storage area and a second storage area, respectively.
  • control device 400 of the present embodiment may include a system loading unit 410, a system operating unit 420, and an image data loading unit 430.
  • the respective units of the control device 400 can perform the respective steps/functions of the above-described control method in Fig. 1, and therefore, for brevity of description, they will not be described in detail.
  • system loading unit 410 can load the first operating system into the first storage area. Specifically, the system loading unit 410 can load the first operating system to the first storage area when the computer system is booted.
  • System operating unit 420 can run a first operating system.
  • the image data loading unit 430 can include a system memory access driver 432. When the loading of the first operating system is completed and the first operating system is started, the image data loading unit 430 can start the system memory access driver through the first operating system to drive the memory of the second operating system to be pre-stored through the system memory access driver.
  • the image data is loaded into the second storage area.
  • the memory image data of the second operating system may be loaded by the image data loading unit 430 immediately after the loading of the first operating system is completed and the first operating system is started. Alternatively, the memory image data of the second operating system may also be loaded by the image data loading unit 430 at any time after the first operating system is started to run.
  • the second storage area is invisible to the first operating system.
  • the system loading unit 410 may notify the first operating system that the physical address range of the system memory is the physical address of the first storage area. The range is such that the first operating system can only access the system memory of the first storage area when the system memory access driver is not started.
  • the system memory access driver can be set to bypass the system's default memory control mechanism and directly operate on the system memory of the specified address.
  • the physical address range of the second storage area may be directly saved in the system memory access driver, so that the system memory access driver determines that when it is called by the first operating system, the first operating system can drive the second through the system memory access.
  • the storage area operates.
  • the system memory access driver may obtain a physical address range of the second storage area from the BIOS when invoked by the first operating system. Therefore, the system memory access driver is started by the first operating system, and the memory image data of the second operating system stored in advance is loaded into the second storage area in the system memory by the system memory access driver.
  • the second operating system may be pre-run, and during the operation of the second operating system, at a moment, the memory data in the system memory used by the second operating system at the current moment is acquired, and acquired.
  • the memory data in the system memory used by the current second operating system is stored in a storage unit such as a hard disk of the computer system as the memory image data of the second operating system.
  • FIG. 5 is a block diagram showing an exemplary structure of a control device 500 according to an embodiment of the present invention.
  • control device 500 can be used to include a computer including system memory divided into two storage areas. Specifically, the two storage areas of the system memory are a first storage area and a second storage area, respectively.
  • the respective units of the control device 500 can perform the respective steps/functions of the above-described control method in FIG. 2, and therefore, for brevity of description, they will not be described in detail.
  • the control device 500 may include a system loading unit 510, a system operating unit 520, and an image data loading unit 530.
  • System loading unit 510 can load the first operating system into the first storage area.
  • System operating unit 520 can run the first operating system.
  • the image data loading unit 530 can include a system memory access driver 532. When the loading of the first operating system is completed and the first operating system is started, the image data loading unit 530 can start the system memory access driver through the first operating system to drive the memory of the second operating system to be pre-stored through the system memory access driver. The image data is loaded into the second storage area.
  • the memory image data of the second operating system may be loaded by the image data loading unit 530 immediately after the loading of the first operating system is completed and the first operating system is started. Alternatively, the memory image data of the second operating system may also be loaded by the image data loading unit 530 at any time after the start of the first operating system.
  • control device 500 further includes a receiving unit 540, a sleep control unit 550, a CPU state restoring unit 560, and a system restoring unit 570.
  • the receiving unit 540 can receive the second system switching command.
  • the receiving unit 540 can receive a second system switching command input by the user according to the needs of use.
  • the first state in which the portable computer operates using the first operating system and the operation using the second operating system may be preset a second state, and when detecting that the portable computer transitions from the first state to the second state, the computer system automatically generates a second system switching command and receives the second system switching command through the receiving unit 540.
  • a second system switching command can be generated and received by the receiving unit 540.
  • the sleep control unit 550 can cause the first operating system to sleep according to the second system switching command. Then, the CPU state restoring unit 560 can restore the CPU state data of the second operating system stored in advance according to the second system switching command.
  • the second operating system may be run in advance, and during the operation of the second operating system, when the memory data in the system memory used by the second operating system is acquired, the CPU state at the current time is also acquired. Data, and storing the CPU state data in, for example, a ROM-BIOS, in order to restore the CPU state data of the second operating system stored in advance through the BIOS.
  • the CPU state data of the second operating system stored in advance and the memory image data of the second operating system stored in advance are obtained at the same time.
  • the CPU state data of the second operating system may also be stored in other non-volatile memory.
  • the system recovery unit 570 is configurable to recover the second operating system by the memory image data of the second operating system and the CPU state data of the second operating system. And in this embodiment, after the second operating system is restored, the system operating unit 520 can also run the second operating system.
  • the second operating system may be restored by the BIOS according to the memory image data of the second operating system and the CPU state data of the second operating system, and after the second operating system is restored, through the central processing unit (CPU) ) Run the second operating system.
  • the first storage area in the system memory is not visible to the second operating system.
  • the system recovery unit 570 can notify the second operating system that the physical address range of the system memory is the physical address range of the second storage area, so that the second operating system can only Access to system memory in the second storage area.
  • control device 500 has been described as an example of each individual unit in the present embodiment, the present invention is not limited thereto.
  • a system load unit, a sleep control unit, a CPU state recovery unit, and a system recovery unit may be combined to form a basic input output system (BIOS), and the combined system operation unit and the image data loading unit form a central processing unit (CPU).
  • the system loading unit, the sleep control unit, and the system recovery unit may be combined to form a basic input output system (BIOS), and the combined CPU state recovery unit, the combined system operating unit, and the image data loading unit form a central Processor (CPU).
  • BIOS basic input output system
  • CPU state recovery unit, the combined system operating unit, and the image data loading unit form a central Processor (CPU).
  • the memory image data of the second operating system can be loaded during the running of the first operating system, and when the switching between the two operating systems is performed, the loaded second operating system can be directly passed.
  • the memory image data and the pre-stored CPU state data of the second operating system are restored to the second operating system, thereby significantly saving time spent switching between operating systems.
  • the second operating system is restored by the memory image data, the second operating system is not required to be installed and the normal startup loading process of the second operating system is omitted, thereby simplifying the The complexity of the second operating system installation and / or upgrade process.
  • the control device of Fig. 5 may further include a CPU state storage unit.
  • the CPU state storage unit may store the CPU state data of the first operating system according to the second system switching command.
  • the CPU state data of the first operating system may be stored in a non-volatile memory such as a ROM-BIOS.
  • the system memory since the system memory is not powered off, the system memory maintains the memory data of the first operating system in the first storage area upon receiving the second operating system switching command. Thereby, during the execution of the second operating system, when the first operating system switching command is received, it is possible to quickly switch from the second operating system to the first operating system.
  • control device switched from the second operating system to the first operating system will be described in detail below.
  • various units of control device 500 may also perform various steps/functions of the control method of the above-described figures to control the switching of the computer system from the second operating system to the first operating system. Therefore, for the sake of brevity, it will not be described in detail.
  • the receiving unit can also receive the first system switching command.
  • the receiving unit may further receive a first system switching command input by the user according to usage requirements.
  • the first state in which the portable computer operates using the first operating system and the operation using the second operating system may be preset a second state, and when detecting that the portable computer transitions from the second state to the first state, the computer system automatically generates a first system switching command and receives the first system switching command by the receiving unit.
  • a first system switching command can be generated and received by the receiving unit.
  • the sleep control unit may also cause the second operating system to sleep according to the first system switching command. Then, the CPU state restoring unit may also restore the CPU state data of the first operating system stored in advance according to the first system switching command. As described above, the CPU state data of the first operating system may be stored according to the second system switching command in the case where the second operating system switching command is received when the first operation is previously run.
  • the system recovery unit is further configured to restore the first operating system by using the memory data of the first operating system and the CPU state data of the first operating system.
  • the system running unit may also run the first operating system after the system recovery unit restores the first operating system.
  • the system memory access driver is not booted as described above, the second storage area is not visible to the first operating system.
  • the first operating system may be notified that the physical address range of the system memory is the physical address range of the first storage area, so that the first operating system can only access the first storage area. System memory for access.
  • the memory data held in the first storage area of the system memory when receiving the second switching instruction is received and received.
  • the CPU state data of the first operating system stored at the time of the second switching instruction is quickly restored and switched back to the first operating system, thereby significantly saving the time taken for switching between operating systems.
  • the CPU state storage unit may further store CPU state data of the second operating system according to the first system switching command.
  • the CPU state data of the second operating system can be stored in a non-volatile memory such as a ROM-BIOS.
  • the system memory since the system memory is not powered off, the system memory maintains the memory data of the second operating system in the second storage area upon receiving the first operating system switching command.
  • the system recovery unit may pass the memory data of the second operating system and the second operating system
  • the CPU state data restores the second operating system without loading the image data of the second operating system into the second storage area of the system memory.
  • the receiving unit may also receive a shutdown command during execution of the first operating system.
  • the control device can also include a map data storage unit.
  • the image data storage unit may update the memory image data of the second operating system previously stored in advance according to the memory data of the second operating system held in the second storage area, so that the second operating system can be updated after the next operation. run.
  • FIG. 6 is a block diagram showing an exemplary structure of a computer system 600 in accordance with one embodiment of the present invention.
  • the computer system 600 of the present embodiment may include a system memory 610, a mapping data storage unit 620, a basic input output system (BIOS) 630, and a processing unit 640.
  • the various units/modules of the computer system 600 can perform the various steps/functions of the above-described control method in Fig. 1, and therefore, for brevity of description, they will not be described in detail.
  • system memory 610 can include a first storage area and a second storage area.
  • Image data The storage unit 620 can include a storage device such as a hard disk to store memory image data.
  • a basic input output system (BIOS) 630 can include a system load module 632.
  • the system load module 632 loads the first operating system into the first storage area. More specifically, the system load module 632 can load the first operating system to the first storage area when the computer system is booted.
  • Processing unit 640 can include system execution module 642 and image data loading module 644.
  • System Run Module 642 can run the first operating system.
  • the image data load module 644 includes a system memory access driver.
  • the image data loading module 644 can boot the system memory access driver through the first operating system to load the memory image data of the second operating system stored in the image data storage unit to the second storage area through the system memory access driver.
  • the memory image data of the second operating system can be loaded by the image data loading module 644 immediately after the loading of the first operating system is completed and the first operating system is started. Alternatively, the memory image data of the second operating system may also be loaded by the image data loading module 644 at any time after the first operating system is started.
  • the second storage area is invisible to the first operating system.
  • the system loading module 632 can notify the first operating system that the physical address range of the system memory is the physical address of the first storage area. The range is such that the first operating system can only access the system memory of the first storage area when the system memory access driver is not started.
  • the system memory access driver can be set to bypass the system's default memory control mechanism and directly operate on the system memory of the specified address.
  • the physical address range of the second storage area may be directly saved in the system memory access driver, so that the system memory access driver determines that when it is called by the first operating system, the first operating system can drive the second through the system memory access.
  • the storage area operates.
  • the system memory access driver may obtain a physical address range of the second storage area from the BIOS when invoked by the first operating system. Therefore, the system memory access driver is started by the first operating system, and the memory image data of the second operating system stored in advance is loaded into the second storage area in the system memory by the system memory access driver.
  • the second operating system may be pre-run, and during the operation of the second operating system, at a moment, the memory data in the system memory used by the second operating system at the current moment is acquired, and acquired.
  • the memory data in the system memory used by the current second operating system is stored in the image data storage unit 620 as the memory image data of the second operating system.
  • the memory image data of the second operating system can be loaded during the running of the first operating system, so that the computer system switches between the two operating systems.
  • the second operating system can be directly restored by the memory image data, thereby significantly saving the time spent switching between operating systems.
  • the second operating system is restored by the memory image data, the second operating system is not required to be installed and the normal startup loading process of the second operating system is omitted, thereby simplifying the complexity of the second operating system installation and/or upgrading process. Sex.
  • FIG. 7 is a block diagram showing an exemplary structure of a computer system 700 in accordance with one embodiment of the present invention.
  • the various units/modules of the computer system 700 can perform the various steps/functions of the above-described control method in Fig. 2, and therefore, for the purpose of describing the cleaning, it will not be described in detail.
  • computer system 700 of the present embodiment can include system memory 710, image data storage unit 720, basic input output system (BIOS) 730, and processing unit 740.
  • BIOS basic input output system
  • System memory 710 can include a first storage area and a second storage area.
  • the image data storage unit 720 can include a storage device such as a hard disk to store memory image data.
  • the Basic Input Output System (BIOS) 730 can include a System Load Module 731.
  • System load module 731 loads the first operating system into the first storage area. More specifically, the system load module 731 can load the first operating system into the first storage area when the computer system is booted.
  • Processing unit 740 can include system run module 742 and image data load module 744.
  • System Run Module 742 can run the first operating system.
  • the image data load module 744 includes a system memory access driver.
  • the image data loading module 744 can boot the system memory access driver through the first operating system to load the memory image data of the second operating system stored in the image data storage unit to the second storage area through the system memory access driver.
  • the memory image data of the second operating system can be loaded by the image data loading module 744 immediately after the loading of the first operating system is completed and the first operating system is started. Alternatively, the memory image data of the second operating system may also be loaded by the image data loading module 744 at any time after the first operating system is started.
  • the computer system 700 also includes: a receiving unit 710.
  • the basic input/output system 730 further includes: a CPU state storage module 732, a sleep control module 733, a CPU state recovery module 734, and a system recovery module 735.
  • the CPU state storage module 732 can store CPU state data.
  • the second operating system may be run in advance, and during the operation of the second operating system, when the memory data in the system memory used by the second operating system is acquired, the CPU state at the current time is also acquired.
  • the data is stored in the CPU state storage module 732 in order to restore the CPU state data of the second operating system stored in advance. That is, in the embodiment, the second operating system stored in the CPU state storage module 732 is pre-stored.
  • the CPU state data and the memory map data of the second operating system previously stored in the image data storage unit 720 are obtained at the same time.
  • the receiving unit 710 can receive the second system switching command.
  • the sleep control module 733 can cause the first operating system to sleep according to the second system switching command.
  • the CPU state recovery module 734 can restore the CPU state data of the second operating system pre-stored in the CPU state storage module according to the second system switching command.
  • the system recovery module 735 restores the second operating system through the memory image data of the second operating system and the CPU state data of the second operating system. And in this embodiment, after the second operating system is restored, the system running module 742 also runs the second operating system.
  • the first storage area in the system memory is not visible to the second operating system.
  • the system recovery module 735 can notify the second operating system that the physical address range of the system memory is the physical address range of the second storage area, so that the second operating system can only Access to system memory in the second storage area.
  • the memory image data of the second operating system can be loaded during the running of the first operating system, and when the switching between the two operating systems is performed, the loaded second operating system can be directly passed.
  • the memory image data and the pre-stored CPU state data of the second operating system are restored to the second operating system, thereby significantly saving time spent switching between operating systems.
  • the second operating system is restored by the memory image data, the second operating system is not required to be installed and the normal startup loading process of the second operating system is omitted, thereby simplifying the complexity of the second operating system installation and/or upgrading process. Sex.
  • CPU state recovery module 734 and the system recovery module 735 are included in the basic input/output system, the present invention is not limited thereto. In accordance with an alternate embodiment of the present invention, CPU state recovery module 734 and/or system recovery module 735 may also be included in the processing unit.
  • FIG. 8 is an explanatory diagram showing a system memory of a computer according to an embodiment of the present invention.
  • FIG. 9 is a flow diagram depicting a control method 900 in accordance with one embodiment of the present invention. Next, a control method according to an embodiment of the present invention will be described with reference to Figs. 8 and 9.
  • the system memory 800 of the computer includes a first storage area 810 and a second storage area 820.
  • the first storage area 810 includes a first system storage portion 812 and a first shared data storage portion.
  • the second storage area 820 includes a second system storage portion 822 and a second shared data storage section. The first shared data storage portion and the second shared data storage portion overlap each other (as shown in the shaded portion of FIG. 8).
  • the memory address of the system memory 800 of the computer has a memory address range of 0-w.
  • the memory address range of the memory address of the first storage area 810 is 0-n, wherein the memory address range of the first system storage portion 812 included in the first storage area is 0-k, and the memory address of the first shared data storage portion The range is (k+l)-n.
  • the memory address range of the memory address of the second storage area 820 is (k+1)-w, wherein the second memory area includes the memory address range of the second system storage portion 822 is (n+1)-w, and the second share
  • the memory address range of the data storage section is (k+l)-n. That is, the first shared data storage portion and the second shared data storage portion overlap each other, and the memory address range of the memory address thereof is (k + l) - n.
  • the control method 900 shown in Fig. 9 can be used for a computer as shown in Fig. 8.
  • the first operating system is loaded into the system memory so that the user can operate the computer through the first operating system.
  • the first shared data is stored to the first shared data storage portion by the first operating system, and the first system data of the first operating system is stored to the first system storage portion.
  • the first system data may include system files and the like required when the first operating system is running.
  • the first shared data may include data that may be used by both the first operating system and the second operating system at runtime.
  • the first shared data may be data generated when the first system is running.
  • the document when a user edits a document using a word processing application such as Word® under the operation of the first operating system and wants the document to be used or edited under the second operating system, the document can be used as the first
  • the shared data is stored in the first shared data storage portion.
  • a memory address range of the first system storage portion and the first shared data storage portion may be notified to the first operating system, and when the first operating system is loaded into the system memory, The first operating system is loaded into the first system storage portion to facilitate data storage operations by the first operating system.
  • the memory address range of the first operating system first portion storage portion 812 and the first shared data storage portion of the first operating system may be notified by the BIOS when the system memory is initialized, and the first operating system is loaded to In the first system storage portion 812 of the first storage area 810, at this time, the second storage area 820 can be set to be invisible to the first operating system.
  • step S902 during the operation of the first operating system, when the first shared data exists, the first shared data may be stored according to the memory address range of the first shared data storage portion of the first operating system notified in step S901. Go to the first shared data storage section. In addition, you can follow the first
  • the memory address range of the system storage portion stores the first system data of the first operating system into the first system storage portion. As in the example shown in FIG. 8, the memory address of the first shared data storage portion ranges from (k+1)-n, and the first operating system can store the first shared data generated during its operation to the address (k+). l) -n in the system memory.
  • the memory address range of the first system storage portion 812 is 0-k, and the first operating system can store the first system data in the system memory of the address 0-k.
  • the first shared data may be stored to the first share by the first operating system according to the second system switching command according to the memory address range of the first system storage portion and the first shared data storage portion. And a data storage portion, and storing the first system data of the first operating system to the first system storage portion.
  • the second system switch command may instruct to switch the computer from the first operating system to the second operating system.
  • the first system data and the first shared data may be stored into the first system storage part by the first operating system, and may be passed when the second system switching command is received. An operating system transfers the stored first shared data from the first system storage portion to the first shared data storage portion.
  • the first operating system may be loaded to any location in the system memory in step S901.
  • step S902 when the first shared data is to be stored by the first operating system, the memory address range of the first shared data storage portion is queried, and the first shared data storage is cleared according to the memory address range of the first shared data storage portion. section. The first shared data is then stored to the first shared data storage portion by the first operating system.
  • the BIOS may notify the first operating system that the memory address range of the system memory 800 is 0-w when the system memory is initialized, that is, the system memory 800 is all visible to the first operating system. And the first operating system is loaded to any location in system memory 800.
  • the first operating system may know that the memory address range of the first shared data storage portion is (k+l)-n, and the first operating system may clear the current storage.
  • step S901 if the first operating system is loaded into any position in the entire system memory, in step S902, the memory address range of the second system storage portion may be queried according to the second system switching command, and according to The second system stores a portion of the memory address range, and the data in the second system storage portion is cleared by the first operating system. The first system data of the first operating system is then stored to the first system storage portion.
  • step S903 the second operating system is loaded to the second system storage portion according to the second system switching command.
  • the second system switch command may instruct to switch the computer from the first operating system to the second operating system.
  • a BIOS event may be triggered to wake up the BIOS, And the second operating system is loaded into the second system storage part through the BIOS.
  • step S904 the first shared data is acquired from the second shared data storage portion by the second operating system, and a corresponding recovery operation is performed according to the first shared data.
  • the memory address range of the second operating system storage portion and the second shared data storage portion of the second operating system can be notified.
  • the first shared data may be acquired from the second shared data storage portion by the second operating system according to the memory address range of the second shared data storage portion, and the corresponding recovery operation is performed according to the first shared data. For example, in the example shown in FIG.
  • the BIOS upon receiving the second system switching command, notifies the second operating system that the second system storage portion 822 includes a memory address range of (n+l)- w, and the memory address range of the second shared data storage portion is (k+l)-n. And then loading the second operating system into the system memory of the address (n+1)-w, and acquiring the first shared data stored in the second shared data storage part by the second operating system, and according to the first shared data Perform the appropriate recovery operation.
  • the control method 900 shown in FIG. 9 may further include storing the second shared data to the second shared data storage portion by the second operating system, And storing the second system data of the second operating system to the second system storage portion.
  • the first system data saved in the first system storage portion may be activated by, for example, activating the BIOS and using the BIOS to call The first operating system.
  • the second shared data is acquired from the first shared data storage portion by the first operating system, and a corresponding recovery operation is performed according to the second shared data.
  • the computer can be effectively switched between the two operating systems, thereby improving the system memory utilization.
  • the shared data can be easily obtained by the switched operating system. , thus achieving data synchronization between the two operating systems.
  • a computer can also include a memory.
  • the first shared data may be stored in the memory, and the storage address in the memory is saved in the first shared data storage portion so as to be switched to the second In the operating system, the second shared data storage portion is accessed by the second operating system to obtain the first shared data stored in the memory.
  • the memory address of the storage portion of the second system may be queried a range, and adjusting a memory address range of the first and second shared data storage portions and a memory address range of the second system storage portion according to the size of the first shared data.
  • the memory address range of the storage portion of the second system may be reduced according to the size of the first shared data, and the memory address range of the first shared data storage portion and the second shared data storage portion may be correspondingly increased to pass the first operating system.
  • the first shared data is stored in the adjusted first shared data storage portion.
  • FIG. Fig. 10 is a block diagram showing an exemplary structure of a control device 1000 according to an embodiment of the present invention.
  • the control device 1000 can be used to include a computer including system memory divided into two storage areas.
  • the two storage areas are a first storage area and a second storage area, respectively.
  • the first storage area may include a first system storage portion and a first shared data storage portion.
  • the second storage area includes a second system storage portion and a second shared data storage portion. The first shared data storage portion and the second shared data storage portion overlap each other.
  • the control device 1000 of the present embodiment may include a first loading unit 1010, a first control unit 1020, a second loading unit 1030, and a second recovery unit 1040.
  • the respective units of the control device 1000 can perform the respective steps/functions of the above-described control method in Fig. 9, and therefore, for brevity of description, they will not be described in detail.
  • the first loading unit 1010 can load the first operating system into the system memory so that the user can operate the computer through the first operating system.
  • the first control unit 1020 may store the first shared data to the first shared data storage portion through the first operating system, and store the first system data of the first operating system to the first system storage portion.
  • the first system data may include system files and the like required when the first operating system is running.
  • the first shared data may include the first operating system Both the system and the second operating system may use data at runtime. The first shared data can be generated when the first system is running.
  • the document when a user edits a document using a word processing application such as Word® under the operation of the first operating system and wants the document to be used or edited under the second operating system, the document can be used as the first
  • the shared data is stored in the first shared data storage portion.
  • the first loading unit 1010 may notify the first operating system, the memory address range of the first system storage portion and the first shared data storage portion, and load the first operating system to the first system storage portion.
  • the first control unit 1020 may use the first system storage portion and the memory address range of the first shared data storage portion notified by the first loading unit 1010 to use the first shared data by the first operating system.
  • the storage is performed to the first shared data storage portion, and the first system data of the first operating system is stored to the first system storage portion.
  • the first control unit 1020 may store the first shared data to the first share by using the first operating system according to the second system switching command according to the memory address range of the first system storage portion and the first shared data storage portion. And a data storage portion, and storing the first system data of the first operating system to the first system storage portion.
  • the second system switch command may instruct to switch the computer from the first operating system to the second operating system.
  • the first control unit 1020 may store the first system data and the first shared data into the first system storage portion by the first operating system, and receive the second system switching command when receiving the second system switching command.
  • the first control unit 1020 may transfer the stored first shared data from the first system storage portion to the first shared data storage portion by the first operating system.
  • the first loading unit 1010 can load the first operating system to any location in the system memory.
  • the first control unit 1020 can include a query module, a clear module, and a control storage module.
  • the query module may query a memory address range of the first shared data storage portion.
  • the clearing module may clear the first shared data storage part according to the memory address range of the first shared data storage part queried by the query module.
  • the control storage module may store the first shared data to the first shared data storage portion by the first operating system according to the memory address range of the first shared data storage portion queried by the query module.
  • the first loading unit 1010 can notify the first operating system that the memory address of the system memory 800 is in the range of 0-w, that is, the system memory 800 is all visible to the first operating system, and will be An operating system is loaded into system memory 800.
  • the query module can query and obtain the memory address range of the first shared data storage part as (k+l)-n.
  • the clear module can clear the data currently stored in the system memory at the address (k+l)-n, for example by copying the data currently stored in the system memory at the address (k+l)-n to the system memory. Storage area).
  • the clearing module can store the first shared data generated during the operation of the first system into the system memory of the address (k+1)-n.
  • the query module may further query the memory address range of the second system storage portion according to the second system switching command.
  • the clearing module may clear the data stored in the storage part of the second system by the first operating system according to the range of the memory address of the second system storage part queried by the query module.
  • the control storage module may further store the first system data of the first operating system to the first system storage portion according to the memory address range of the second system storage portion queried by the query module.
  • the second loading unit 1030 can load the second operating system to the second system storage portion according to the second system switching command.
  • the second system switch command may instruct to switch the computer from the first operating system to the second operating system.
  • the second restoration unit 1040 may acquire the first shared data from the second shared data storage portion through the second operating system, and perform a corresponding recovery operation according to the first shared data.
  • the computer can be efficiently switched between the two operating systems, thereby improving the system memory utilization.
  • the shared data can be easily obtained by the switched operating system. , thus achieving data synchronization between the two operating systems.
  • control device 1100 can be used to include a computer including system memory divided into two storage areas. Specifically, as shown in FIG. 8, the two storage areas are a first storage area and a second storage area, respectively.
  • the first storage area may include a first system storage portion and a first shared data storage portion.
  • the second storage area includes a second system storage portion and a second shared data storage portion. The first shared data storage portion and the second shared data storage portion overlap each other.
  • the control device 1100 may include a first loading unit 1110, a first control unit 1120, a second loading unit 1130, and a second recovery unit 1140.
  • the first loading unit 1110 can load the first operating system into the system memory, so that the user The computer can be operated by the first operating system.
  • the first control unit 1120 may store the first shared data to the first shared data storage portion through the first operating system, and store the first system data of the first operating system to the first system storage portion.
  • the second loading unit 1130 may load the second operating system to the second system storage portion according to the second system switching command.
  • the second restoration unit 1140 may acquire the first shared data from the second shared data storage portion through the second operating system, and perform a corresponding recovery operation according to the first shared data.
  • the control device 1100 in this embodiment further includes a second control unit 1150 and a first restoration unit 1160.
  • the second control unit 1150 may store the second shared data to the second shared data storage portion by using the second operating system, and store the second system data of the second operating system to the second The second system storage part.
  • the first loading unit 1110 may also run the first system data saved in the first system storage portion to start the first operating system according to the first system switching command.
  • the first system switch command may instruct to switch the computer from the second operating system to the first operating system.
  • the first restoration unit 1160 may acquire the second shared data from the first shared data storage portion through the first operating system, and perform a corresponding recovery operation according to the second shared data.
  • the computer can be efficiently switched between the two operating systems, thereby improving the system memory utilization. Further, when the first operating system or the second operating system is running, by storing data shared between the two operating systems in mutually overlapping portions of the two storage areas included in the memory, even if a system switching operation is performed The shared data can also be conveniently obtained by the switched operating system, thereby realizing data synchronization between the two operating systems, and the switched operating system can share the shared data stored in the system memory. Quickly restore applications running in the operating system before switching.
  • a computer can also include a memory.
  • the first control unit may store the first shared data into the memory and save the storage address thereof in the memory in the first shared data storage portion In order to access the second shared data storage portion through the second operating system when switching to the second operating system, to obtain the first shared data stored in the memory.
  • the first control unit may query the second system storage a partial memory address range, and a memory address range of the first and second shared data storage portions and a second system storage portion according to the size of the first shared data The address range is adjusted. Specifically, the first control unit may narrow the memory address range of the second system storage portion according to the size of the first shared data, and correspondingly increase the memory address range of the first shared data storage portion and the second shared data storage portion, so as to pass The first operating system stores the first shared data into the adjusted first shared data storage portion.
  • FIG. 12 is a block diagram showing an exemplary structure of a computer 1200 according to an embodiment of the present invention.
  • the computer 1200 of the present embodiment may include a system memory 1210 and a processing unit 1220.
  • System memory 1210 can include a first storage area 1212 and a second storage area 1214.
  • the first storage area may include a first system storage portion and a first shared data storage portion (as indicated by the unshaded portion of the first storage area 1212).
  • the second storage area includes a second system storage portion and a second shared data storage portion (as shown by the unshaded portion of the second storage area 1214).
  • the processing unit 1220 can include a first loading module 1221, a first control module 1222, a second loading module 1223, and a second recovery module 1224.
  • the various units and/or modules of the computer 1200 may perform the various steps/functions of the control method of Fig. 9 described above, and thus, for brevity of description, will not be described in detail.
  • the first load module 1221 can load the first operating system into system memory.
  • the first control module 1222 may store the first shared data to the first shared data storage portion through the first operating system, and store the first system data of the first operating system to the first system storage portion.
  • the second loading module 1223 can load the second operating system to the second system storage portion according to the second system switching command.
  • the second recovery module 1224 may obtain the first shared data from the second shared data storage portion through the second operating system, and perform a corresponding recovery operation according to the first shared data.
  • the computer can be effectively switched between the two operating systems, thereby improving the system memory utilization. Further, when the first operating system or the second operating system is running, by storing data shared between the two operating systems in mutually overlapping portions of the two storage areas included in the memory, even if a system switching operation is performed The shared data can also be easily obtained by the switched operating system, thereby realizing data synchronization between the two operating systems, and the switched operating system can share the number of parts overlapping each other in the system memory. According to this, the application running in the operating system before switching can be quickly restored.
  • an identified executable code module can comprise one or more physical or logical blocks of computer instructions, which can be constructed, for example, as an object, procedure, or function. Nonetheless, the executable code of the identified modules need not be physically located together, but may include different instructions stored in different bits. When these instructions are logically combined, they form a module and implement the specifications of the module. purpose.
  • the module can be implemented by software, considering the level of the existing hardware process, the module can be implemented in software. Without considering the cost, a person skilled in the art can construct a corresponding hardware circuit to implement the corresponding function.
  • the hardware circuitry includes conventional Very Large Scale Integration (VLSI) circuits or gate arrays as well as existing semiconductors such as logic chips, transistors, or other discrete components.
  • VLSI Very Large Scale Integration
  • Modules can also be implemented with programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, and the like.

Abstract

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

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 ) 电路或者门阵列以及诸如逻辑芯片、 晶体管之类的现有半导体或者 是其它分立的元件。 模块还可以用可编程硬件设备, 诸如现场可编程门阵列、 可编程阵列逻辑、 可编程逻辑设备等实现。
本领域普通技术人员可以意识到 , 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实 现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能一 般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执 行, 取决于技术方案的特定应用和设计约束条件。 本领域技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能, 但是这种实现不应认为 超出本发明的范围。
本领域技术人员应该理解, 可依赖于设计需求和其它因素对本发明进行 各种修改、 组合、 部分组合和替换, 只要它们在所附权利要求书及其等价物 的范围内。

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. 一种计算机, 包括:
系统内存, 包含:
第一存储区域, 包括第一系统存储部分和第一共享数据存储部分, 第二存储区域, 包括第二系统存储部分和第二共享数据存储部分, 其中所述第一共享数据存储部分和所述第二共享数据存储部分相互 重叠;
处理单元, 包括:
第一加载模块, 配置来将所述第一操作系统加载到所述系统内存; 第一控制模块, 配置来通过所述第一操作系统, 将第一共享数据存 储到所述第一共享数据存储部分, 并且将所述第一操作系统的第一系统数据 存储到所述第一系统存储部分;
第二加载模块, 配置来根据第二系统切换命令, 将所述第二操作系 统加载到所述第二系统存储部分; 以及
第二恢复模块, 配置来通过所述第二操作系统从所述第二共享数据 存储部分中获取所述第一共享数据, 并且根据所述第一共享数据执行相应的 恢复操作。
PCT/CN2012/076266 2011-05-30 2012-05-30 控制方法、控制装置以及计算机系统 WO2012163275A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/122,649 US20140115308A1 (en) 2011-05-30 2012-05-30 Control method, control device and computer system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201110142364.X 2011-05-30
CN201110142364.XA CN102810071B (zh) 2011-05-30 2011-05-30 控制方法、控制装置以及计算机
CN201110166631.7 2011-06-20
CN201110166631.7A CN102841807B (zh) 2011-06-20 2011-06-20 控制方法、控制装置以及计算机系统

Publications (1)

Publication Number Publication Date
WO2012163275A1 true WO2012163275A1 (zh) 2012-12-06

Family

ID=47258376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/076266 WO2012163275A1 (zh) 2011-05-30 2012-05-30 控制方法、控制装置以及计算机系统

Country Status (2)

Country Link
US (1) US20140115308A1 (zh)
WO (1) WO2012163275A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007552B2 (en) * 2013-10-23 2018-06-26 Insyde Software Corp. System and method for dual OS memory switching
US9910677B2 (en) * 2014-07-07 2018-03-06 Lenovo (Singapore) Pte. Ltd. Operating environment switching between a primary and a secondary operating system
JP6189267B2 (ja) * 2014-08-20 2017-08-30 株式会社東芝 情報処理装置、方法およびプログラム
US9690596B1 (en) * 2014-09-02 2017-06-27 Phoenix Technologies Ltd. Firmware based runtime operating system switch
CN104484229A (zh) * 2014-12-29 2015-04-01 宇龙计算机通信科技(深圳)有限公司 切换操作系统的方法、装置及终端
CN104571464A (zh) * 2015-01-19 2015-04-29 宇龙计算机通信科技(深圳)有限公司 一种多操作系统的省电模式控制方法、装置和终端
EP3553659B1 (en) * 2015-02-24 2022-11-23 Huawei Technologies Co., Ltd. Multi-operating system device, notification device and methods thereof
DE102019203130A1 (de) * 2019-03-07 2020-09-10 Continental Automotive Gmbh Nahtlose Audioübergabe in einem Mehrprozessor-Audiosystem

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667140A (zh) * 2008-09-03 2010-03-10 联想(北京)有限公司 控制操作系统切换的方法、装置及系统
US20100122077A1 (en) * 2008-11-13 2010-05-13 David Durham SWITCHING BETWEEN MULTIPLE OPERATING SYSTEMS (OSes) USING SLEEP STATE MANAGEMENT AND SEQUESTERED RE-BASEABLE MEMORY
CN101847105A (zh) * 2009-03-26 2010-09-29 联想(北京)有限公司 一种计算机及多操作系统共享内存的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP2001256066A (ja) * 2000-02-29 2001-09-21 Internatl Business Mach Corp <Ibm> コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
JP2005301639A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd Osの障害対応方法およびそのプログラム
US8484452B2 (en) * 2008-03-14 2013-07-09 Mitsubishi Electric Corporation Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667140A (zh) * 2008-09-03 2010-03-10 联想(北京)有限公司 控制操作系统切换的方法、装置及系统
US20100122077A1 (en) * 2008-11-13 2010-05-13 David Durham SWITCHING BETWEEN MULTIPLE OPERATING SYSTEMS (OSes) USING SLEEP STATE MANAGEMENT AND SEQUESTERED RE-BASEABLE MEMORY
CN101847105A (zh) * 2009-03-26 2010-09-29 联想(北京)有限公司 一种计算机及多操作系统共享内存的方法

Also Published As

Publication number Publication date
US20140115308A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
WO2012163275A1 (zh) 控制方法、控制装置以及计算机系统
US10775875B2 (en) Devices and methods for switching and communication among multiple operating systems and application management methods thereof
US9894605B2 (en) Low-power wearable devices and methods for switching and communication among multiple operating systems and application management methods thereof
US8296553B2 (en) Method and system to enable fast platform restart
US8806231B2 (en) Operating system independent network event handling
US8874889B2 (en) Method of switching between multiple operating systems of computer system
TWI390410B (zh) 不須執行電力開啟自我測試之操作系統傳送及啟動
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
JP2003196096A (ja) コンピュータシステム、その起動制御方法及びプログラム
US20160055031A1 (en) Dual-System Architecture With Fast Recover And Switching Of Operating System
TW201502764A (zh) 用以從睡眠狀態加速回復之專用啟動路徑
US20150113257A1 (en) System and method for dual os memory switching
CN114879828A (zh) 具有持久性存储器存储装置的固件接口
US20030070065A1 (en) Suspending to nonvolatile storage
JPH07101376B2 (ja) システム再起動装置
US20090013171A1 (en) Computer docking system using hardware abstraction
WO2015085755A1 (zh) 一种操作系统恢复方法、装置及终端设备
CN102841807A (zh) 控制方法、控制装置以及计算机系统
JP2006351013A (ja) 電子装置において保存/リストア手順を行なうための方法及びシステム
JP2023020861A (ja) ファームウェアの更新
US7310725B2 (en) Common platform pre-boot and run-time firmware services
TWI546661B (zh) 使用狀態資訊回復系統之技術
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
US20120311312A1 (en) Fast Boot Via State Recreation
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12793387

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14122649

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12793387

Country of ref document: EP

Kind code of ref document: A1