Лекции по операционным системам, страница 13

  1. Идентификатор процесса
  2. Адрес и длина переданного сообщения.
  3. Отметка о том, что должен ли процесс читатель ждать пока очередь пуста.
  4. Приоритет сообщения или семафора.
Понятие тупиковой ситуации и выполнение

параллельных вычислительных процессов.

На практике могут часто возникать ситуации, когда 2 и более процессов претендуют на один и тот же ресурс(ы). При этом все они оказываются в заблокированном состоянии (состоянии ожидания, когда освободится нужный ресурс). Однако при этом ресурсы им не предоставляются.

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

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

При рассмотрении проблемы тупиков вводится понятие классов ресурсов. Ресурсы разделяются на 2 класса: первый - ресурсы повторно используемые (SR), второй - расходуемые (CR).

-  Повторно используемые это ресурсы со следующими свойствами:

1.  число единиц ресурса  постоянное.

2.  Каждая единица ресурса доступна только одному процессу.

3.  Процесс может освободить единицу ресурса, только если ранее он ее получил.

К ресурсам типа SR относятся: основная память, внешняя память, периферийные устройства, файлы данных и др.

-  Расходуемые ресурсы имеют следующие свойства:

1.  Число доступных единиц некоторого ресурса изменяется, по мере того как приобретается (расходуется) и освобождаются отдельные элементы ресурса (процесс производитель увеличивает число единиц ресурса, а потребитель уменьшает число.)

2.  Единицы ресурса, которые приобретены (расходованы) в общем случае не возвращаются ресурсу.

К ресурсам класса CR относятся: синхронизирующие сигналы; передаваемые сообщения; данные, порождаемые как программами, так и аппаратурой.