Ситуация, в которой возникает взаимоблокировка называется тупиковой ситуацией.
Для моделирования тупиков используется особый вид графов, который называется сети Петри (графы вершины которых раскрашены определенным образом)
Моделирование тупиков с помощью графов
Если есть цикл, значит, есть и взаимоблокировка
Пример 1:
три процесса A, B, C три ресурса R, S, T.
Пример 2:три процесса A, B, C три ресурса R, S, T.
Возникает взаимоблокировка
Пример 3:
ОС, зная о возможности взаимоблокировки, блокирует процесс B
Взаимоблокировка не возникает
Задача, которая возникает в ОС состоит в том, чтобы при добавлении нового процесса в систему, избежать циклов, подобных тем, что приведены в примерах.
Ситуация взаимоблокировки возникает тогда и только тогда, когда очередной процесс
запрашивает ресурс, не освобожденный следующим процессом и последний в очереди процесс не может завершить работу, пока не освободиться требуемый последним ресурс.