A system that, at a process checkpoint, pauses the process to copy the system state for the process and then copies pages of the process in memory to disk storage while the process continues to run. When a write to a page by the process is to occur that requires a translation from a virtual address to a physical address the write is intercepted. The page that is being modified is duplicated and then the process is allowed to modify the page and continue. The duplicate page is then stored as part of the checkpoint copy.