РУсскоязычный Архив Электронных СТатей периодических изданий
Инженерный журнал: наука и инновации/2013/№ 6/
В наличии за
50 руб.
Купить
Облако ключевых слов*
* - вычисляется автоматически
Недавно смотрели:

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

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

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

Похожие документы: