Доклады
Построение формальной грамматики системных вызовов
21 октября, 10:30
III зал
Рассмотрена задача восстановления Линукс-процесса цепочками системных вызовов из пространства пользователя. Проведен обзор профилирующих и эвристических решений, комбинаторная оценка числа генерируемых при прямом восстановлении различных деревьев процессов. Предложено решение на основе разбора строчной записи дерева в специальной нотации, для которой построена формальная грамматика с выводящими правилами для fork, setsid, setpgid,exit. Построен прототип, проведены экспериментальные сравнения с двумя profile-based решениями, сделаны выводы и отмечены пути дальнейшего развития.
Доклад рассчитан на специалистов, работающих на стыке дискретной математики, операционных систем, технологий виртуализации, и будет интересен как архитекторам и разработчикам, использующим в своих проектах checkpoint-restore для процессов, ВМ, контейнеров, так и прикладным математикам, работающим с математическими моделями в информатике. Слушатели получат информацию о том, как относительно быстро восстанавливать состояние дерева процессов, не прибегая к прямой генерации с огромным числом вариантов, профилировке и зоопарку эвристик; узнают множество информации, специфичной для checkpoint-restore задач, например, как компактно записать дерево процессов в строку и как механизм стекового кадра помог эффективнее разбирать строчную запись дерева процессов, чтобы восстановить последовательности системных вызовов, какие случаи конфигурации дерева из N процессов наиболее тривиальны и трудозатратны, где тот предел, после которого даже решения на базе ptrace кажутся не такими тяжеловесными.
Знание подходов к восстановлению и анализу последовательностей системных вызовов – важный шаг к эффективному решению различных задач виртуализации, живой миграции и поиска уязвимостей ПО.
Николай Ефанов
Аспирант/ассистент, МФТИ
2016-2017 Работал по гранту от Инфотекс-Академии, победитель программы поддержки исследований.
2015-2016 Работал Младшим Разработчиком ПО в Virtuozzo.
2014-2015 Работал Младшим Разработчиком ПО в Parallels.
2010-2016 Учёба в МФТИ(ГУ). С 2016 г. -Закончил Факультет Управления и Прикладной Математики. Аспирант кафедры Информатики.
2007-2010 Учился в ТНУ им. Вернадского на факультете Прикладной Математики
Родился в г. Симферополе в 1990 г.