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

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

Пример программной системы с портами сообщений приведен на рис. 6.3. Порт U может рассматриваться как порт вводных сообщений для представленного на этом рисунке коллектива параллельно действующих программ, а порт W — как порт выводных сообщений для этого коллектива программ.

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Ссылка на основную публикацию
Adblock
detector