レジスタとスレッド
命令ポインタ、レジスタ、シグナル、スレッドの関係を保存します。
プロセスの状態を保存し、同じ位置から再開する
CRIUは、Linuxプロセスやコンテナの状態をユーザー空間から読み出し、ファイルへ保存し、後で復元します。
命令ポインタ、レジスタ、シグナル、スレッドの関係を保存します。
メモリマップとページの内容をimage filesへ記録します。
ファイルディスクリプタ、パイプ、UNIX socket、TCP接続などの状態を調べます。
プロセス階層とPIDを作り直し、保存時のnamespace構成を復元します。
PIDなどの識別子をnamespace内へ閉じ込めると、保存前と同じ番号でプロセスを作り直せます。Linux-CRはnamespaceとfreezer cgroupを土台に、カーネル内のcheckpoint/restoreを提案しました。
Virtuozzoで始まったCRIUは、保存と復元の制御をユーザー空間へ置きました。必要なカーネルAPIを少しずつ上流へ追加し、現在はLXC、Docker、Podmanなどから利用されています。