(* This is a picture of the sequential checkpointing algorithm. *) newgraph xaxis min 0 max 3 size 2.5 nodraw yaxis min 0 max 2.0 size 2 nodraw newstring fontsize 7 hjc vjc x 0.25 y 0.3 : Code copystring y 1.3 : Globals,\ Heap\ &\ Stack newstring fontsize 9 hjc vjt x 0.25 y -0.07 : Address\ Space (* Draw the address space *) newcurve fill 1 marktype ellipse marksize 0.2 1.4 pts 0.5 1.3 newcurve marktype box fill 1 marksize 0.5 2.0 pts 0.25 1 newline pts 0.0 0.6 0.5 0.6 (* Draw the registers *) shell : echo "0.7 0" | awk -f regs.awk shell : echo "1.1 0" | awk -f regs.awk shell : echo "1.5 0" | awk -f regs.awk shell : echo "2.1 0" | awk -f regs.awk newstring hjc vjc fontsize 7 x 1.95 y 0.3 : . . . newstring fontsize 9 hjc vjt x 1.55 y -0.07 : CPU\ States (* Draw the disk *) shell : echo "2.1 1.6" | awk -f disk.awk (* Draw the arrows to the disk *) newline rarrow asize .07 .04 pts 0.6 1.3 2.0 1.8 newline rarrow asize .07 .04 pts 1.45 0.9 2.15 1.57 newline pts 1.0 0.6 1.45 0.9 newline pts 1.4 0.6 1.45 0.9 newline pts 1.5 0.6 1.45 0.9 newline pts 2.1 0.6 1.45 0.9