<<
>>

Флаги готовности

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

shared int ready[2] = {0, 0};

Когда i-й процесс готов войти в критическую секцию, он присваивает элементу массива ready [i] значение равное 1.

После выхода из критической секции он, естественно, сбрасывает это значение в 0. Процесс не входит в критическую секцию, если другой процесс уже готов к входу в критическую секцию или находится в ней:

while (some condition) { ready[i] = 1; while(ready[1-i]);

critical section ready[i] = 0;

remainder section

Полученный алгоритм обеспечивает взаимоисключение, позволяет процессу, готовому к входу в критический участок, войти в него сразу после завершения эпилога в другом процессе, но все равно нарушает условие прогресса. Пусть процессы практически одновременно подошли к выполнению пролога. После выполнения присваивания ready [0]=1 планировщик передал процессор от процесса 0 процессу 1, который также выполнил присваивание ready [ 1 ] =1. После этого оба процесса бесконечно долго ждут друг друга на входе в критическую секцию. Возникает ситуация, которую принято называть тупиковой (deadlock). (Подробнее о тупиковых ситуациях рассказывается в лекции 7.)

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

Еще по теме Флаги готовности:

  1. ГОТОВНОСТЬ К ДЕЙСТВИЮ
  2. ОБУЧЕНИЕ ШКОЛЬНОЕ: ГОТОВНОСТЬ ПСИХОЛОГИЧЕСКАЯ
  3. 11.2. Боевая готовность и бдительность сотрудника
  4. Тест «ГОТОВНОСТЬ К РИСКУ»
  5. Бдительность, боевая готовность и психология.
  6. Подготовленность и боевая готовность.
  7. 11.2. Боевая готовность и бдительностьсотрудника
  8. ГОТОВНОСТЬ К РАЗРЫВУ С ОКРУЖЕНИЕМ
  9. ГОТОВНОСТЬ К СОЦИАЛЬНОМУ НЕУСПЕХУ
  10. МУДРОСТЬ НАЧИНАЕТСЯ С ГОТОВНОСТИ К ПОТЕРЯМ
  11. Упражнение для выявления вашей готовности быть целителем
  12. Вопросы для самоконтроля
  13. ДИСПОЗИЦИЯ
  14. Авторского права объекты: •
  15. ТЕСТ КЕРНА - ЙЕРАСЕКА
  16. ФЕМИНИННОСТЬ
  17. ПРИТЯЗАНИЕ ДЕТСКОЕ