Поданные доклады

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

13 Считают: Это интересно!

Рассмотрена задача восстановления Линукс-процесса цепочками системных вызовов из пространства пользователя. Проведен обзор профилирующих и эвристических решений, комбинаторная оценка числа генерируемых при прямом восстановлении различных деревьев процессов. Предложено решение на основе разбора строчной записи дерева в специальной нотации, для которой построена формальная грамматика с выводящими правилами для 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 EMCDINS

Embedded

Аурига

Партнёры

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

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

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

Association for Computing MachineryACM Special Interest Group on Software Engineering

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

CUSTISСофтИнвентСтудия „7пап“Хостинг-Центр

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

Software Russiai-Help