3

CRIU. Решение в общем виде задачи
восстановления дерева процессов

Павел Емельянов

ПОСТАНОВКА ЗАДАЧИ

Имеется дерево процессов, у каждого процесса есть определённый набор ресурсов (открытые файлы, номер группы, набор страниц памяти и т.д.). Ресурсы могут быть разделены между несколькими процессами (например – несколько процессов могут делить между собой группу). Правила “получения” ресурсов разные – часть ресурсов могут быть “взяты” у произвольного процесса (напр. – открытый файл может быть переслан через сокет), часть “взяты” при определённых ограничениях (процесс может войти в группу с любым номером, но в ней должен быть “лидер”), часть только унаследованы от родителя (например терминальная сессия).

Задача состоит в том, чтобы по заданному результирующему дереву процессов и ресурсов восстановить последовательность шагов по их созданию и открытию.