Dispatch control of virtual machine
First Claim
1. In a virtual machine system comprising a real machine including a real main storage area and a plurality of real processors and virtual machines each including a virtual main storage area, an operating system, and a plurality of virtual processors, wherein the virtual machines are capable of simultaneous running on the real machine under control of dispatch instructions, a dispatch control method comprising the steps of:
- (a) providing a status indicator for each of said virtual processors, said status indicator including start information required for starting of said virtual processor, wait information indiating whether said virtual processor is in a wait state, and running information indicating whether said virtual processor runs on a certain one of said real processor in said real machine;
(b) detecting whether a relevant portion of said virtual main storage area is in a virtual lock state in response to a lock judge instruction executed by a virtual processor running on a real processor in said real machine, said virtual lock state being a state in which only one virtual processor successful for a lock instruction to the relevant portion of said virtual main storage area, belonging to the virtual machine to which said running virtual processor belongs, can make reference to or update the relevant portion of said virtual main storage area;
(c) intercepting, in response to detection of said virtual lock state by said detecting step (b), the running of said virtual processor;
(d) executing, in response to interception of said running of said virtual processor by said intercepting step (c), said dispatch instructions by referring to said status indicators of step (a) to select another virtual processor belonging to the virtual machine to which said intercepted virtual processor belongs, said another virtual processor having not been in a wait state and having not been running on any real processor of said real machine; and
(e) starting the selected virtual processor to a selected one of said plurality of real processors on which said virtual processor can run.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and a system in a virtual machine system controlling a simultaneous run of one or more operating systems (OS'"'"'s) by use of a virtual machine control program on a real machine including a storage area for each virtual processor constituting the virtual machine for saving a status of each virtual processor, for storing an active flag indicating whether or not the virtual processor is in the active state, and for storing a running priority specified for each virtual processor by the control program wherein when an OS being running issues an instruction to set the processor to the wait state, the instruction is directly executed, a state of the virtual processor being running is stored in the status save area, a processor is selected from processors for which the nonactive state is set, a virtual processor is selected according to the running priority from a group of virtual processors not in the wait state nor in the active state, and a content of the status save area of the virtual processor is set to the processor.
-
Citations
11 Claims
-
1. In a virtual machine system comprising a real machine including a real main storage area and a plurality of real processors and virtual machines each including a virtual main storage area, an operating system, and a plurality of virtual processors, wherein the virtual machines are capable of simultaneous running on the real machine under control of dispatch instructions, a dispatch control method comprising the steps of:
-
(a) providing a status indicator for each of said virtual processors, said status indicator including start information required for starting of said virtual processor, wait information indiating whether said virtual processor is in a wait state, and running information indicating whether said virtual processor runs on a certain one of said real processor in said real machine; (b) detecting whether a relevant portion of said virtual main storage area is in a virtual lock state in response to a lock judge instruction executed by a virtual processor running on a real processor in said real machine, said virtual lock state being a state in which only one virtual processor successful for a lock instruction to the relevant portion of said virtual main storage area, belonging to the virtual machine to which said running virtual processor belongs, can make reference to or update the relevant portion of said virtual main storage area; (c) intercepting, in response to detection of said virtual lock state by said detecting step (b), the running of said virtual processor; (d) executing, in response to interception of said running of said virtual processor by said intercepting step (c), said dispatch instructions by referring to said status indicators of step (a) to select another virtual processor belonging to the virtual machine to which said intercepted virtual processor belongs, said another virtual processor having not been in a wait state and having not been running on any real processor of said real machine; and (e) starting the selected virtual processor to a selected one of said plurality of real processors on which said virtual processor can run. - View Dependent Claims (2)
-
-
3. A dispatch controller in a virtual machine system capable of simultaneously running virtual machines each having at least one virtual processor and an operating system, on a real machine having at least one real processor, comprising;
-
(a) processor status table maens for storing information as to whether each real processor in said real machine is in a state ready for starting any virtual processor; (b) status indicator table means provided for each of the virtual processors for storing start information for each virtual processor, wait information indicating whether each virtual processor is in a wait state, and running priority information; and (c) dispatch means responsive to a request for intercepting running of the virtual processor on a real processor in said real machine coupled to said processor status table means and said status indicator table means for selecting one of the virtual processors not being in a wait state, based on said running priority information, and starting the selected virtual processor on said real processor on which said request is issued and on which the virtual processor can run. - View Dependent Claims (4, 5, 6, 9)
-
-
7. In a virtual machine system comprisnig a real machine having a plurality of real processors, and one or more virtual machines each having a virtual main storage area, an operating system, and a pluraliyt of virtual processors therein, wherein the virtual machines are capable of simultaneous running on the real machine, a dispatch control apparatus comprising:
-
(a) processor status table means for holding start information indicating whether each real processor is available for starting a virtual processor; (b) status indicator table means provided for each virtual processor for holding start information required for starting the virtual processor, and wait information indicating whether the virtual processor is in a wait state; (c) lock detect means responsive to execution of a lock judge instruction by a virtual processor running on one real processor of said real machine for detecting a lock state or a relevant portion of said virtual main storage area said lock state being a state in which only on virtual processor successful in a lock instruction to the relevant portion of said virtual main storage area, belonging to the virtual machine to which said running virtual processor belongs, can make reference to or update the relevant portion of said virtual main storage area; (d) intercept means responsive to detection of a lock state from said lock detect means for intercepting running of the virtual processor; and (e) dispatch means for controlling starting of the virtual processor, said dispatch means including select means responsive to detection of a lock state in a virtual processor being run, by said lock detect means, for referring to said processor status table means and said status indicator table means to select another virtual processor in the virtual machine to which said lock-detected virtual processor belongs and which is not in a wait state, and start means responsive to said select means for starting the selected virtual processor on a selected one of the plurality of real processors on which the virtual processor can run. - View Dependent Claims (8)
-
-
10. In a virtual machine system comprising a real machine including a real main storage area and a real processor, and virtual machines each including a virtual main storage area and a plurality of virtual processors, wherein the virtual machines are capable of simultaneous running on the real machine under control of dispatch instructions, a dispatch control method comprising the steps of:
-
(a) providing a status indicator for each of said virtual processors, said status indicator including start information required for starting of said virtual processor, wait information indicating whether said virtual processor is in a wait state, and running information incidating whether said virtual processor runs on said real processor in said real machine; (b) detecting whether a relevant portion of said virtual main storage area is in a virtual lock state in response to a lock judge instruction executed by a virtual processor running on said real processor in said real machine, said virtual lock state being a state in which only one virtual processor successful in a lock instruction to the relevant portion of said virtual main storage area, belonging to the virtual machine to which said running virtual processor belongs, can make reference to or update the relevant portion of said virtual main storage area; (c) intercepting, in response to detection of said virtual lock state by said detecting step (b), the running of said virtual processor; (d) executing, in response to interception of said running of said virtual processor by said intercepting step (c), said dispatch instructions by referring to said status indicators of step (a) to select another virtual processor belonging to the virtual machine to which said intercepted virtual processor belongs, said another virtual processor having not been in a wait state and having not been running on said real processor of said real machine; and (e) starting the selected virtual processor on said real processor.
-
-
11. In a virtual machine system comprising a real machine having one real processor, and one or more virtual machines each having a virtual main storage area and a plurality of virtual processor therein, wherein the virtual machines are capable of simultaneous running on he real machine, a dispatch control apparatus comprising:
-
(a) processor status table means for holding start information incidating whether said real processor is available for starting a virtual processor; (b) status indicating table means provided for each virtual processor for holding start information required for starting the virtual processor, and wait information indicating whether the virtual processor is in a wait state; (c) lock detect means responsive to execution of a lock judge instruction by a virtual processor running on said real processor of said real machine for detecting a lock state of a relevant portion of said virtual main storage area, said lock state being a state in which only one virtual processor successful in a lock instruction to the relevant portion of said virtual main storage area, belonging to the virtual machine to which said running virtual processor belongs, can make reference to or update the relevant portion of said virtual main storage area; (d) intercept means responsive to detection of a lock state from said lock detect means for intercepting running of the virtual processor; and (e) dispatch means for controlling starting of the virtual processor, said dispatch means including select means responsive to detectino of a lock state in a virtual processor being run, by said lock detect means, for referring to said processor status table means and said status indicator table means to select another virtual processor in the virtual machine to which said lock-detected virtual processor belongs and which is not in a wait state, and start means responsive to said select means for starting the selected virtual processor on said real processor on which the virtual processor can run.
-
Specification