Open main menu

CRIU β

Changes

Restorer v2

5 bytes added, 18:45, 10 September 2015
m
Concept
Another way of describing the thing is -- a string of sequences like <pre>{o,t,[l]*}</pre> where <pre>o</pre> is an ID of an object, <pre>t</pre> is its type, <pre>[l]*</pre> is an array of links to another objects. The generation rules can look like
* fork() -- <precode>({(*),task,[(*)]}) -> \1,{$new,task,([parent=\2,\3])}</precode> which means that any task can create a copy of itself having it as parent (link) and the rest of objects shared* open() -- <precode>{(*),task,(*)} -> {-1,task,[file=$new]},{$new,file,[]}<pre/code> which means that any task can create a new object of type file linked to it
The restoring process then is: given a final graph or string and the set of generating rules find out what sequence of the latter can produce the former.