1. An application-level-runtime-state save-and-restore utility comprising: a snapshot component, implemented as computer instructions stored on a tangible, physical computer-readable medium, that determines, encodes, and stores a snapshot of the current application-level runtime state of a computer system in a computer-readable medium by: storing snapshot-related information in a snapshot data structure, for each currently executing application program, storing information related to a current application-state in an application data structure, and linking the one or more application data structures created for the currently executing application programs to the snapshot data structure; and a restore component, implemented as computer instructions stored on a tangible, physical computer-readable medium, that restores the application-level runtime state of a computer system from a stored snapshot.