Virtual computer system having input/output interrupt control of virtual machines
First Claim
1. A virtual computer system, comprising:
- at least one central processing unit executing at least one of a plurality of virtual machines on a time shared basis;
input/output means for generating an input/output interrupt request addressed to one of the virtual machines;
specific instruction generating means for setting an interrupt priority of a currently unexecuting virtual machine over each currently executing virtual machine and for generating a specific instruction indicating the interrupt priority to dynamically change interrupt priorities of the virtual machines;
decision means, operatively connected to said input/output means and said specific instruction generating means, for determining whether the input/output interrupt request addressed to the one of the virtual machines is addressed to the currently unexecuting virtual machine, said decision means including;
an interrupt pending register having areas individually provided for each of the virtual machines, at least one of the areas including an identifier indicating the one of the virtual machines to which the input/output interrupt request will be output;
a mask register having areas individually provided for each of the virtual machines and storing mask information indicating whether each of the virtual machines will accept the input/output interrupt request in a corresponding one of the areas for each of the virtual machines, the specific instruction being written into a corresponding one of the areas related to the priority indicated by the specific instruction;
first logic means, operatively connected to said interrupt pending register and said mask register, for determining the one of the virtual machines requested by the input/output interrupt request by comparing the identifier stored in said interrupt pending register and the mask information stored in said mask register in each of the corresponding areas for each of the virtual machines and for outputting the identifier corresponding to the one of the virtual machines requested;
an inner register storing an identifier for each of the currently executing virtual machines; and
second logic means, operatively connected to said first logic means and said inner register, for determining whether the identifier supplied from said first logic means coincides with the identifier supplied from said inner register and for generating an interrupt accepting signal when it is determined that the identifier supplied from said first logic means does not coincide with the identifier supplied from said inner register; and
monitor means, operatively connected to said decision means and said at least one central processing unit executing the virtual machines, for causing said at least one central processing unit to initiate the currently unexecuting virtual machine when said decision means determines that said input/output interrupt request is addressed to the currently unexecuting virtual machine.
0 Assignments
0 Petitions
Accused Products
Abstract
A virtual computer system including a plurality of virtual machines running in a central processing unit with time shared, an input/output unit generating an input/output interrupt request, and a specific instruction generating part for generating a specific instruction indicating a priority to one of the virtual machines which is running. The system further includes a decision part for determining whether the input/output interrupt request addressed to one of the virtual machines has a priority equal to that indicated by the specific instruction and for generating an interrupt accepting signal when the decision result is affirmative. Moreover, the system includes a monitor part for transferring a right to use the central processing unit from the one of the virtual machines which is running to the one of the virtual machines which is addressed by the input/output interrupt request when the interrupt accepting signal from the decision part is supplied to the monitor part.
225 Citations
11 Claims
-
1. A virtual computer system, comprising:
-
at least one central processing unit executing at least one of a plurality of virtual machines on a time shared basis; input/output means for generating an input/output interrupt request addressed to one of the virtual machines; specific instruction generating means for setting an interrupt priority of a currently unexecuting virtual machine over each currently executing virtual machine and for generating a specific instruction indicating the interrupt priority to dynamically change interrupt priorities of the virtual machines; decision means, operatively connected to said input/output means and said specific instruction generating means, for determining whether the input/output interrupt request addressed to the one of the virtual machines is addressed to the currently unexecuting virtual machine, said decision means including; an interrupt pending register having areas individually provided for each of the virtual machines, at least one of the areas including an identifier indicating the one of the virtual machines to which the input/output interrupt request will be output; a mask register having areas individually provided for each of the virtual machines and storing mask information indicating whether each of the virtual machines will accept the input/output interrupt request in a corresponding one of the areas for each of the virtual machines, the specific instruction being written into a corresponding one of the areas related to the priority indicated by the specific instruction; first logic means, operatively connected to said interrupt pending register and said mask register, for determining the one of the virtual machines requested by the input/output interrupt request by comparing the identifier stored in said interrupt pending register and the mask information stored in said mask register in each of the corresponding areas for each of the virtual machines and for outputting the identifier corresponding to the one of the virtual machines requested; an inner register storing an identifier for each of the currently executing virtual machines; and second logic means, operatively connected to said first logic means and said inner register, for determining whether the identifier supplied from said first logic means coincides with the identifier supplied from said inner register and for generating an interrupt accepting signal when it is determined that the identifier supplied from said first logic means does not coincide with the identifier supplied from said inner register; and monitor means, operatively connected to said decision means and said at least one central processing unit executing the virtual machines, for causing said at least one central processing unit to initiate the currently unexecuting virtual machine when said decision means determines that said input/output interrupt request is addressed to the currently unexecuting virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification