ВУЗ:
Составители:
76
боту и возникнет тупиковая ситуация, которая не может разрешиться
без внешнего воздействия.
Тупиковые ситуации следует отличать от простых очередей хотя те
и другие возникают при совместном использовании ресурсов и внешне
выглядят схоже – процесс приостанавливается и ждет освобождения ре-
сурса. Однако очередь – это нормальное явление, неотъемлемый при-
знак высокого коэффициента использования ресурсов при случайном
поступлении запросов. Очередь появляется тогда, когда ресурс недосту-
пен в данный момент, но освободится через некоторое время, позволив
потоку продолжить выполнение. Тупик же, что видно из его названия,
является в некотором роде неразрешимой ситуацией. Необходимым
условием возникновения тупика является потребность потока сразу в
нескольких ресурсах.
Разрешение проблемы тупиков может быть осуществлено путем:
распознавания тупиков;
предотвращения тупиков;
восстановления системы после тупиков;
игнорирования.
Рассмотрим каждый из аспектов проблемы тупиков более подроб-
но.
Распознавание тупиков. В случаях, когда тупиковая ситуация об-
разована многими процессами, использующими много ресурсов, распо-
знавание тупика является нетривиальной задачей. Тупиковые ситуации
следует отличать от простых очередей, хотя и те и другие возникают
при совместном использовании ресурсов и внешне выглядят схоже:
процесс приостанавливается и ждет освобождения ресурса. Однако оче-
редь – это нормальное явление, неотъемлемый признак высокого коэф-
фициента использования ресурсов при случайном поступлении запро-
сов. Очередь появляется тогда, когда ресурс недоступен в данный мо-
мент, но освободится через некоторое время, позволив потоку продол-
жить выполнение, а тупик – является в некотором роде неразрешимой
ситуацией.
Существуют формальные, программно-реализованные методы рас-
познавания тупиков, основанные на ведении таблиц распределения ре-
сурсов и таблиц запросов к занятым ресурсам, анализ которых позволяет
обнаружить взаимные блокировки.
Предотвращение тупиков. Тупики могут быть предотвращены на
стадии проектирования и разработки программного обеспечения, чтобы
тупик не мог возникнуть ни при каком соотношении взаимных скоро-
стей процессов.
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »
