<<
>>

Нарушение условия кругового ожидания

Трудно предложить разумную стратегию, чтобы избежать последнего условия из раздела «Условия возникновения тупиков» — циклического ожидания.

Один из способов — упорядочить ресурсы.

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

Один из немногих примеров упорядочивания ресурсов — создание иерархии спин-блокировок в \Vindows 2000. Спин-блокировка — простейший способ синхронизации (вопросы синхронизации процессов рассмотрены в соответствующей лекции). Спин-блокировка может быть захвачена и освобождена процессом. Классическая тупиковая ситуация возникает, когда процесс Р| захватывает спин-блокировку Б| и претендует на спин-блокировку Бг, а процесс Р2, захватывает спин-блокировку Бг и хочет дополнительно захватить спин-блокировку Б|. Чтобы этого избежать, все спин-блокировки помещаются в упорядоченный список. Захват может осуществляться только в порядке, указанном в списке.

Другой способ атаки условия кругового ожидания — действовать в соответствии с правилом, согласно которому каждый процесс может иметь только один ресурс в каждый момент времени. Если нужен второй ресурс — освободи первый. Очевидно, что для многих процессов это неприемлемо.

Таким образом, технология предотвращения циклического ожидания, как правило, неэффективна и может без необходимости закрывать доступ к ресурсам.

<< | >>
Источник: В.Е. Карпов К.А. Коньков. Основы операционных систем. 2005

Еще по теме Нарушение условия кругового ожидания:

  1. 6. Ответственность за нарушение условий аккредитива
  2. Статья 688. Сообщение продавцу о нарушении условий договора купли-продажи
  3. Статья 672. Правовые последствия нарушения условия договора относительно ассортимента товара
  4. § 17. Права возмещения, возникающие из нарушений иных условий обязательств по передаче вещей (п. 2444-2447)
  5. Статья 670. Правовые последствия нарушения условия договора относительно количества товара
  6. § 18. Права возмещения, возникающие из нарушений условий обязательств по выполнению работ и оказанию услуг (п. 2448-2457)
  7. Круговая аттестация.
  8. Круговая аттестация
  9. § 22 Законное признание владения и защита от нарушения. – Понятие об интердикте. – Характер римских видов владения и условия, при которых они подлежали защите
  10. "Круговая" или цикличная линия времени
  11. § 2 Условное обязательство. – Разные виды условий. – Наступление условия и его действие. – Соотношение условий. – Понятие о сроке. – Действие срока.
  12. ж) Совершение преступления при нарушении условий пра-вомерности необходимой обороны, задержания лица, со-вершившего преступление, крайней необходимости, обосно-ванного риска, исполнения приказа или распоряжения
  13. § 6 Четвертое условие – возраст. – Последствия нарушения правила о возрасте. – Пятое – физическая способность к браку. – Шестое – нормальное отношение вероисповеданий. – Разноверные и смешанные браки на Западе и у нас. – Браки иноверцев в России между собой.
  14. Глава 51 - Гражданского кодекса Правовые последствия нарушения обязательства. Ответственность за нарушение обязательства
  15. § 66 Об условных назначениях вообще. – Условия невозможные и незаконные. – Условия, стесняющие гражданскую свободу.
  16. ТРЕВОГА ОЖИДАНИЯ
  17. § 78 Нарушение авторского права. – Смешение искового начала со следственным в преследовании нарушения. – Контрафакция. – Предметы, не подходящие под понятие о контрафакции. – Перепечатка отрывков. – Заимствования. – Перевод чужого сочинения. – Повторения и заимствования художественных произведений. – Ответственность за нарушение авторского права и порядок преследования. – Русско-французская конвенция о литературной и художественной собственности