IP Library Granted Patent US 8,327,174
Granted Patent B2
US 8,327,174 · App. 12/459,953 · Granted Dec 4, 2012

Loading operating systems using memory segmentation and ACPI based context switch

Assignee: Hewlett-Packard Development Company, L.P.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,327,174
App. No.
12/459,953
Granted
Dec 4, 2012
Kind
B2
Abstract

Methods, systems, apparatuses and program products are disclosed for managing multiple OSes within a single computer and the like. Provision is made for swapping OSes with BIOS assistance and conforming with ACPI features for System State management especially as related to ACPI system sleep State S3.

Claims (50)

1. A method of operating a computer comprising:

loading a first OS (operating system) into a first partition of a system memory;

loading a second OS (operating system) into a second partition of the system memory;

in response to a request to switch from the second OS to the first OS, executing an instruction fetched from the second OS to request a change of an ACPI (Advanced Configuration and Power Interface) System State, wherein the request to change the ACPI System State comprises a write to a predefined register;

trapping, by a module, the write to the predefined register;

after the trapping, the module saving a hardware state for a context of the second OS; and

after the saving, the module restoring a saved hardware state for a context of the first OS and transferring control to the first OS.

2. The method of claim 1 wherein:

the ACPI System State is an ACPI System State S3.

3. The method of claim 1 wherein:

the loading of the second OS is performed by the module that comprises a bootloader, and wherein the loading of the second OS is performed responsive to an ACPI request instruction sequence in the first OS.

4. The method of claim 3 further comprising:

the module invoking a BIOS (Basic Input-Output System) service to select a next OS to be loaded by the bootloader.

5. The method of claim 1 wherein:

the first partition is of an ARR (Address Range Reserved) type and the second partition is of an ARM (Address Range Memory) type.

6. The method of claim 1 further comprising:

responsive to executing an instruction fetched from the first partition, restoring the saved hardware state for the context of the second OS and transferring control to the second OS.

7. The method of claim 6 further comprising:

page swapping a portion of the second partition of system memory to a disk;

adding the swapped portion of system memory to a software heap controlled by the first OS; and

reinstating the swapped portion of system memory to the first partition after the executing an instruction fetched from the first partition and before the transferring control to the second OS.

8. The method of claim 1 , wherein the request of the change of the ACPI System State places the second OS into a lower power state.

9. A computer program product comprising:

at least one non-transitory computer-readable medium having instructions encoded therein, the instructions when executed by at least one processor causing said at least one processor to:

load a first OS (operating system) into a first partition of a system memory;

load a second OS (operating system) into a second partition of the system memory;

in response to a request to switch from the second OS to the first OS, execute an instruction fetched from the second OS to request a change of an ACPI (Advanced Configuration and Power Interface) System State, wherein the request to change the ACPI System State comprises a write to a predefined register;

cause a module to trap the write to the predefined register;

after the trapping, cause the module to save a hardware state for a context of the second OS; and

after the saving, cause the module to restore a saved hardware state for a context of the first OS and transfer control to the first OS.

10. The computer program product of claim 9 wherein:

the first and second partitions are mutually exclusive and the loading of the second OS is performed by the module and is performed responsive to an ACPI request instruction sequence in the first OS.

11. The computer program product of claim 9 wherein:

the loading of the second OS is performed by the module and is performed responsive to an ACPI request instruction sequence in the first OS and the module invokes a BIOS (Basic Input-Output System) service to select a next OS to be loaded.

12. The computer program product of claim 9 , wherein the request of the change of the ACPI System State places the second OS into a lower power state.

13. An electronic device comprising:

a controller; and

a first system memory having instructions encoded therein, the instructions when executed by the controller cause said controller to:

load a first OS (operating system) into a first partition of the first system memory or a second system memory;

load a second OS (operating system) into a second partition of the first system memory or the second system memory;

in response to a request to switch from the second OS to the first OS, execute an instruction fetched from the second OS to request a change of an ACPI (Advanced Configuration and Power Interface) System State, wherein the request to change the ACPI System State comprises a write to a predefined register;

cause a module to trap the write to the predefined register;

after the trapping, cause the module to save a hardware state for a context of the second OS; and

after the saving, cause the module to restore a saved hardware state for a context of the first OS and transfer control to the first OS.

14. The electronic device of claim 13 wherein the first and second partitions are mutually exclusive.

15. The electronic device of claim 13 wherein:

the loading of the second OS is to be performed by the module and is performed responsive to an ACPI request instruction sequence in the first OS.

16. The electronic device of claim 13 wherein:

the module is an OSM (OS steering module).

17. The electronic device of claim 13 , wherein the request of the change of the ACPI System State places the second OS into a lower power state.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2010
From: PHOENIX TECHNOLOGIES LTD.
To: HEWLETT-PACKARD COMPANY
Reel/Frame 024721/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2009
From: BANGA, GAURAV; BARDE, KAUSHIK; KAMALVANSHI, AJAY
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 022985/0544 →
Continuity (2)
Provisional Application 61210578 · Mar 20, 2009
Related Publication 20100241839A1 · Sep 23, 2010