Атака условия удержания и ожидания

Второе из условий, сформулированных Коффманом (Coffman et al., 1971), выглядит несколько более обещающим. Если можно будет помешать процессам, удерживающим ресурсы, войти в фазу ожидания дополнительных ресурсов, то можно будет исключить и взаимоблокировку.
Один из способов достижения этой цели заключается в том, чтобы заставить все процессы запрашивать все свои ресурсы до начала выполнения своей работы. Если все доступно, то процессу будет выделено все, что ему требуется, и он сможет доработать до завершения. Если один или несколько ресурсов заняты, ничего не будет выделяться и процесс будет просто ждать.

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

И все-таки некоторые пакетные системы на универсальных машинах требуют, чтобы пользователи перечисляли все ресурсы в первой строке каждого задания. Затем система немедленно заранее распределяет все ресурсы и удерживает их до тех пор, пока они станут не нужны заданию (или в простейшем случае, пока выполнение задания не будет завершено). Несмотря на то что этот метод обременяет программиста и расточительно расходует ресурсы, он предотвращает возникновение взаимоблокировок.

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

6.6.3.

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

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

  1. 5.3.2. Мозговая атака
  2. АТАКА МОЗГОВАЯ
  3. Правило "атака – лучшая оборона".
  4. Правило «атака — лучшая оборона».
  5. § 2 Условное обязательство. – Разные виды условий. – Наступление условия и его действие. – Соотношение условий. – Понятие о сроке. – Действие срока.
  6. §53. УДЕРЖАНИЕ
  7. § 7. Удержание
  8. 7. Удержание
  9. Параграф 7. Удержание
  10. § 5. Удержание
  11. § 6. Право удержания (п. 1472-1475)
  12. Статья 594. Право удержания
  13. 2. Предмет права удержания