User-level Checkpointing Through Exportable Kernel State
Patrick Tullmann, Jay Lepreau, Bryan Ford, and Mike Hibler
Department of Computer Science, University of Utah
Proceedings of the Fifth IEEE International Workshop on
Object Orientation in Operating Systems (IWOOOS)
October 27-28, 1996
Checkpointing, process migration, and similar services need to have access not
only to the memory of the constituent processes, but also to the complete state
of all kernel provided objects (e.g., threads and ports) involved.
Traditionally, a major stumbling block in these operations is acquiring and
re-creating the state in the operating system. We have implemented a
transparent user-mode checkpointer as an application on our Fluke microkernel.
This microkernel consistently and cleanly supports the importing and exporting
of fundamental kernel state safely to and from user applications. Implementing
a transparent checkpointing facility with this sort of kernel support
simplifies the implementation, and expands its flexibility and power.