Траектории ресурсов

Выход из взаимоблокировки

Восстановление при помощи принудительной выгрузки ресурса

Как правило требует ручного вмешательства (например: принтер).

 

Восстановление через откат

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

С принтером опять будут проблемы.

 

Восстановление путем уничтожения процесса

Самый простой способ.

Но с принтером опять будут проблемы.

 

В реальных системах они не годятся.

3. Динамическое избежание взаимоблокировок

В этом способе ОС должна знать, является ли предоставление ресурса безопасным или нет.

 

Рассмотрим модель из двух процессов и двух ресурсов.

А1 - запрос принтера процессом А

А2 - запрос плоттера процессом А

А3 - освобождение принтера процессом А

А4 - освобождение плоттера процессом А

В1 - запрос плоттера процессом В

В2 - запрос принтера процессом В

В3 - освобождение плоттера процессом В

В4 - освобождение принтера процессом В

 

Т.к. процессор предоставляется поочередно, траектория может продолжатся только параллельно осям.

Чтобы избежать тупика, процессам надо обойти прямоугольник охватывающий всю заштрихованную область.