Читайте также:
|
|
Обнаружение тупика это установление факта, что возникла тупиковая ситуация и определение процессов и ресурсов, вовлеченных в эту ситуацию. Как правило, алгоритмы обнаружения применяются, когда выполнены первые три необходимых условия возникновения тупиковой ситуации. Затем проверяется наличие режима кругового ожидания. При этом активно используются уже упоминавшиеся графы распределения ресурсов.
Рассмотрим модельную ситуацию [12]:
Вопрос состоит в том, является ли данная ситуация тупиковой, и если да, то какие процессы в ней участвуют.
Рис. 7.2 (а) Граф ресурсов. (б) Цикл, извлеченный из графа (a).
Для ответа на этот вопрос можно сконструировать граф ресурсов, как показано на рис. 7.2. Из рисунка видно, что имеется цикл, моделирующий условие кругового ожидания, и процессы D,E,G в тупиковой ситуации
Визуально легко обнаружить наличие тупика, но нужны также формальные алгоритмы, реализуемые на компьютере.
Один из таких алгоритмов описан в [12], там же можно найти ссылки на другие алгоритмы.
Существуют и другие способы обнаружения тупиков, применимые также в ситуациях, когда имеется несколько ресурсов каждого типа. Так в [22] описан способ, называемый редукцией графа распределения ресурсов, а в [12] матричный алгоритм.
Дата добавления: 2015-07-26; просмотров: 39 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Введение | | | Нарушение условия кругового ожидания |