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

Вопрос 23. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.

Вопрос 24. Вывод системы из тупика. Общий подход и частный случай.

Существуют два общих подхода к решению задачи вывода системы из тупика:

  1. прекращение процессов (процессы, попавшие в тупик последовательно уничтожаются в определенном порядке);

  2. перехват ресурсов (у процессов в определенном порядке отнимаются выделенные ресурсы).

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

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

Для реализации этих подходов необходимо установить порядок уничтожения процессов или порядок перехвата ресурсов.

Самой простой стратегией является выбор процессов-“кандидатов” на завершение или перехват ресурсов в порядке увеличения цены завершения процесса или цены принудительного перераспределения выделенных ему ресурсов. Стоимость этих операций в системе может определяться, например, приоритетами процессов, “ценой” повторного запуска или оживления процессов, затратами, которые могут быть следствием нарушения нормального выполнения процессов (например, затратами на восстановление информации в БД после ее разрушения из-за прерывания транзакции). Цена перехвата ресурса может быть связана с каждой единицей ресурса.

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