Очереди сообщений в UNIX как составная часть System VIPC

Так как очереди сообщений входят в состав средств System V IPC, для них верно все, что говорилось ранее об этих средствах в целом, и уже знакомо нам. Очереди сообщений, как и семафоры, и разделяемая память, являются средством связи с непрямой адресацией, требуют инициализации для организации взаимодействия процессов и специальных действий для освобождения системных ресурсов по окончании взаимодействия.
Пространством имен очередей сообщений является то же самое множество значений ключа, генерируемых с помощью функции f tok () (см. семинары 6—7 раздел «Пространство имен. Адресация в System V IPC. Функция ftok()»). Для выполнения примитивов send и receive, введенных в лекции 6, соответствующим системным вызовам в качестве параметра передаются IPC-дескрипторы (см. семинары 6—7 раздел «Дескрипторы System V 1РС») очередей сообщений, однозначно идентифицирующих их во всей вычислительной системе.

Очереди сообщений располагаются в адресном пространстве ядра операционной системы в виде однонаправленных списков и имеют ограничение по объему информации, хранящейся в каждой очереди. Каждый элемент списка представляет собой отдельное сообщение. Сообщения имеют атрибут, называемый типом сообщения. Выборка сообщений из очереди (выполнение примитива receive) может осуществляться тремя способами:

1. В порядке FIFO, независимо от типа сообщения.

2. В порядке FI FO для сообщений конкретного типа.

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

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

Очереди сообщений, как и другие средства System V IPC, позволяют организовать взаимодействие процессов, не находящихся одновременно в вычислительной системе.

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

Еще по теме Очереди сообщений в UNIX как составная часть System VIPC:

  1. 2.4. Содержание воспитания как составная часть педагогического процесса
  2. Глава IV ПСИХОЛОГО-ПЕДАГОГИЧЕСКАЯ ДИАГНОСТИКА ПОСТУПКОВ КАК СОСТАВНАЯ ЧАСТЬ РЕШЕНИЯ ПЕДАГОГИЧЕСКИХ ЗАДАЧ
  3. Статья 187. Составные части вещи
  4. Составные части астрологии
  5. Составные аппликация и сепарация
  6. ЧАСТЬ ТРЕТЬЯ КАК ПОМОЧЬ МЫСЛИ
  7. Часть пятая. Как не расстраиваться из-за критики.
  8. КАК ПРИНЯТЬ ПОТЕРЯННУЮ ЧАСТЬ ДУШИ
  9. Глава 5 ЧИСЛОВЫЕ, ГЕОМЕТРИЧЕСКИЕ И СОСТАВНЫЕ ВИБРАЦИОННЫЕ РЯДЫ
  10. Часть седьмая Как превратитьсвой дом в мечту
  11. Часть шестая Как сделать мужа счастливым
  12. Наряды вне очереди
  13. 1. Наследники первой очереди
  14. 2. Наследники иных (последующих) очередей
  15. ЧАСТЬ III КАК СДЕЛАТЬ ТО, ЧТО ДЕЛАТЬ НЕ ХОЧЕТСЯ?
  16. Часть вторая Как овладеть четырьмя кодами общения
  17. Часть вторая Как овладеть четырьмя кодами общения
  18. Статья 1263. Третья очередь наследников по закону
  19. Статья 1264. Четвертая очередь наследников по закону