Patent ID: 9747031
Date: 2017-08-29
CPC Classifications: G06F

Claim:
1. A computer system for copying a source file to a destination file using a virtual memory manager of a computer operating system comprising: one or more processors, one or more computer-readable storage devices, and a plurality of program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, the plurality of program instructions comprising: program instructions to receive, by the virtual memory manager, a request to copy the source file to the destination file; based on the virtual page in the source file being clean, program instructions to move a reference to the virtual page from a source file control block to a destination file control block, and to schedule the moved virtual page for flush to disk, and to free the moved virtual page upon completion of the flush to disk; based on the virtual page in the source file being in an allocated but empty portion of the source file, program instructions to ignore the virtual page in the source file; based on the virtual page in the source file including uncommitted modifications, program instructions to allocate the real memory page associated with the destination file, to copy the virtual page in the source file to the allocated real memory page, to schedule the allocated real memory page for the flush to disk, and to free the allocated real memory page upon completion of the flush to disk; and based on the virtual page in the source file not being in memory, program instructions to initiate a page fault, and to perform at least one of: move the virtual page to the destination file, copy the virtual page to the destination file, and ignore the virtual page.