Читайте также:
|
|
Данный метод налагает на процессы в системе меньшие ограничения, чем метод предотвращения тупиков, позволяя системе работать с большей эффективностью.
Возникновение тупиков в системе потенциально возможно, но используются специальные алгоритмы распределения ресурсов, которые позволяют обойти ситуации, грозящие возникновением тупиков.
Среди такого рода алгоритмов наиболее известен алгоритм банкира, предложенный Дейкстрой, который базируется на безопасных (надёжных) состояниях. Безопасное состояние — это такое состояние, для которого имеется по крайней мере одна последовательность событий, которая не приведёт к тупику.
Суть алгоритма состоит в следующем. Предположим, что у системы в наличии п свободных устройств, например магнитных лент. ОС принимает запрос от пользовательского процесса, если его максимальная потребность не превышает п. Пользователь гарантирует, что если ОС в состоянии удовлетворить его запрос, то все устройства будут возвращены системе в течение конечного времени.
Текущее состояние системы называется надёжным, если ОС может обеспечить всем процессам их завершение (выделить необходимые ресурсы) в течение конечного времени. В соответствии с алгоритмом банкира выделение устройств возможно, только если состояние системы остаётся надёжным. Термин ненадёжное состояние не предполагает, что обязательно возникнут тупики. Он лишь говорит о том, что в случае неблагоприятной последовательности событий система может зайти в тупик.
Данный алгоритм обладает тем достоинством, что при его использовании нет необходимости в перераспределении ресурсов и откате процессов назад. Но использование метода требует выполнения условий:
1) Число процессов и число ресурсов должно быть фиксировано.
2) Число работающих процессов не должно не увеличиваться. И не должно появляться новых процессов.
3) Алгоритм требует, чтобы клиенты гарантированно возвращали ресурсы.
4) Должны быть заранее указаны максимальные требования процессов к ресурсам.
Кроме того, во многих случаях гарантия завершения любого процесса в течение конечного времени является недостаточной. Требуется более точная и предсказуемая оценка времени завершения.
Дата добавления: 2015-07-20; просмотров: 182 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Нарушение принципа отсутствия перераспределения | | | Методы обнаружения тупиков |