ВУЗ:
Составители:
2) процессы удерживают за собой ресурсы, уже выделенные им, ожидая в то же время выделения дополнительных ре-
сурсов (условие
ожидания ресурсов);
3) ресурсы нельзя отобрать у процессов, удерживающих их, эти ресурсы не будут использованы для завершения рабо-
ты (условие
неперераспределяемости);
4) существует кольцевая связь процессов, в которой каждый процесс удерживает за собой один или более ресурсов,
требующихся следующему процессу цепи (условие
кругового ожидания).
Рис. 3.1. Простая тупиковая ситуация
В проблеме тупиков выделяют следующие четыре основных направления: предотвращение тупиков, обход тупиков, об-
наружение тупиков, восстановление после тупиков.
При
предотвращении тупиков целью является обеспечение условий, исключающих возможность возникновения тупи-
ковых ситуаций. Такой подход является вполне корректным решением о том, что касается самого тупика, однако он часто
приводит к нерациональному использованию ресурсов.
Обход тупиков
заключается в том, чтобы можно было предусматривать менее жесткие ограничения, чем в случае пре-
дотвращения тупиков, и тем самым обеспечить лучшее использование ресурсов. При наличии средств обхода тупиков не
требуется такой реализации системы, при которой опасность тупиковых ситуаций даже не возникает. Методы обхода учиты-
вают подобную возможность, однако в случае увеличения вероятности возникновения тупиковой ситуации здесь принима-
ются меры по аккуратному обходу тупика.
Методы обнаружения тупиков
применяются в системах, которые допускают возможность возникновения тупиковой
ситуации как следствие умышленных или неумышленных действий программистов. Целью средств обнаружения тупиков
является установить сам факт возникновения тупиковой ситуации и точно определить те процессы и ресурсы, которые ока-
зались вовлеченными в эту тупиковую ситуацию.
Методы восстановления после тупиков
применяются для устранения тупиковых ситуаций с тем, чтобы система могла
продолжать работать, а процессы, попавшие в тупиковую ситуацию, могли завершиться с освобождением занимаемых ими
ресурсов.
3.4.2. Механизмы синхронизации процессов
3.4.2.1. ПАРАЛЛЕЛЬНЫЕ ПРОЦЕССЫ И КРИТИЧЕСКИЕ УЧАСТКИ
Рабочая смесь, созданная механизмами высшего и внутреннего планирования, представляет собой совокупность парал-
лельных процессов.
Процессы называются
параллельными, если они существуют в системе одновременно.
Параллельные процессы называются независимыми, если они работают без целенаправленной передачи сигналов ин-
формации друг другу.
Параллельные процессы называются
связанными, если осуществляется направленный обмен сигналами (информацией)
между ними.
Связанные параллельные процессы бывают
синхронными, когда обеспечиваются согласование скоростей их развития в
системе, и
асинхронными, если скорости протекания процессов не регулируются в системе.
В механизмах синхронизации нуждаются все виды параллельных процессов, функционирующих в мультипрограммной
вычислительной системе.
Не связанные между собой процессы также нуждаются в синхронизации своей работы. Это объясняется тем, что они
используют во время функционирования одни и те же физические и логические внешние устройства, которые в каждый кон-
кретный момент времени могут обслуживать только один процесс (критические ресурсы).
Ресурс системы называется
критическим, если он допускает в каждый момент времени обслуживание только одного
процесса.
Страницы
- « первая
- ‹ предыдущая
- …
- 31
- 32
- 33
- 34
- 35
- …
- следующая ›
- последняя »
