Доклады

Построение формальной грамматики системных вызовов

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 г.

Спонсоры и партнёры

Спонсоры

Gold

JetBrainsFirst Line Software

Silver

Dell EMCDINSVeeam Software

Embedded

Аурига

Sponsors

Группа компаний АйТиT-SystemsПрограмма «Единая фронтальная система»

Individual

Андрей Терехов

Партнёры

Генеральные партнёры

АП КИТРУССОФТ

При содействии

Association for Computing MachineryACM Special Interest Group on Software Engineering

Технические партнёры

CUSTISСофтИнвентСтудия „7пап“Хостинг-ЦентрГруппа МPrezentПринт СалонDPI.Solutions

При поддержке

РАЭК

Организаторы

Software Russiai-Help