Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы_лекции.doc
Скачиваний:
47
Добавлен:
28.09.2019
Размер:
1.71 Mб
Скачать

4.5.3. Обнаружение тупика

Существует несколько методов обнаружения тупика. Наиболее доступен для понимания метод редукции (сокращения) графа модели Холта. Редукция графа Холта выполняется по следующим правилам:

  1. Граф модели Холта сокращается процессом Pi, который не является ни заблокированной, ни уединённой вершиной, посредством удаления всех дуг, входящих в вершину и исходящих из неё;

  2. Граф ресурсов не сокращаем, если он не может быть сокращён ни одним процессом.

  3. Граф ресурсов типа SR является полностью редуцируемым, если существует последовательность сокращений, удаляющая все дуги графа.

Если в результате редукции графа Холта осталась хотя бы одна не удалённая дуга, то возникнет тупик.

Ниже приведён пример редукции графа, исследовавшего тупик на ресурсах SR в разделе 4.2 (рис. 4.19).

а)

б)

в)

Рис. 4.19. Граф Холта в исходном состоянии (а), стадии захвата процессом ПР1 ресурса R2 (б) и в стадии захвата ресурса R1 процессом ПР2 (в)

На рис. 4.19,б показан граф после захвата процессом Р1 ресурса R2. Из вершины R2 исчезла единица ресурса, и исчезли выходящая из вершины ПР1 и входящая в него дуги. Процесс ПР2 может захватить ресурс R1. Тогда с графа исчезнут дуги исходящая из вершины ПР2 и входящая в неё. Поскольку процесс ПР2 захватил ресурс R1, то из вершины R1 исчезла единица ресурса R1. Это состояние системы показано на рис. 4.19,в. Оба процесса запрашивают ресурсы, которые уже не имеют свободных единиц. Поэтому оба процесса заблокированы и не могут никак освободить захваченные ресурсы. Налицо тупик.

Контрольные вопросы:

  1. Что такое тупик? Приведите примеры.

  2. Каковы условия возникновения тупика?

  3. Какова классификация разделяемых ресурсов в модели Холта?

  4. В чем разница между системными ресурсами и расходуемыми ресурсами?

  5. Из каких элементов состоит граф Холта? Приведите пример графа и интерпретируйте его.

  6. Что обозначает следующий фрагмент графа Холта?

  1. Что обозначает следующий фрагмент графа Холта?

  1. Объясните следующий граф Холта.

ПР2

ПР1

R2

.

  1. Поясните как возникновение тупика при кольцевом обмене процессов сообщениями через почтовые ящики.

  2. Приведите пример возникновения тупика в системе с семафорами.

  3. Приведите пример возникновения тупика в системе с мониторами.

  4. Что такое сеть Петри? Из каких элементов она состоит?

  5. На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?

  1. На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?

  1. На рисунке показан фрагмент сети Петри. Может ли завершиться процесс ПР1? Почему?

  1. Как нейтрализовать условие взаимного исключения для предотвращения тупика?

  2. Как ослабить условие ожидания для предотвращения тупика?

  3. Как подавить условие отсутствия перераспределения ресурса у блокированного процесса для предотвращения тупика?

  4. Как исключить условие кругового ожидания для предотвращения тупика?