Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по ОС.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

9. Главные стратегические принципы предотвращения тупиков (принципы j.W. Havendera).

Для предотвращения тупиков ещё 1967 году Havender J.W. предложил три стратегических принципа:

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

  2. Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.

  3. Следует ввести линейную упорядоченность по типам ресурсов для всех процессов. Если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы далёких по порядку типов. Всем ресурсам в системе присваиваются уникальные номера и процессы должны запрашивать ресурсы в порядке возрастания номеров, что позволяет не возникнуть в системе ситуации «кругового ожидания».

10. Условия возникновения тупиков и основные направления исследования тупиков.

Четыре необходимых условия возникновения тупика.

  1. Процессы требуют предоставления им монопольного управления ресурсам, которые им выделяются (условие взаимоисключения).

  2. Процессы удерживают за собой ресурсы, уже выделенные им и ожидают выделения дополнительных (условие ожидания ресурсов).

  3. Ресурсы нельзя отобрать у процессов, удерживающих их пока эти ресурсы не будут использованы для завершения работы (условие не перераспределяемости).

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

Основные направления проблемы тупиков.

Все разработки по проблеме тупиков делятся на 4 направления:

  1. Предотвращение тупиков.

  2. Обход тупиков.

  3. Обнаружение тупиков.

  4. Восстановление после тупиков.

При предотвращении тупиков основной целью является создание условий, исключающих возникновение тупиковых ситуаций. Такой подход вполне реален для самого тупика, но он приводит к нерациональному использованию ресурса.

Цель средств обхода тупиков заключается в том. чтобы можно было предусмотреть менее жёсткие ограничения чем в первом случае. В этом случае ресурсы системы будут использоваться лучше.

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

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

11. Предотвращение тупиков, обход тупиков.

При предотвращении тупиков основной целью является создание условий, исключающих возникновение тупиковых ситуаций. Такой подход вполне реален для самого тупика, но он приводит к нерациональному использованию ресурса. Чаще всего при решении проблемы тупиков разработчики систем стараются исключить сами возможности их возникновения. Прежде всего разрабатываются методы предотвращения тупиков, оцениваются различные последствия их реализации как для пользователя так и системы (особенно с точки зрения их эксплуатационных характеристик и экономической эффективности). Хавендер показал, что возникновение тупика не возможно, если не нарушено хотя бы одно из четырёх необходимых условий:

  1. Процессы требуют предоставления им монопольного управления ресурсам, которые им выделяются (условие взаимоисключения).

  2. Процессы удерживают за собой ресурсы, уже выделенные им и ожидают выделения дополнительных (условие ожидания ресурсов).

  3. Ресурсы нельзя отобрать у процессов, удерживающих их пока эти ресурсы не будут использованы для завершения работы (условие не перераспределяемости).

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

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

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

  2. Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.

  3. Следует ввести линейную упорядоченность по типам ресурсов для всех процессов. Если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы далёких по порядку типов. Всем ресурсам в системе присваиваются уникальные номера и процессы должны запрашивать ресурсы в порядке возрастания номеров, что позволяет не возникнуть в системе ситуации «кругового ожидания». Цель средств обхода тупиков заключается в том, чтобы можно было предусмотреть менее жёсткие ограничения, чем в первом случае. В этом случае ресурсы системы будут использоваться лучше.