Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 635165)
Контекстум
Руконтекст антиплагиат система
Инженерный журнал: наука и инновации  / №6 2013

Обнаружение тупиков на мьютексах в многопоточных приложениях (50,00 руб.)

0   0
Первый авторБелоус
ИздательствоМ.: Изд-во МГТУ им. Н.Э. Баумана
Страниц11
ID276424
АннотацияСтатья посвящена разработке метода обнаружения тупиков при использовании в приложениях мьютексов, реализованных по стандарту POSIX. В рамках теории тупиков проанализирован и реализован способ получения информации о блокированных на мьютексах процессах. Показано, что обнаружение замкнутой цепи блокировок соответствует обнаружению цикла в графе запросов — распределений. Описан механизм включения в ядро средств перехвата функции ядра, которая управляет захватом и освобождением потоков на мьютексах. Предложен алгоритм обнаружения тупика на основе полученной информации.
УДК681.3.066
Белоус, В.С. Обнаружение тупиков на мьютексах в многопоточных приложениях / В.С. Белоус // Инженерный журнал: наука и инновации .— 2013 .— №6 .— URL: https://rucont.ru/efd/276424 (дата обращения: 08.05.2024)

Предпросмотр (выдержки из произведения)

Обнаружение тупиков на мьютексах в многопоточных приложениях УДК 681.3.066 Обнаружение тупиков на мьютексах в многопоточных приложениях © В.С. Белоус, В.А. Крищенко, Н.Ю. Рязанова МГТУ им. <...> Н.Э. Баумана, Москва, 105005, Россия Статья посвящена разработке метода обнаружения тупиков при использовании в приложениях мьютексов, реализованных по стандарту POSIX. <...> Показано, что обнаружение замкнутой цепи блокировок соответствует обнаружению цикла в графе запросов — распределений. <...> Описан механизм включения в ядро средств перехвата функции ядра, которая управляет захватом и освобождением потоков на мьютексах. <...> Предложен алгоритм обнаружения тупика на основе полученной информации. <...> Например, если после выполнения первой строки в коде первого потока будет прервано его выполнение, то элемент, добавляемый вторым потоком, может быть утерян (рис. <...> В ОС Linux для этого могут использоваться такие средства взаимоисключения, как 1 <...> Мьютексы и семафоры являются средствами блокировки процессов, и процессорное время не тратится на проверку их занятости. <...> Критическая секция кода начинается захватом мьютекса, а заканчивается его освобождением. <...> В результате код критической секции становится атомарным или неделимым. <...> Использование мьютексов для реализации атомарности Если поток пытается войти в критическую секцию, захваченную другим потоком, то он будет заблокирован до тех пор, пока другой поток не выйдет из критической секции. <...> Использование средств взаимоисключения приводит к другим проблемам, основной из которых является взаимоблокировка потоков, или тупиковая ситуация, возникающая из-за многократного захвата и освобождения мьютексов в неправильной последовательности. <...> Средства обнаружения тупиковых ситуаций для прикладных процессов в ОС Linux отсутствуют. <...> 2 Обнаружение тупиков на мьютексах в многопоточных приложениях Для обнаружения тупиков используется бихроматический направленный граф Холта [2], в котором множество <...>