Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background
AssigneeIntel Corporation
InventorsMichael A. Rothman, Vincent J. Zimmer, Ping Wu, Zijan You
Life of this patent
Estimating the term…
Abstract
Apparatuses, methods and storage media associated with switching operating systems are disclosed herewith. In embodiments, an apparatus for computing may include one or more processors; and a virtual machine manager to be operated by the one or more processors to instantiate a first virtual machine with a first operating system in a background, and a second virtual machine with a second operating system in a foreground; wherein the virtual machine manager is further to place the first virtual machine, on instantiation, in background into a standby state. Other embodiments may be disclosed or claimed.
Claims15
An apparatus for computing, comprising:
- one or more processors;
- and
- a virtual machine manager to be operated by the one or more processors to instantiate, a first virtual machine with a first operating system in a background, and a second virtual machine with a second operating system in a foreground;
- wherein the virtual machine manager is to further on instantiation, cause the first virtual machine in background to enter a standby state;
- wherein the virtual machine manager is to further cause the second virtual machine to enter into the standby state, and move the second virtual machine, in the standby state, to background, in response to a system event, and additionally, bring the first virtual machine into the foreground, and cause the first virtual machine, in foreground, to resume out of the standby state;
- wherein to enter into the standby state, the second virtual machine is to generate a sleep event;
- wherein the apparatus further comprises a driver to cause an abbreviated restart of the apparatus, when the second virtual machine is entering into the standby state, and being moved to background;
- wherein to cause the abbreviated restart of the apparatus, the driver is to detect for the sleep event of the second virtual machine, and on detection of the sleep event of the second virtual machine, save a context of the second operating system, program a sleep state register of the apparatus with information that denotes the apparatus is to enter a sleep state, and a resume vector pointing to the driver to regain control as the apparatus enters the sleep state;
- and
- wherein on regaining control, the driver is to immediately resume the apparatus to switch to the first virtual machine in foreground.
A method for computing, comprising:
- instantiating, by a virtual machine manager of a computing device, a first virtual machine with a first operating system in a background, and a second virtual machine with a second operating system in a foreground;
- causing, by the virtual machine manager, the first virtual machine in background to enter into a standby state;
- in response to a system event, causing, by the virtual machine manager, the second virtual machine to generate a sleep event to enter into a standby state, and moving the second virtual machine, in the standby state, to background, and additionally, bringing the first virtual machine out of the standby state and resuming in foreground;
- detecting, by a driver of the computing device, the sleep event of the second virtual machine, and in response to detecting the sleep event of the second virtual machine, causing an abbreviated restart of the computing device, including saving a context of the second operating system, programming a sleep state register of the computing device with information that denotes the computing device is to enter a sleep state, and a resume vector pointing to the driver, and on regain control as the computing device enters into the sleep state, resuming immediately, by the driver, the computing device to switch to the first virtual machine in foreground.
At least one non-transitory computer-readable storage medium comprising a plurality of instructions to cause an apparatus, in response to execution of the instructions by the apparatus, to:
- instantiate, with a virtual machine manager, a first virtual machine with a first operating system in a background, and a second virtual machine with a second operating system in a foreground;
- cause, with the virtual machine manager, the first virtual machine in background to enter into a standby state;
- cause, with the virtual machine manager, the second virtual machine to enter into the standby state, and move the second virtual machine, in the standby state, to background, in response to a system event, and additionally, bring the first virtual machine into the foreground, and cause the first virtual machine, in foreground, to resume out of the standby state;
- wherein to enter into the standby state, the second virtual machine is to generate a sleep event;
- wherein the apparatus is further caused to cause, with a driver, an abbreviated restart of the apparatus, when the second virtual machine is entering into the standby state, and being moved to background;
- wherein to cause the abbreviated restart of the apparatus, the driver is to detect for the sleep event of the second virtual machine, and on detection of the sleep event of the second virtual machine, save a context of the second operating system, program a sleep state register of the apparatus with information that denotes the apparatus is to enter a sleep state, and a resume vector pointing to the driver to regain control as the apparatus enters the sleep state;
- and
- wherein on regaining control, the driver is to immediately resume the apparatus to switch to the first virtual machine in foreground.
Dependencies are inferred from the claim text.