1. A method for migrating a process from a source computer system to a target computer system, comprising: generating a checkpoint for the process on the source computer system, wherein the checkpoint includes a kernel state for the process; swapping out dirty pages of a user context for the process to a storage device which is accessible by both the source computer system and the target computer system; transferring the checkpoint to the target computer system; loading the kernel state contained in the checkpoint into a skeleton process on the target computer system; swapping in portions of the user context for the process from the storage device to the target computer system; and resuming execution of the process on the target computer system.