2. 2
How (simple case)
Stop tasks that need to survive
Dump their state as a set of image files
Change kernel with Kexec
Restore tasks from image files
3. 3
How (speeding up)
Stop tasks that need to survive
Dump their state as a set of image files
Keep memory in memory
Keep image files in memfs
Collect PFNs with data
Change kernel with Kexec
Get back memory with data
Restore tasks from image files
4. 4
Known problems
Downtime is very sensitive to
IO & dirty set (can't reboot with dirty memory)
Amount of disk reads (e.g. open()-s) on restore
Need to protect mem with images from booting kernel
Subject to all issues kexec is (e.g. not all HW is supported)