Построение формальной грамматики системных вызовов (Николай Ефанов, SECR-2017) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
{{SlidesSection}} [[File:Построение формальной грамматики системных вызовов (Николай Ефанов, SECR-2017).pdf|left|page=-|300px]] {{----}} {{LinksSection}} * [http://2017.secr.ru/program/submitted-presentations/constructing-the-formal-grammar-of-system-calls Страничка доклада на сайте конференции] <!-- <blockquote>[©]</blockquote> --> <references/> <!-- topub --> {{stats|disqus_comments=0|refresh_time=2017-12-25T21:262018-01-10T20:48.772977:00.886107|vimeo_comments=0|vimeo_plays=1213|youtube_comments=0|youtube_plays=06}} [[Категория:SECR-2017]] [[Категория:Наука]] [[Категория:Linux]] [[Категория:Виртуализация]] |
Версия 17:48, 10 января 2018
- Докладчик
- Николай Ефанов
Рассмотрена задача восстановления Линукс-процесса цепочками системных вызовов из пространства пользователя. Проведен обзор профилирующих и эвристических решений, комбинаторная оценка числа генерируемых при прямом восстановлении различных деревьев процессов. Предложено решение на основе разбора строчной записи дерева в специальной нотации, для которой построена формальная грамматика с выводящими правилами для fork, setsid, setpgid,exit. Построен прототип, проведены экспериментальные сравнения с двумя profile-based решениями, сделаны выводы и отмечены пути дальнейшего развития.
Доклад рассчитан на специалистов, работающих на стыке дискретной математики, операционных систем, технологий виртуализации, и будет интересен как архитекторам и разработчикам, использующим в своих проектах checkpoint-restore для процессов, ВМ, контейнеров, так и прикладным математикам, работающим с математическими моделями в информатике. Слушатели получат информацию о том, как относительно быстро восстанавливать состояние дерева процессов, не прибегая к прямой генерации с огромным числом вариантов, профилировке и зоопарку эвристик; узнают множество информации, специфичной для checkpoint-restore задач, например, как компактно записать дерево процессов в строку и как механизм стекового кадра помог эффективнее разбирать строчную запись дерева процессов, чтобы восстановить последовательности системных вызовов, какие случаи конфигурации дерева из N процессов наиболее тривиальны и трудозатратны, где тот предел, после которого даже решения на базе ptrace кажутся не такими тяжеловесными.
Знание подходов к восстановлению и анализу последовательностей системных вызовов – важный шаг к эффективному решению различных задач виртуализации, живой миграции и поиска уязвимостей ПО.
Видео
Презентация
Примечания и ссылки
Plays:19 Comments:0