Траектории ресурсов
Выход из взаимоблокировки
Восстановление при помощи принудительной выгрузки ресурса
Как правило требует ручного вмешательства (например: принтер).
Восстановление через откат
Состояние процессов записывается в контрольных точках, и в случае тупика можно сделать откат процесса на более состояние, после чего он продолжит работу снова с этой точки.
С принтером опять будут проблемы.
Восстановление путем уничтожения процесса
Самый простой способ.
Но с принтером опять будут проблемы.
В реальных системах они не годятся.
3. Динамическое избежание взаимоблокировок
В этом способе ОС должна знать, является ли предоставление ресурса безопасным или нет.
Рассмотрим модель из двух процессов и двух ресурсов.
А1 - запрос принтера процессом А
А2 - запрос плоттера процессом А
А3 - освобождение принтера процессом А
А4 - освобождение плоттера процессом А
В1 - запрос плоттера процессом В
В2 - запрос принтера процессом В
В3 - освобождение плоттера процессом В
В4 - освобождение принтера процессом В
Т.к. процессор предоставляется поочередно, траектория может продолжатся только параллельно осям.
Чтобы избежать тупика, процессам надо обойти прямоугольник охватывающий всю заштрихованную область.