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

Жизненный цикл программы: от компилятора до ОС.

  • Зал: 416. BackEnd
  • Категории: Разработка
  • Секции: C++

Описание:

В этом докладе мы пройдемся по жизненный циклу программы, начиная с исходного кода который мы написали. Как исходный код превращается в исполняемый файл компилятором.

Узнаем как операционная системы (ОС) грузит его и запускает. Как программа общается с ОС. И попробуем разобраться, из чего состоит ОС.

И последняя часть, что такое ядро ОС и какие они бывают. Вещи на самом деле о которых за частую не все знают. И даже индустрия которые, иногда из-за этого незаслуженно недооценивает, хотя некоторые из этих технологий для энтерпрайс-компаний могут кардинально снизить затраты.

В докладе мы обсудим:

- Что такое компиляция

- Что такое линковка

- Поговорим про формат исполняемого файла на примере ELF

- Какой код бывает: позиционно зависимый и позиционно независимы (PIC)

- Релокации

- Модели памяти

- Как происходит загрузка нашего кода

- AOT, JIT и интерпретация, кто они такие

- Что такое виртуальная память

- Что такое процесс

- Что такое поток

- Как программа взаимодействует с ОС: syscall и библиотеки

- Что такое ОС и для чего нужна

- Что такое рантайм

- Что такое ядро ОС

- Монолитное ядро

- Микро-ядро

- Взглянем вскользь на устройство микро-ядра на примере KasperkyOS

- Что такие RTOS

- Что такой Гипервизор

- Unikernel

О спикере

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

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

Старший разработчик в команде микро-ядра KasperskyOS.

Создатель сатртапа HyperIntegrate. Создал продукт, позволяющий подключать Android как файловую систему на macOS.

Занимался исследованиями и разработкой компиляторов в Huawei. Разрабатывал алгоритмы регистровой эллокации и различные оптимизации. А так же тулчейна для Harmony OS.

В DINS занимался разработкой сервиса передачи видео в реальном времени.

Больше 10 лет занимался разработкой драйверов для macOS в Paragon Software. Разрабатывал драйвера файловых систем, имплементацией файловых систем, системы снепшотинга, реверс-инженирингом, и прочими системными разработками.

До этого разрабатывал компоненты ГИС.

Увлекаюсь изучением процессорных архитектур и разных аспектов ABI.

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