Patent ID: 8650375

Claim:
A control program of a virtual machine that makes a plurality of OS's operate using a computer having a CPU and memory, wherein the CPU has a memory protection function that is controlled based on a data structure, wherein the data structure has a first field used for determination of validity of a memory address and a second field which is a reserved field, wherein the first field and the second field control approval/disapproval of a memory operation in each memory area, wherein the memory protection function, when the first or second field is set as operation-prohibited, generates a protection exception to an operation of the memory area and generates a cause code indicating a field that becomes an occurrence reason of the protection exception, wherein one OS of the plurality of OS's controls a first data made up of the data structure on the memory, wherein the control program makes the computer execute a procedure of referring to the first data; a procedure of creating a second data that is made up of the data structure and whose second field prohibits a memory operation of the memory area that requires emulation of reading/writing; a procedure of making the memory protection function refer to the second data; and a procedure of determining necessity of emulation by referring to the cause code at the time of occurrence of the protection exception, wherein the control program makes the computer execute a procedure of, at the time of occurrence of the protection exception, reading the cause code; and a procedure of, when the cause code indicates the first field, determining that emulation is not required, wherein the control program makes the computer execute a procedure of, when the cause code indicates the second field, determining necessity of emulation by referring to a use history flag which indicates whether a use history of prohibiting a memory operation by the second field exists or not, wherein the control program makes the computer execute a procedure of, when the cause code indicates the second field and the use history flag is being set for a condition which indicates that a history of prohibiting a memory operation by the second field does not exist, determining that emulation is required, and when the cause code indicates prohibiting a memory operation by the second field and the use history flag is being set for a condition which indicates that a history of prohibiting a memory operation by the second field exists, analyzing a setting of the data structure and determining necessity of the emulation based on whether the setting can generate the protection exception.