Methods and Systems for Running Multiple Operating Systems in a Single Mobile Device
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.
-
Citations
74 Claims
-
1-54. -54. (canceled)
-
55. A system for running a guest operating system from a host operating system in a mobile device, the host system supporting a memory protection mechanism to run said guest operating system within the same memory space of said host operating system while preserving the state of said host operating system in memory throughout the execution of said guest operating system, comprising:
-
a launcher for starting said guest operating system, said launcher going through said memory protection mechanism to mark memory blocks used by said host operating system as protected from said guest operating system; an exit-code for exiting said guest operating system, said exit-code restoring said state of said host operating system; and wherein said guest operating system accesses only memory blocks that have not been marked as protected so that said memory blocks marked as protected are preserved throughout the execution of said guest operating system. - View Dependent Claims (56, 57, 58)
-
-
59. A system for running a guest operating system from a host operating system of a mobile device while keeping the state and data of said host operating system in memory throughout the execution of said guest operating system comprising:
-
a launcher for moving memory blocks in a lower address space used by said host operating system to free memory blocks in an upper address space and preserving said state and data of said host operating system to said upper address space, identifying a memory address location where memory addresses above said location contain said host operating system data and memory addresses below said memory address location that are free to be used by said guest operating system, and launching said guest operating system by passing said memory address location as a reduced memory size to said guest operating system; an exit-code for exiting said guest operating system, said exit-code restoring said state of said host operating system; and wherein said guest operating system runs in said reduced in size memory space and leaves memory space higher than said memory location untouched. - View Dependent Claims (60, 61, 62, 63, 64, 65)
-
-
66. A system for starting a guest operating system from a host operating system of a mobile device within the same memory space of said host operating system while keeping the running state of said host operating system throughout the execution of said guest operating system in place comprising:
-
a launcher for launching said guest operating system; a memory device driver of the guest operating system, said memory device driver receiving a list of memory addresses of currently used memory of said host operating system from said launcher during initialization of said guest operating system, said memory device driver claiming said list of memory addresses and keeping them from being modified by any other part of said guest operating system during the execution of said guest operating system; an exit-code for restoring the state of said host operating system by releasing said list of memory addresses from said device driver; and wherein said guest operating system runs in the same memory space of said host operating system, with memory used by said host operating system being claimed and protected by said memory device driver. - View Dependent Claims (67, 68, 69, 70)
-
-
71. A system for running a guest operating system from a host operating system of a mobile device while keeping the state and data of said host operating system in memory throughout the execution of said guest operating system comprising:
-
a launcher, said launcher saving an image of memory used by said host operating system to an external memory device; and an exit-code, said exit-code restoring said host operating system from said external memory device. - View Dependent Claims (72, 73, 74)
-
Specification