Разделы презентаций


Лекция ОС - Тупики

Содержание

Бесконечное ожидание – состояние системы, которого ждет процесс, является возможным, но оно откладывается на неопределенное время. Например, из-за приоритета.Ресурсы бывают: перераспределяемые (процессор, память); монопольные (НМЛ); реентерабельные (неизменный код); последовательного использования. Условия

Слайды и текст этой презентации

Слайд 1Тупики
Тупик – состояние мультипрограммной системы, которого ждет процесс, и
которое

никогда не реализуется (клинч, дедлок).
Задачи ОС:
Предотвращение;
Обход;
Обнаружение.
Примеры тупиков.









Proc.

1

Proc. 2

R 1

R 2



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

Кольцевая цепь запросов


ТупикиТупик – состояние мультипрограммной системы, которого ждет процесс, и которое никогда не реализуется (клинч, дедлок).Задачи ОС: Предотвращение;

Слайд 2Бесконечное ожидание – состояние системы, которого ждет процесс, является возможным,

но оно откладывается на неопределенное время. Например, из-за приоритета.
Ресурсы бывают:
перераспределяемые

(процессор, память);
монопольные (НМЛ);
реентерабельные (неизменный код);
последовательного использования.

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

Бесконечное ожидание – состояние системы, которого ждет процесс, является возможным, но оно откладывается на неопределенное время. Например,

Слайд 3Предотвращение тупиков. Принципы Хавендера.
Хавендер показал, что для предотвращения тупика необходимо

нарушить одно из необходимых условий его возникновения.
Принципы Хавендера:
Процесс запрашивает все

нужные ресурсы сразу. До выделения – ждет.

Если процессу не выделяется очередной ресурс, он должен отдать уже выделенные.

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

Условие монопольного управления Хавендер не нарушает.

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

Слайд 4Процесс запрашивает все нужные ресурсы сразу. До выделения – ждет.
Нарушается

условие возникновения тупиков:
2 .Удержание ресурсов на время ожидания следующего;
Плюс: простота

реализации.
Минусы:
Как определить набор всех необходимых процессу ресурсов?
Простой свободных ресурсов.
Накапливание ресурсов приводит к высоким издержкам.

Если процессу не выделяется очередной ресурс, он должен отдать уже выделенные.

Нарушается условие возникновения тупиков:
3. Ресурсы у процесса нельзя отобрать, отдает их сам (неперераспределение);
Плюс: ???.
Минусы:
Как сохранить промежуточные результаты работы процесса?
Возможность бесконечного откладывания (дефицитный ресурс).

Процесс запрашивает все нужные ресурсы сразу. До выделения – ждет.Нарушается условие возникновения тупиков:2 .Удержание ресурсов на время

Слайд 5Вводим линейную упорядоченность на типы ресурсов. Процесс может запросить ресурсы

только в порядке увеличения номера ресурса.
Нарушается условие возникновения тупиков:
4. Существование

кольцевой цепи запросов.
Плюс: кажущаяся простота реализации.
Минусы:
Сложно вводить в систему новые ресурсы (ОС).
Кто знает «правильную» последовательность ресурсов?
Трансляторы тоже должны знать номера ресурсов, а это сложно и снижает мобильность систем.

Вывод – принципы Хавендера носят скорее теоретический характер.
На практике они используются как вспомогательные элементы стратегий.

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

Слайд 6Обход тупиков. Алгоритм банкира.
Банкир – выдает ссуды (кредиты) тем, кто

может их возвратить.
Дейкстра предложил алгоритм обхода тупиков, если все условия

их возникновения не нарушены.

Алгоритм банкира – ресурсы процессу можно выдавать только в том случае, если состояние системы останется надежным.
Надежное состояние – ОС гарантирует всем процессам завершение в конечное время.
Введем следующие обозначения:

M(i) – максимальная потребность i-го процесса в ресурсе;

L(i) – текущая величина ресурса, выделенного i-му процессу;

С(i) – текущая потребность в ресурсе, C(i)=M(i)-L(i);

Т – суммарный ресурс, имеющийся в системе;

а – остаточный ресурс, а=Т-∑L(i);

Обход тупиков. Алгоритм банкира.Банкир – выдает ссуды (кредиты) тем, кто может их возвратить.Дейкстра предложил алгоритм обхода тупиков,

Слайд 7Рассмотрим пример
Пусть в некоторый момент времени в системе существуют три

процесса.
Распределение ресурсов приведено в таблице:
T=12

Рассмотрим примерПусть в некоторый момент времени в системе существуют три процесса.Распределение ресурсов приведено в таблице:T=12

Слайд 8Решение примера
Будем выделять остаточный ресурс процессам и оценивать состояние системы.

Решение примераБудем выделять остаточный ресурс процессам и оценивать состояние системы.

Слайд 9Решение примера (продолжение)
Будем выделять остаточный ресурс процессам и оценивать состояние

системы.

Решение примера (продолжение)Будем выделять остаточный ресурс процессам и оценивать состояние системы.

Слайд 10Недостатки алгоритма банкира
Фиксированное число ресурсов в системе.
Фиксированное число процессов в

системе.
Время реакции ОС на запрос от процесса может слабо отличаться

от «бесконечного».
Кто должен определять максимальную потребность в ресурсах?
Возможен переход в однопрограммный режим.
Недостатки алгоритма банкираФиксированное число ресурсов в системе.Фиксированное число процессов в системе.Время реакции ОС на запрос от процесса

Слайд 11Обнаружение тупиков
Обнаружение тупика – установление факта наличия в системе процессов

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

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

Слайд 12Восстановление системы после обнаружения тупика
Восстановление работы системы – продолжение работы

некоторых процессов после устранения причины тупика.
Сложности решения:
Неочевидность тупика.
Трудно остановить процесс

в произвольной точке кода.
Большие накладные расходы на реализацию сохранения результатов.
В системах с большим числом разноприоритетных процессов трудно удалить процессы с высоким приоритетом.
Восстановление системы после обнаружения тупикаВосстановление работы системы – продолжение работы некоторых процессов после устранения причины тупика.Сложности решения:Неочевидность

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

возникновения тупиков – при возникновении конкурирующих запросов ВСЕ ресурсы могут

быть заменены на «виртуальный аналог».

Особенности решения:
Алгоритмически простое решение.
Формально, не боится большого числа процессов.
Сложность возврата из «виртуального мира» в реальный в случае иерархической виртуальности.

Виртуализация ресурсов – средство борьбы с тупикамиСистема не устраняет условий возникновения тупиков – при возникновении конкурирующих запросов

Слайд 14Небольшой пример









Транспортная пробка
(реальный мир)









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









Устранение пробки
(в реальном мире)
Осталась

только одна проблема – как вернуть красную машину из виртуального

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика