Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03-21-12 Параллельные вычисления.DOC
Скачиваний:
5
Добавлен:
23.08.2019
Размер:
322.56 Кб
Скачать

7.3.3. Свойства подхода, использующего машинные инструкции

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

  1. Он применим к любому количеству процессов, разделяющих основную память.

  2. Этот подход очень прост, а потому легко проверяем.

  3. Он может использоваться для поддержки множества критических разделов, каждый из которых может быть определен при помощи своей собственной переменной.

Однако у такого подхода имеются и свои серьезные недостатки.

  1. Используется пережидание занятости. Следовательно, если процесс находиться в ожидании доступа к критическому разделу, он продолжает потреблять процессорное время.

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

  3. Возможна взаимоблокировка. Рассмотрим следующий сценарий в однопроцессорной системе. Процесс Р1 выполняет специальную инструкцию (т.е. TestSet или Exchenge) и входит в критический раздел. После этого процесс прерывается процессом Р2 с более высоким приоритетом. Если Р2 попытается обратиться к тому же ресурсу, что и Р1, ему будет отказано в доступе в соответствии механизмом взаимоисключений, и он войдет в цикл пережидания занятости. Однако в силу того что процесс Р1 имеет более низкий приоритет, он не получит возможности продолжить работу, так как в наличии имеется активный процесс с более высоким приоритетом.

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

18