(* This is a picture of the concurrent checkpointing algorithm. *)

newgraph
xaxis min 0 max 3 size 2.5 nodraw
yaxis min 0 max 2.0 size 2 nodraw

(* Draw the address space *)

newstring fontsize 9 hjc vjt x 0.25 y -0.07 : 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
newstring hjc vjc fontsize 7 x 1.3 y 0.3 : . . .
newstring fontsize 9 hjc vjt x 1.05 y -0.07 : CPU\
States

(* Draw the second address space *)
newcurve fill 1 marktype ellipse marksize 0.2 1.5 pts 2.2 1.25
newcurve marktype box marksize 0.5 2.0 fill 1 pts 1.95 1
copycurve marksize 0.5 1.4 fill .5 pts 1.95 1.3
copycurve marksize 0.5 0.1 pts 1.95 0.55
newstring fontsize 9 hjc vjt x 1.95 y -0.07 : New Address\
Space

(* Draw all the arrows *)
newline rarrow asize .07 .04  pts 0.6 1.3   1.60 1.3
newline pts 1.3 0.575   1.22  0.4
newline pts 1.3 0.575   1.3  0.4
newline pts 1.3 0.575   1.38  0.4
newline rarrow asize .07 .04  pts 1.0 0.6   1.3 0.575   1.6 0.55

newline linetype longdash rarrow asize .07 .04  pts 2.3 1.25 2.6 0.45

(* Draw the disk *)
shell : echo "2.5 0.0" | awk -f disk.awk
