Условия тупика

 

5. Условие взаимного исключения – каждый ресурс в данный момент времени или отдан одному процессу или свободен;

6. Условие удержания и ожидания – процессы, имеющие в своем распоряжении ресурсы, могут запрашивать еще ресурсы;

7. Условие отсутствия принудительной выгрузки ресурса – процесс, который владеет ресурсом должен освободить его сам, принудительно отобрать ресурс нельзя;

8. Условие циклического ожидания – должна существовать круговая последовательность из двух или более процессов, каждый из которых ждет освобождения ресурса, принадлежащего другому процессу из этой последовательности.

 

R1 … R6 - ресурсы

 

процесс 1

 

R1 R4

 


 

процесс 2 процесс 3

 

R5

R2 R3 R6

 

Процесс 4

 

процесс владеет ресурсом ,

 

запрашивает ресурс, или ждет освобождения

 

Данная проблема известна с 60 – ых годов, были разработаны различные способы решения этой проблемы. Для обнаружения тупиков разработаны алгоритмы, которые основаны на методах математического моделирования и теории графов.


 

Рассмотрим математическую модель распределения ресурсов компьютера.

Рассмотрим систему, в которой есть n – ресурсов, причем каждый ресурс имеет номер и m – процессов. В любой момент времени в системе согласно модели определены: