Конспект установочных лекций по комплексному курсу Информатика, Теория информации



О языках программирования в курсе “Информатика”


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

Коммуникация через обмен сообщениями.

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

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

Каналы для обмена сообщениями типа m объявляются аналогично объявлению программных переменных:

channel m c

Среда передачи сообщений, которая служит для установления связи между отправителем и получателем, носит название канал.

В процедурном языке действия пересылки по каналу с выражаются с помощью оператора send E on c, где Е - любое выражение типа m; с - имя канала.

В дополнении к этому действие приема сообщения выражается оператором receive x on c, где х - идентификатор программной переменной.

Если к моменту выполнения действия приема еще отсутствует посланная информация, то процесс ожидает момента поступления сообщения.

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

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




Содержание  Назад  Вперед