Приостановка и активизация

И алгоритм Петерсона, и решение, использующее команду ТБЬ или ХОНС, вполне работоспособны, но у них есть один недостаток — необходимость пребывания в режиме активного ожидания. По сути эти решения сводятся к следующему: когда процессу требуется войти в критическую область, он проверяет, разрешен ли этот вход.
Если вход запрещен, процесс просто входит в короткий цикл, ожидая разрешения.

Этот подход не только приводит к пустой трате процессорного времени, но и может иметь совершенно неожиданные эффекты. Рассмотрим компьютер с двумя процессами: Н с высокой степенью приоритета и Ь с низкой степенью приоритета. Правила планирования их работы предусматривают, что Н выполняется сразу же после входа в состояние готовности. В определенный момент, когда Ь находится в критической
области, H входит в состояние готовности (к примеру, после завершения операции ввода-вывода). Теперь H входит в режим активного ожидания, но поскольку, пока выполняется процесс H, выполнение L не планируется, у L не остается шансов выйти из своей критической области, поэтому H пребывает в бесконечном цикле. На подобную ситуацию иногда ссылаются как на проблему инверсии приоритета.

Теперь рассмотрим некоторые примитивы взаимодействия процессов, которые блокируют работу, пока им не разрешается входить в критическую область, вместо напрасной траты времени центрального процессора. Представителями простейшей пары таких примитивов являются sleep и wakeup. Системный вызов sleep блокирует вызывающий его процесс, который приостанавливается до тех пор, пока его не активизирует другой процесс. Активизирующий вызов wakeup использует один аргумент — активизируемый процесс. Дополнительно и sleep и wakeup используют еще один аргумент — адрес памяти, используемой для соотнесения вызовов sleep с вызовами wakeup.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Приостановка и активизация:

  1. Правило активизации мышления.
  2. Правило активизации представлений
  3. Правило активизации мышления.
  4. 7.2.3. Активизация забытых деталей
  5. 7.2.3. Активизация забытых деталей
  6. Упражнение для активизации высших корневых чакр
  7. Правило активизации представлений («мысленного моделирования»)
  8. Звук "ПА" - это вибрации чисел 8-1 (Уран - Солнце).
  9. Не так
  10. 4.2. Применение видео- и звукозаписи в криминалистической деятельности