RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2025, том 37, выпуск 6(3), страницы 91–108 (Mi tisp1092)

Адаптация алгоритма ThreadSanitizer для обнаружения гонок по данным в ядре ОСРВ

Е. С. Ельчинов

Институт системного программирования им. В.П. Иванникова РАН

Аннотация: Дизайн и реализация корректных алгоритмов многопоточной синхронизации являются неотъемлемой частью разработки современных операционных систем реального времени. Тестирование корректности алгоритма в модели памяти языка – одна из важнейших задач на этом пути. В статье описывается интеграция широко используемого алгоритма обнаружения гонок данных ThreadSanitizer из программной инфраструктуры LLVM в систему сборки и тестирования ядра операционной системы реального времени и его преимущества и недостатки в сравнении с другими подходами обнаружения ошибок многопоточной синхронизации. Среди прочего рассматривается определение семантики управления прерываниями и работы с физическими ядрами в контексте синхронизации в модели «выполняется прежде» (happens-before). В заключение приводятся результаты интеграции инструмента ThreadSanitizer в ядро операционной системы реального времени CLOS в сравнении с существующими подходами обнаружения ошибок в ядре данной операционной системы.

Ключевые слова: многопоточная синхронизация, динамический анализ, операционные системы, алгоритм thread sanitizer, гонки по данным

DOI: 10.15514/ISPRAS-2025-37(6)-38



© МИАН, 2026