To checkpoint and restart a process, one must consider all the components which make up a process's state. UNIX processes consist generally of an address space, (generally divided into text, data, and stack), and ``other'' information about the process which is maintained by the kernel. The state of the process's registers, any special handling requested for various signals, and the status of open files fall into this category.