Checkpointing

Checkpointing is an operation performed by the operating system where it copies a current processes state and saves a write protected copy of it. The operating system can then resume the process from that state in the future. This is useful for:

  • Debugging: You can jump between checkpoints to find out where bugs happen.
  • Migration: You can move the processes state onto another machine and resume it from there.
  • Disaster recovery: You can save old versions of the program if something goes wrong and restart from a past checkpoint.