Евгений Ерохин
Старший Разработчик @ Kaspersky
Санкт-Петербург

Разбираем и собираем пакеты в C++, безопасно и быстро.

  • День выступления: 28.09.2024
  • Время начала: 14:25
  • Время окончания: 15:05
  • Зал: Разработка-1 [Green6]
  • Категории: Разработка
  • Секции: C++

Описание:

C++ славится тем что в нем все время стреляют себе в ноги. И как правило это связано с работой с памятью. Но, есть методы которые помогают справиться с этим. Давайте разберем один из методов разбора и сбора пакетов, который был успешно применен как в бекэнде в пользовательском пространстве, так и в ядре macOS для разбора USB пакетов. Метод позволяет работать с пакетами весьма эффективно, при этом обеспечивает полный контроль памяти, и не позволяет случаться таким ошибкам как “выход за границы буфера”.

Этот метод хорошо себя показал в высоконагруженном сервисе передачи видео в реальном времени. А так же драйвере для macOS, где использовался для работы с устройсвами по протоколу поверх USB.

- рассмотрим сам метод.

- как он позволяет структурировать код и доступ к данным.

- какие особенности будут у него в пространстве ядра

- рассмотрим проблематику работы с упакованными структурами

- какой код генерирует компилятор

- рассмотрим особенности связанные с кроссплатформенностью (неприятные сюрпризы от компилятора)

О спикере

Евгений Ерохин

Старший Разработчик @ Kaspersky
Санкт-Петербург

Старший разработчик в команде микро-ядра KasperskyOS. Создатель сатртапа HyperIntegrate. Создал продукт, позволяющий подключать Android как файловую систему на macOS. Занимался исследованиями и разработкой компиляторов в Huawei. Разрабатывал алгоритмы регистровой эллокации и различные оптимизации. А так же тулчейна для Harmony OS. В DINS занимался разработкой сервиса передачи видео в реальном времени. Больше 10 лет занимался разработкой драйверов для macOS в Paragon Software. Разрабатывал драйвера файловых систем, имплементацией файловых систем, системы снепшотинга, реверс-инженирингом, и прочими системными разработками. До этого разрабатывал компоненты ГИС. Увлекаюсь изучением процессорных архитектур и разных аспектов ABI.

Похожие доклады