Methods and systems for running multiple operating systems in a single mobile device
First Claim
1. A method, comprising:
- protecting at least a first portion of a memory from access, wherein the memory is configured to store a first operating system and a second operating system, wherein the second operating system is configured to be executed by the first operating system, and wherein the at least first portion of the memory is protected from access such that the second operating system cannot access the first portion of the memory;
storing a state of the first operating system and at least one memory attribute associated with the first operating system in the first portion of the memory;
loading the second operating system into a second portion of the memory;
transferring control to the second operating system;
executing an exit code to restore the first operating system based at least in part on the stored state of the first operating system and the stored memory attributes associated with the first operating system, wherein storing a state of the first operating system comprises;
copying and moving the state from a lower memory address space to an upper address space; and
faking a reduced memory environment.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for running multiple operating systems in a single embedded or mobile device (include PDA, cellular phone and other devices) are disclosed. The invention allows a mobile device that normally can only run a single operating system to run another operating system while preserving the state and data of the original operating system. Guest OS is packaged into special format recognizable by the host OS that still can be executed in place by the system. The Methods include: Change the memory protection bits for the original OS; Fake a reduced physical memory space for guest OS; Use special memory device driver to claim memories of host OS; Backup whole image of the current OS and data to external memory card.
44 Citations
22 Claims
-
1. A method, comprising:
-
protecting at least a first portion of a memory from access, wherein the memory is configured to store a first operating system and a second operating system, wherein the second operating system is configured to be executed by the first operating system, and wherein the at least first portion of the memory is protected from access such that the second operating system cannot access the first portion of the memory; storing a state of the first operating system and at least one memory attribute associated with the first operating system in the first portion of the memory; loading the second operating system into a second portion of the memory; transferring control to the second operating system; executing an exit code to restore the first operating system based at least in part on the stored state of the first operating system and the stored memory attributes associated with the first operating system, wherein storing a state of the first operating system comprises; copying and moving the state from a lower memory address space to an upper address space; and faking a reduced memory environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having computer-executable instructions stored thereon, the instructions comprising:
-
instructions to protect at least a first portion of the memory from access, wherein the memory is configured to store a first operating system and a second operating system, wherein the second operating system is configured to be executed by the first operating system, and wherein the at least first portion of the memory is protected from access such that the second operating system cannot access the first portion of memory; instructions to store a state of the first operating system and at least one memory attribute associated with the first operating system in the first portion of the memory; instructions to load the second operating system into a second portion of the memory; instructions to transfer control to the second operating system; instructions to execute an exit code to restore the first operating system based at least in part on the stored state of the first operating system and the stored memory attributes associated with the first operating system, wherein storing a state of the first operating system comprises; copying and moving the state from a lower memory address space to an upper address space; and faking a reduced memory environment. - View Dependent Claims (20)
-
-
21. A device, comprising:
-
a memory configured to store a first operating system and a second operating system, wherein the second operating system is configured to be executed by the first operating system; a processor operatively coupled to the memory and configured to; protect at least a first portion of the memory from access such that the second operating system cannot access the first portion of memory; store a state of the first operating system and at least one memory attribute associated with the first operating system in the first portion of the memory; load the second operating system into a second portion of the memory; transfer control to the second operating system; execute an exit code to restore the first operating system based at least in part on the stored state of the first operating system and the stored memory attributes associated with the first operating system, wherein storing a state of the first operating system comprises; copying and moving the state from a lower memory address space to an upper address space; and faking a reduced memory environment. - View Dependent Claims (22)
-
Specification