Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Обмен данными с помощью очередей сообщений

Читайте также:
  1. Автоматизация работы с помощью макросов
  2. Активными (заданными) силами называют силы, не зависящие от связей.
  3. Анализ и корректировка сетевых графиков в соответствии с заданными ограничениями
  4. Аппараты теплообменные листовые
  5. Аппараты теплообменные трубчатые без кожуха.
  6. Ввод с помощью датчика псевдослучайных чисел
  7. Вектор функции 2-х скалярных аргументов. Предел. Дифференцирование. Понятие поверхности. Гладкие поверхности и их параметризация с помощью вектор функции.
  8. Взаимосвязь обмена липидов, белков и углеводов.
  9. Воздухообмен по ассимиляции теплоизбытков.
  10. ВОПРОС 3. Показатели катионообменных свойств почвы

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

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

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

1) создание очереди сообщений;

2) установка параметров очереди сообщений;

3) посылка сообщений в очередь;

4) получение сообщения из очереди.

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

Но имеется и недостаток – ограниченность объема обмениваемой информации, который определяется размерами очереди.

Примером использования сообщений для обмена между процессами является применение системных сообщений типа WM_COPYDATA в Windows. Эти сообщения могут посылаться в очередь, либо для пересылки данных из одного процесса в другой может использоваться системный вызов SendMessage(). Этот вызов формируется в сервере, и сопровождается передачей структуры данных COPYDATASTRUCT. В этой структуре передается три значения:

1) 32-битный номер сообщения;

2) количество передаваемых байт данных;

3) указатель на область памяти, где хранятся передаваемые данные.

Данная структура передается другому процессу. Он может читать переданные данные, и изменять их, но только после того, как функция SendMessage() не вернет управление передающему процессу.


<== предыдущая страница | следующая страница ==>
Концепция почтовых ящиков | Функции подсистемы управления памятью

Дата добавления: 2014-10-10; просмотров: 348; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.