After six months of development, the Checkpoint and Restore in User space (CRIU) tool has been designed to preserve and restore processes in the user space. The toolkit allows users to maintain the condition of one or a group of processes and then resume work with a saved position, including after rebooting the system or on another server without breaking up already installed network connections. The project code is written in C.
From the areas of application of CRIU technology, it is noted to ensure the reloading of the OS without violating the continuity of the execution of long-term processes, the live-migration of isolated containers, the acceleration of the launch of slow processes (you can start work with a state preserved after initialization), conducting kernel updates without restarting services, periodically preserving the condition of long-term computational tasks for renewal of work in case of emergency completion, balancing the load on the nodes in clusters, duplication of processes on another machine (Fork on a remote system), the creation of user application snapshots in the process for their analysis on another system, or in case it is necessary to cancel further actions in the program.
In a new issue:
- Added support for the architecture of RISC-V.
- Added support for the PIDFD mechanism that allows the use of invariable identifiers tied to the initial processes (the usual PID can be assigned to another process after the completion of the current process associated with this PID).
- For the ARM64 platform, support for extensions for the authentication of signs (PAC Pointer Authentication Code) that ensures the verification of the return address using digital signatures, which are stored in unused upper battles itself.
- CoreDump file support for architectures AARCH64 and ARM.