Включает множество вершин V=P U R:
P={p1, p2, …, pn} — множество процессов.
R={r1, r2, …, rn} — множество ресурсов.
Дуги запросов Pi→Rj — i-й процесс запрашивает j-й ресурс.
Дуги распределения Rj→Pi — j-й ресурс принадлежит i-му процессу.
Если PR-граф не имеет циклов, тупиков нет.
Если имеет — возможно, тупик существует.
Цикл + тупик:
Цикл без тупика:
Редукция PR-графа.
PR-граф может быть сокращен за счет процесса, все запросы которого могут быть удовлетворены. При сокращении все ресурсы выбранного процесса освобождаются. Все дуги графа, связанные с этим процессом, удаляются.
В частности,
- Если граф полностью редуцируем, взаимоблокировка отсутствует.
- Порядок выполнения редукций не имеет значения.