A non-transitory computer-readable storage medium with a computer program thereon, the computer program for use with an information processing apparatus that executes data processing by associating a plurality of logical processors with a physical processor through time-sharing, comprising:
- a module for executing, by a control OS, a process of associating the plurality of logical processors, each logical processor corresponding to a guest OS, respectively, with the physical processor through time sharing;
- a module for executing a data process such that a memory-mapped I/O (MMIO) register of the physical processor is used by a guest OS in an active state where the physical processor is allocated to a respective logical processor, among the plurality of logical processors, corresponding to the guest OS;
- and
- a module for executing, by the control OS, a process such that copy information of the MMIO register corresponding to the respective logical processor corresponding to the guest OS is stored in memory both in an active state where the physical processor is allocated to the respective logical processor and in an inactive state where no physical processor is allocated to the respective logical processor,
- wherein both in the active state and inactive state of the respective logical processor corresponding to the guest OS, reading, using the guest OS, data of the MMIO register is done by reading the data from the copy information stored in the memory without accessing the MMIO register via the control OS, and
- wherein access to the copy information of the MMIO register stored in memory is obtained via a guest OS programming interface (GOI) set by the control OS.