Обнаружение тупиков. Графы распределения ресурсов

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

Обнаружение тупика - это установление факта, что возникла тупиковая ситуация, и определение процессов и ресурсов, вовлеченных в эту тупиковую ситуацию. Алгоритмы обнаружения тупиков, как правило, применяются в системах, где выполняются первые три необходимых условия возникновения тупиков, и определяют, не создался ли режим кругового ожидания.

Для обнаружения тупиков распределение ресурсов и запросы процессов изображаются в виде направленного графа. Квадраты обозначают процессы, большие круги - классы идентичных ресурсов, а малые - количество идентичных ресурсов каждого класса.

 

P1 R1

Процесс P1 запрашивает один из ресурсов R1

       
 
 
   


R2 P2

Ресурс R2 выделен процессу Р2

 

P3 R3 P4

Процесс Р3 запрашивает ресурс R3, который выделен процессу P4

 

 

Рисунок 2 - Граф запросов и распределения ресурсов

 

Ранее мы привели на рис.5 вариант “кругового ожидания”, типичного для системы в состоянии тупика.

Графы запросов и распределения ресурсов динамично меняются по мере того, как процессы запрашивают ресурсы и получают их в свое распоряжение, а по истечении некоторого времени возвращают системе.

Одним из способов обнаружения тупиков, является приведение, или редукция графа - это позволяет определить процессы, которые могут завершиться, и процессы, которые будут оставаться в тупиковой ситуации.

Редукция графа на конкретный процесс изображается исключением стрелок, идущих к процессу от ресурсов и стрелок к ресурсам этого процесса, такая редукция эквивалентна такой ситуации, когда данный процесс завершился и возвратил ресурсы системе. Если граф можно редуцировать на все процессы, значит тупиковой ситуации нет, а если этого сделать нельзя, то все “нередуцируемые” процессы образуют набор процессов, вовлеченных в тупиковую ситуацию. Заметим, что порядок, в котором осуществляется редукция графа, не имеет значение.

 

P2

R1 R1 P2

А) Б)

P3 P3

 
 


P1 R2 P1 R2

       
   


Редуцирование на процесс Р3

P2

R1 R1 P2

В) Г)

P3 P3

P1 R2 P1 R2

       
   


Редуцирование на процесс Р1 Редуцирование на процесс Р2

 

Рисунок 3 - Редукция графа

 

На рис.7 показана ситуация, в которой для конкретного набора процессов тупиковой ситуации нет. Если же мы попытаемся редуцировать граф, приведенный на рис.5, то легко обнаружим, что система находится в тупиковой ситуации.

 

 








Дата добавления: 2017-11-04; просмотров: 517;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.