Главная страница
Навигация по странице:

  • Такая ситуация называется тупиком.

  • ПРЕДОТВРАЩЕНИЕ ТУПИКОВЫХ СИТУАЦИЙ 1. На стадии написания программ.

  • 2. Динамический подход к предотвращению тупика.

  • 3. Распознавание "тупиков".

  • 4. Выход из тупика .

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


    Скачать 15.52 Kb.
    НазваниеМетоды обнаружения, предупреждения и устранения тупиковых ситуаций в асинхронных параллельных процессах, продемонстрировав способность находить организационноуправленческие решения в нестандартных ситуациях
    Дата19.11.2022
    Размер15.52 Kb.
    Формат файлаdocx
    Имя файлаОС экз.docx
    ТипПрограмма
    #799126

    Подготовьте ответ на тему «Методы обнаружения, предупреждения и устранения тупиковых ситуаций в асинхронных параллельных процессах», продемонстрировав способность находить организационно-управленческие решения в нестандартных ситуациях.

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

    НЕОБХОДИМЫЕ УСЛОВИЯ ВОЗНИКНОВЕНИЯ ТУПИКОВЫХ СИТУАЦИЙ

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

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

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

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

    ПРЕДОТВРАЩЕНИЕ ТУПИКОВЫХ СИТУАЦИЙ

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

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

    3. Распознавание "тупиков". Существуют программные методы распознавания тупиков. Программные методы основаны на использовании таблиц распределения ресурсов и таблицы запросов к занятым ресурсам. Анализ этих таблиц позволяет обнаружить взаимные блокировки.

    4. Выход из тупика . Если тупиковая ситуация возникла, то не обязательно снимать с выполнения все заблокированные процессы.

    Можно снять только часть из них, тогда освобождаемые ресурсы можно предоставить другим процессам, которые их ожидают;

    Можно вернуть некоторые процессы в область свопинга;

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

    Для того чтобы обеспечить написание корректных программ, было предложено высокоуровневое средство синхронизации - "монитор" - это набор процедур, переменных и структур данных. Процессы могут вызывать процедуры монитора, но не имеют доступа к внутренним данным монитора. Мониторы имеют свойства, позволяющие достичь взаимоисключения процессов, а именно: только один процесс может быть активным по отношению к монитору, это достигается не за счет программирования, а на уровне компилятора. Компилятор обрабатывает вызовы процедур монитора таким образом, что первые несколько инструкций этой процедуры проверяют - не активен ли какой-либо процесс по отношению к монитору. Если "ДА", то вызывающий процесс приостанавливается, пока другой не освободит монитор. Но когда процессы имеют собственную ОП, используется механизм семафорных операций. В таких системах синхронизация реализована с помощью обмена сообщениями.


    написать администратору сайта