Безопасное и небезопасное состояние

При дальнейшем рассмотрении алгоритмов уклонения от взаимоблокировок используется информация, представленная на рис. 6.4. В любой заданный момент времени существует текущее состояние, содержащее Е, А, С и Я.
Состояние считается безопасным, если существует какой-то порядок планирования, при котором каждый процесс может доработать до конца, даже если все процессы внезапно и срочно запросят максимальное количество ресурсов. Это положение проще всего проиллюстрировать с помощью примера, в котором используется один ресурс. На рис. 6.7, а показано состояние, в котором процесс А удерживает 3 экземпляра ресурса, но в конечном счете может затребовать 9 экземпляров. Процесс В в этот момент удерживает 2 экземпляра, но позже может затребовать в общей сложности еще 4. Процесс С также удерживает 2 экземпляра, но может затребовать еще 5. В системе есть всего 10 экземпляров данного ресурса, 7 из которых уже распределены, а 3 пока свободны.

Рис. 6.7. Состояние а является безопасным


Состояние на рис. 6.7, а является безопасным, потому что существует такая последовательность предоставления ресурсов, которая позволяет завершиться всем процессам. А именно — планировщик может просто запустить в работу только процесс В на то время, пока он запросит и получит 2 дополнительных экземпляра ресурса, что приведет к состоянию, изображенному на рис. 6.7, б. Когда процесс В завершит свою работу, мы получим состояние, показанное на рис. 6.7, в. Затем планировщик может запустить процесс С, что со временем приведет нас к ситуации, показанной на рис. 6.7, г. По завершении работы процесса С мы получим ситуацию, показанную на рис. 6.7, д. Теперь процесс А наконец-то может получить необходимые ему 6 экземпляров ресурса и также успешно завершить свою работу. Таким образом, состояние, показанное на рис. 6.7, а, является безопасным, поскольку система может избежать взаимоблокировки с помощью тщательного планирования процессов.

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

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


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

Следует отметить, что небезопасное состояние само по себе не является состоянием взаимоблокировки. Начиная с состояния, показанного на рис. 6.8, б, система может поработать некоторое время. Фактически может даже успешно завершиться работа одного из процессов. Кроме того, процесс А может высвободить один ресурс еще до запроса дополнительного ресурса, позволяя успешно завершить работу процессу С, а системе в целом избежать взаимоблокировки. Таким образом, разница между безопасным и небезопасным состоянием заключается в том, что в безопасном состоянии система может гарантировать, что все процессы закончат свою работу, а в небезопасном состоянии такой гарантии дать нельзя.

6.5.3.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Безопасное и небезопасное состояние:

  1. Статья 275. Нарушение правил, касающихся безопасного использования промышленной продукции или безопасной эксплуатации зданий и сооружений
  2. Понятие информационной безопасности
  3. 2.9. Психология личной безопасности человека
  4. Электрическая безопасность.
  5. Пятачок безопасности
  6. ВНИМАНИЕ! Техника безопасности!
  7. Безопасный мир
  8. ГЛАВА 10 ПРАВОВЫЕ ПРОБЛЕМЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
  9. 10.3 Психология обеспечения безопасности дорожного движения
  10. Риск и личная безопасность.
  11. 12.4. Органы федеральной службы безопасности России
  12. / Е. Б. Белов, В. П. Лось, Р. В. Мещеряков, А. А. Шелупанов. Основы информационной безопасности. Учебное пособие для вузов, 2006
  13. Личная профессиональная безопасность сотрудника органа правопорядка.
  14. Техника безопасности.
  15. Вы всегда в безопасности