A control method for a virtual machine system for providing, on a physical computer comprising a physical processor and a memory, a plurality of virtual processors,
- the virtual machine system comprising:
- a first virtualization module for providing a first virtual processor;
- a second virtualization module to be executed on the first virtual processor, for providing a second virtual processor;
- and
- a user program to be executed on the second virtual processor, the control method comprising the steps of:
- holding, by the second virtualization module, first processor control information containing a state of the first virtual processor obtained at a time of execution of one of the second virtualization module and the user program;
- holding, by the first virtualization module, second processor control information containing a state of the physical processor obtained at the time of the execution of the second virtualization module, third processor control information containing a state of the physical processor obtained at the time of the execution of the user program, and prefetch entry information in which information to be prefetched in a batch from the third processor control information is set in advance;
- detecting, by the first virtualization module, a first event for switching control from the user program to the second virtualization module on the second virtual processor;
- reading, by the first virtualization module, upon detection of the first event, the information set in the prefetch entry information out of the third processor control information;
- updating, by the first virtualization module, out of the first processor control information, information read based on the prefetch entry information;
- setting, by the first virtualization module, the second processor control information for the physical processor to switch the control to the second virtualization module;
- and
- referring to, by the second virtualization module, the first processor control information;
- wherein the step of updating, by the first virtualization module, out of the first processor control information, information read based on the prefetch entry information comprises a step of setting, by the first vitalization module, an update bitmap for the updated information out of the first processor control information;
- and
- the step of referring to, by the second virtualization module, the first processor control information comprises the steps of:
- identifying subject information of the referring out of the first processor control information;
- referring to the update bitmap, to thereby determine whether or not the identified subject information has been updated;
- reading, upon determining that the identified subject information has been updated based on the update bitmap, the first processor control information;
- and
- issuing, upon determining that the identified subject information has not been updated based on the update bitmap, a first control instruction, to thereby cause the first virtualization module to reflect the subject information of the referring identified out of the third processor control information to the first processor control information.