Operating system context switching
First Claim
Patent Images
1. A system comprising:
- a hardware layer comprising hardware;
a context switching layer insertion engine;
an operating system (OS) memory allocation engine coupled to the context switching layer insertion engine;
an OS state preservation engine including a processor, the OS state preservation engine coupled to the context switching layer insertion engine;
a memory boot engine including a processor, the memory boot engine coupled to the context switching layer insertion engine;
wherein, in operation;
the OS memory allocation engine allocates first dynamic memory for a first OS and loads first data associated with the first OS into the first dynamic memory, and allocates second dynamic memory for a second OS and loads second data associated with the second OS into the second dynamic memory;
the context switching layer insertion engine receives a switch instruction to switch from the first OS to the second OS, creates, in response to the switch instruction and after the OS memory allocation engine allocates the first dynamic memory and the second dynamic memory, a context switching layer having direct access to the hardware in the hardware layer, and inserts the context switching layer between the first OS and the hardware layer;
the memory boot engine transfers to the second OS the direct access to the hardware, and loads, in response to the switch instruction, the second OS from the second dynamic memory without invoking one or more boot sequences of the second OS.
4 Assignments
0 Petitions
Accused Products
Abstract
A technique for quickly switching between a first operating system (OS) and a second OS involves deactivating the first OS and loading the second OS from dynamic memory. The technique can include inserting a context switching layer between the first OS and a hardware layer to facilitate context switching. It may be desirable to allocate dynamic memory for the second OS and preserve state of the first OS before deactivating the first OS and loading the second OS from the dynamic memory.
17 Citations
21 Claims
-
1. A system comprising:
-
a hardware layer comprising hardware; a context switching layer insertion engine; an operating system (OS) memory allocation engine coupled to the context switching layer insertion engine; an OS state preservation engine including a processor, the OS state preservation engine coupled to the context switching layer insertion engine; a memory boot engine including a processor, the memory boot engine coupled to the context switching layer insertion engine; wherein, in operation; the OS memory allocation engine allocates first dynamic memory for a first OS and loads first data associated with the first OS into the first dynamic memory, and allocates second dynamic memory for a second OS and loads second data associated with the second OS into the second dynamic memory; the context switching layer insertion engine receives a switch instruction to switch from the first OS to the second OS, creates, in response to the switch instruction and after the OS memory allocation engine allocates the first dynamic memory and the second dynamic memory, a context switching layer having direct access to the hardware in the hardware layer, and inserts the context switching layer between the first OS and the hardware layer; the memory boot engine transfers to the second OS the direct access to the hardware, and loads, in response to the switch instruction, the second OS from the second dynamic memory without invoking one or more boot sequences of the second OS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
allocating first dynamic memory for a first OS; loading first data associated with the first OS into the first dynamic memory; allocating second dynamic memory for a second OS; loading second data associated with the second OS into the second dynamic memory; receiving a switch instruction to switch from the first OS to the second OS; creating in response to the switch instruction, and after allocating the first dynamic memory and allocating the second dynamic memory, a context switching layer having direct access to the hardware in the hardware layer; inserting the context switching layer between the first OS and the hardware layer; transferring to the second OS the direct access to the hardware; loading, in response to the switch instruction, the second OS from the second dynamic memory without invoking one or more boot sequences of the second OS. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system comprising:
-
means for allocating first dynamic memory for a first OS; means for loading first data associated with the first OS into the first dynamic memory; means for allocating second dynamic memory for a second OS; means for loading second data associated with the second OS into the second dynamic memory; means for receiving a switch instruction to switch from the first OS to the second OS; means for creating in response to the switch instruction, and after allocating the first dynamic memory and allocating the second dynamic memory, a context switching layer having direct access to the hardware in the hardware layer; means for inserting the context switching layer between the first OS and the hardware layer; means for transferring to the second OS the direct access to the hardware; means for loading, in response to the switch instruction, the second OS from the second dynamic memory without invoking one or more boot sequences of the second OS.
-
Specification