An information processing device for executing first and second programs, comprising: a main memory; a management memory for storing first page information including first virtual addresses used by the first program, second page information including second virtual addresses used by the second program and management information indicative of association between first and second virtual addresses and physical addresses of the main memory; and a first processing module for executing the first program by loading the first page information; a second processing module for executing the second program by loading the second page information; a management processing module for executing a management program by loading the management information; a receiving module for receiving a request to assign a shared area of the main memory to be shared by the first and second programs; a determining module for determining a physical address of the shared area corresponding to one of the first virtual addresses used by the first program and one of the second virtual addresses used by the second program and storing information of association between the physical address of the shared area and the ones of the first and second virtual addresses as a part of the management information in the management memory; a transmitting module for transmitting a notification of data writing into the shared area by the first program from the first program to the second program; a locking module for locking the shared area so as to prevent the shared area from being overwritten after the notification by adding lock information into the management memory; and a unlocking module for unlocking the shared area after the second program has read data from the shared area so as to allow either of the first and the second programs to write data into the shared memory by resetting the lock information in the management memory. a main memory; a management memory for storing first page information including first virtual addresses used by the first program, second page information including second virtual addresses used by the second program and management information indicative of association between first and second virtual addresses and physical addresses of the main memory; and a first processing module for executing the first program by loading the first page information; a second processing module for executing the second program by loading the second page information; a management processing module for executing a management program by loading the management information; a receiving module for receiving a request to assign a shared area of the main memory to be shared by the first and second programs; a determining module for determining a physical address of the shared area corresponding to one of the first virtual addresses used by the first program and one of the second virtual addresses used by the second program and storing information of association between the physical address of the shared area and the ones of the first and second virtual addresses as a part of the management information in the management memory; a transmitting module for transmitting a notification of data writing into the shared area by the first program from the first program to the second program; a locking module for locking the shared area so as to prevent the shared area from being overwritten after the notification by adding lock information into the management memory; and a unlocking module for unlocking the shared area after the second program has read data from the shared area so as to allow either of the first and the second programs to write data into the shared memory by resetting the lock information in the management memory.