Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Лупин С. А.) / Лекция 6 ОС - Тупики.ppt
Скачиваний:
1
Добавлен:
04.12.2023
Размер:
87.04 Кб
Скачать

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

Обнаружение тупика – установление факта наличия в системе процессов ожидающих «нереализуемое» состояние.

Основной подход к решению – построение графа распределения ресурсов и нахождение в нем циклов. Чрезвычайно затратный подход. На практике в чистом виде не используется.

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

Восстановление работы системы – продолжение работы некоторых процессов после устранения причины тупика.

Сложности решения:

Неочевидность тупика.

Трудно остановить процесс в произвольной точке кода.

Большие накладные расходы на реализацию сохранения результатов.

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

Виртуализация ресурсов – средство борьбы с тупиками

Система не устраняет условий возникновения тупиков – при возникновении конкурирующих запросов ВСЕ ресурсы могут быть заменены на «виртуальный аналог».

Особенности решения:

Алгоритмически простое решение.

Формально, не боится большого числа процессов.

Сложность возврата из «виртуального мира» в реальный в случае иерархической виртуальности.

Небольшой пример

Виртуальный мир (для красной машины)

Транспортная пробка

Устранение пробки

(реальный мир)

(в реальном мире)

Осталась только одна проблема – как вернуть красную машину из виртуального мира в реальный? (См. «Дозоры …»)