Check out the new USENIX Web site. next up previous
Next: Resumption Up: Lifecycle of a Persistent Previous: Execution

Suspension

When the user changes to another Palm application, the VM automatically saves the current state of the computation by closing the persistent store in a controlled manner:

1.
All objects whose state is partly transient (i.e., not located on the persistent heap) are requested to internalize their current external state. This process is further explained in 3.4.
2.
Individual modules of the VM, such as the event handling system, are requested to memorize their state. This is implemented by copying C variables either to the heap or to appropriate fields in the store header.
3.
All heap records and the store header are unlocked and can then be freely moved by the operating system.
4.
The store database is closed. It will now appear as a normal PalmOS application in the application manager.




2001-02-27