<<
>>

Строгое чередование

Попробуем решить задачу сначала для двух процессов. Очередной подход будет также использовать общую для них обоих переменную с начальным значением 0. Только теперь она будет играть не роль замка для критического участка, а явно указывать, кто может следующим войти в него. Для i-ro процесса это выглядит так:

shared int turn = 0;

while (some condition) { while(turn != i);

critical section turn = 1-i;

remainder section

Очевидно, что взаимоисключение гарантируется, процессы входят в критическую секцию строго по очереди: Ро, Pi, Ро, Pi, Ро,... Но наш алгоритм не удовлетворяет условию прогресса. Например, если значение turn равно 1, и процесс Р0 готов войти в критический участок, он не может сделать этого, даже если процесс Pi находится в remainder section.

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

Еще по теме Строгое чередование:

  1. Влияние чередования аспектов
  2. ИЗОЛЯЦИЯ СТРОГАЯ
  3. Хаос вопросов со строгой логикой построения
  4. 3. Исправительная колония строгого режима
  5. Сатурн, Строгий Учитель
  6. 4. Не разграничивайте строго жизнь своей семьи и свои
  7. § 3 Сущность и идея брака. – Нравственное его значение. – Таин- ство в браке. – Историческое развитие идеи брака. – Много- женство, многомужие и одноженство. – Идея, семейное, обще- ственное и религиозное значение брака в Древнем мире. – Религиозный обряд брака у древних. – Строгая форма брака. – Освящение брака в христианстве. – Церковное понятие о браке на Западе и Востоке. – Секуляризация брака и подчинение его гражданскому закону и суду после реформации и революции. – Брачный закон и суд в Р
  8. АКЦЕНТУАЦИЯ ЦИКЛОИДНАЯ
  9. ХАРАКТЕР ЦИКЛОИДНЫЙ
  10. РИТМ
  11. Второй этап
  12. АКТИВНОСТЬ ПСИХИЧЕСКАЯ: БИОРИТМ