<<
>>

Сообщения

Для прямой и непрямой адресации достаточно двух примитивов, чтобы описать передачу сообщений по линии связи — send и receive. В случае прямой адресации мы будем обозначать их так:

send (Р, message) — послать сообщение message процессу Р;

receive (Q, message) — получить сообщение message от процесса Q.

В случае непрямой адресации мы будем обозначать их так:

send (А, message) - послать сообщение message в почтовый ящик А;

receive (A, message) — получить сообщение message из почтового

ящика А.

Примитивы send и receive уже имеют скрытый от наших глаз механизм взаимоисключения. Более того, в большинстве систем они уже имеют и скрытый механизм блокировки при чтении из пустого буфера и при записи в полностью заполненный буфер. Реализация решения задачи producer-consumer для таких примитивов становится неприлично тривиальной. Надо отметить, что, несмотря на простоту использования, передача сообщений в пределах одного компьютера происходит существенно медленнее, чем работа с семафорами и мониторами.

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

Еще по теме Сообщения:

  1. 2.1. Обстоятельные сообщения
  2. Правило приоритетностицели сообщения.
  3. 2.1. ОБСТОЯТЕЛЬНЫЕ СООБЩЕНИЯ
  4. Правило приоритетности цели сообщения.
  5. 8.2.1. Неискренние сообщения
  6. 8.11. Психологический анализ сообщений граждан
  7. Статья 913. Перевозка в прямом смешанном сообщении
  8. Информационное сообщение (видеосюжет)
  9. Информационное сообщение
  10. Активное восприятие невербальных сообщений.
  11. ПЕРЕДАЧА АНГЕЛЬСКИХ СООБЩЕНИЙ
  12. 1. Правоотношения по перевозке груза в прямом смешанном сообщении
  13. Статья 1105. Сообщение о неуплате чека
  14. 7.4.1. Помощь группы в получении сообщений
  15. 8.1.7. Неискренние сообщения
  16. 2.3.2. Поверхностные сообщения.
  17. § 7. Обязательства из договоров перевозки груза в прямом смешанном сообщении
  18. Прием выявления зависимостей сообщения от восприятия юридически значимого события.
  19. Фигура 7. Является ли сообщение правдивым?