Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
First Claim
1. A method comprising:
- initiating, by a guest operating system, a change in execution among schedulable entities running on a virtual machine on a processor;
detecting, by the processor, the initiation of the change in execution;
transferring control of the processor to a virtual machine monitor; and
tracking, by the virtual machine monitor, an execution of a schedulable entity that is being switched in for execution as a result of the change in execution.
1 Assignment
0 Petitions
Accused Products
Abstract
Transitions among schedulable entities executing in a computer system are tracked in computer hardware or in a virtual machine monitor. In one aspect, the schedulable entities are operating system processes and threads, virtual machines, and instruction streams executing on the hardware. In another aspect, the schedulable entities are processes or threads executing within the virtual machines under the control of the virtual machine monitor. The virtual machine monitor derives scheduling information from the transitions to enable a virtual machine system to guarantee adequate scheduling quality of service to real-time applications executing in virtual machines that contain both real-time and non-real-time applications. In still another aspect, a parent virtual machine monitor in a recursive virtualization system can use the scheduling information to schedule a child virtual machine monitor that controls multiple virtual machines.
381 Citations
27 Claims
-
1. A method comprising:
-
initiating, by a guest operating system, a change in execution among schedulable entities running on a virtual machine on a processor; detecting, by the processor, the initiation of the change in execution; transferring control of the processor to a virtual machine monitor; and tracking, by the virtual machine monitor, an execution of a schedulable entity that is being switched in for execution as a result of the change in execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine-readable medium providing instructions, which when executed by a machine, causes the machine to perform operations comprising:
-
initiating, by a guest operating system, a change in execution among schedulable entities running on a virtual machine on a processor; detecting, by the processor, the initiation of the change in execution, transferring control of the processor to a virtual machine monitor; and tracking, by the virtual machine monitor, an execution of a schedulable entity that is being switched in for execution as a result of the change in execution. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
a memory; a processing unit coupled to the memory and configured to detect a change in execution among schedulable entities running on a virtual machine initiated by guest operating system and transfer control to a virtual machine monitor; and the virtual machine monitor executed from the memory to cause the processing unit to track an execution of a schedulable entity that is being switched in for execution as a result of the change in execution. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. An apparatus comprising:
a processing unit configured to detect a change in execution among schedulable entities running on a virtual machine initiated by a guest operating system and transfer control to a virtual machine monitor, to compare a state register that identifies the schedulable entity being switched in for execution with a state match register that identifies a schedulable entity that is to be tracked, and to track the schedulable entity being switched into execution if the state register and the state match register match. - View Dependent Claims (27)
Specification