Open main menu

CRIU β

Changes

Restorer v2

2 bytes removed, 18:46, 10 September 2015
m
Concept
Another way of describing the thing is -- a string of sequences like <code>{o,t,[l]*}</code> where <code>o</code> is an ID of an object, <code>t</code> is its type, <code>[l]*</code> is an array of links to another objects. The generation rules can look like
* fork() -- <code>({(*),task,[(*)]}) -> \1,{$new,task,([parent=\2,\3])}</code> which means that any task can create a copy of itself having it as parent (link) and the rest of objects shared* open() -- <code>{(*),task,(*)} -> {-1,task,[file=$new]},{$new,file,[]}</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.