XEROX CHECKPOINT 2 4 1 CHECKPOINT 1 4 By: Herb Jellinek (Jellinek.pa@Xerox.com) This document was last edited on January 8, 1988. Introduction CHECKPOINT provides a Cedar-like checkpoint facility to the Xerox Lisp system. Performing a checkpoint freezes the state of virtual memory; if the machine subsequently crashes, or the user logs out and restarts Lisp again, work will progress from the point at which the checkpoint was made. This is different from the effect of SAVEVM in that CHECKPOINT lets you freeze the state of your system and guarantee that it will remain consistent until you decide otherwise. The effect lasts across (LOGOUT T), rebooting, and so on. CHECKPOINT is based on calls to IL:VMEM.PURE.STATE and IL:SAVEVM, but features a convenient user interface. Using it If you have WHO-LINE loaded, CHECKPOINT will install a "Ckpt" item displaying time of last checkpoint or "OFF" if no checkpoint is in effect. Clicking this item will pop up a menu asking you whether to make a new checkpoint or disable the current one, if any. Turning off checkpointing means that the virtual memory file will proceed to be written once again. ckpt on/off? [Exec Command] If the argument on/off? is :ON or NIL, a checkpoint is taken, if :OFF, the checkpoint is disabled, and if :STAT, the checkpoint status is printed. Cautionary note Dirtying your sysout after a checkpoint consumes extra virtual memory backing store, since the system needs to keep 2 copies of every dirty page (the current contents and the pristine version); those extra pages do not get reclaimed by disabling a checkpoint. As a consequence of their not being reclaimed, repeated calls to checkpoint will consume increasing quantities of backing store. (LIST ((PAGE NIL (PAPERSIZE LETTER STARTINGPAGE# 54) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE NIL . LETTER) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE NIL . LETTER) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))1ÈÈ(È.È È(È(ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD HELVETICA MODERN MODERN MODERN MODERNLOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN +2 $ìl l “†Ì1zº