Операционные системы. Управление ресурсами


Тупики: предупреждение, обнаружение, развязка - часть 4


В противном случае ситуация называется опасной.

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

Пример представлен на Рисунке 5.3.: пусть у ОС имеется всего 12 ресурсов одного класса и на текущий момент выполняются три процесса - P1, P2 и P3, их заявки составляют 12, 4 и 8 ресурсов соответственно. На текущий момент времени процессу P1 выделено 4 ресурса, процессу P2 - 2, процессу P3 - 4 - Рис.5.3.а. В резерве ОС остаются, таким образом, 2 ресурса. Ситуация Рис.5.3.а является безопасной. ОС может выделить оставшиеся два ресурса процессу P2, и этот процесс, полностью получив по своей заявке, может завершится, тогда системный резерв увеличится до 4 ресурсов. Этот резерв ОС отдаст процессу P3, он, завершившись, передаст в резерв ОС 8 ресурсов, которых будет достаточно для удовлетворения заявки процесса P1. Ситуация станет опасной, если ОС выделит ресурс какому-либо другому процессу, кроме P2 - см.Рис.5.3.б. В этой ситуации ОС за счет своего резерва не может полностью удовлетворить ни одну заявку.



а) безопасная



б) опасная

Рис.5.3. Анализ ситуации

Стратегия алгоритма банкира состоит в том, что запрос на ресурс удовлетворяется только в том случае, если выделение его не сделает ситуацию опасной. Алгоритмическая реализация проверки ситуации на безопасность состоит в "проигрывании" на списке процессов приведенного выше определения безопасной ситуации:

  1. Создать список, элементами которого являются процессы с их ресурсами и заявками.
  2. Если список пуст, - установить флаг безопасной ситуации и перейти к п. 7.
  3. Найти в списке процесс, заявка которого может быть удовлетворена из системного резерва.
  4. Если такой процесс не найден, - установить флаг опасной ситуации и перейти к п.7.
  5. Удалить найденный процесс из списка и передать те ресурсы, которыми он обладал в системный резерв.
  6. Перейти к п.2.
  7. Закончить проверку.

Алгоритм Габермана.



Начало  Назад  Вперед



Книжный магазин