City: Test Saint Petersburg Novosibirsk Kazan Language: Русский English

Low-level vision of dynamic libraries and code models


Этот мини-курс посвящен устройству динамических библиотек на низком уровне в современном 64-разрядном окружении. Будут рассмотрены следующие вопросы:

— Зачем нужен компоновщик и динамический загрузчик.
— Релокация.
— Структура ELF-файлов: секции, сегменты. Таблицы символов.
— Отличие статического и динамического связывания.
— Position Independent Code.
— Global Offset Table и Program Linkage Table.
— Как описывается интерфейс динамических библиотек.
— Процесс разрешения символов.
— Оптимизация динамических библиотек.
— Small, Medium, Large Code Models и как они изменяются в условиях Position Independent Code.

Будут использоваться языки С и ассемблера, желательно их базовое понимание. Для иллюстрации мы напишем несколько примеров библиотек на них.

Course Offerings

Semester Branch
autumn 2017 Saint Petersburg