Детальная информация
| Название | Perfly - портативная статическая сборка perf и ее интеграция в контейнерную среду: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта» = Perfly – portable static build and its integration into container environment |
|---|---|
| Авторы | Панкова Полина Алексеевна |
| Научный руководитель | Молодяков Сергей Александрович |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | perf ; профилирование ; статическая сборка ; Linux ; Cmake ; статическая компоновка ; контейнер ; profiling ; static build ; static linking ; container |
| Тип документа | Выпускная квалификационная работа магистра |
| Язык | Русский |
| Уровень высшего образования | Магистратура |
| Код специальности ФГОС | 09.04.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-4888 |
| Права доступа | Доступ по паролю из сети Интернет (чтение) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\45061 |
| Дата создания записи | 04.09.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет возможно после подготовки администраторами необходимых файлов
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Объектом исследования является процесс сборки инструмента анализа производительности perf из состава ядра Linux. Цель работы – разработать систему сборки, обеспечивающую получение статически скомпонованного, переносимого между различными версиями ядра и дистрибутивами исполняемого файла perf. В ходе работы из исходного кода ядра Linux версии 6.18 выделено подмножество каталогов (tools/perf, tools/lib, tools/include, tools/arch), необходимое для автономной сборки. Сформировано фиксированное сборочное окружение на базе контейнера openSUSE Leap 15.2, описанное средствами Dockerfile. Внешние зависимости (binutils, elfutils, libunwind, libtraceevent, libpfm4, opencsd и другие) собраны из исходных текстов в статическом виде сценарием deps.sh. Штатная система сборки на основе GNU Make переработана в систему на основе CMake с использованием механизма пресетов, что позволило получить статическую (perfly) конфигурацию. Результатом является воспроизводимый процесс сборки и переносимый бинарный файл, пригодный для применения на целевых системах с устаревшими версиями ядра.
The subject of the research is the build process of the perf performance analysis tool shipped within the Linux kernel. The aim of the work is to develop a build system that produces a statically linked perf executable portable across different kernel versions and Linux distributions. During the work, a subset of directories (tools/perf, tools/lib, tools/include, tools/arch) required for a standalone build was extracted from the Linux kernel source tree version 6.18. A fixed build environment based on an openSUSE Leap 15.2 container was created and described by means of a Dockerfile. External dependencies (binutils, elfutils, libunwind, libtraceevent, libpfm4, opencsd and others) were built from source as static libraries by the deps.sh script. The original GNU Make based build system was reworked into a CMake based one using the presets mechanism, which made it possible to obtain a static (perfly) configuration. The result is a reproducible build process and a portable binary suitable for use on target systems with outdated kernel versions.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|