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