Предыдущий раздел ГРАФИЧЕСКИЙ ЯЗЫК ПРЕДСТАВЛЕНИЯ ЛОГИЧЕСКИХ СТРУКТУР Следующий раздел

4.3. Процессы

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

 

 

Рис.44. Графическое представление процесса

 

Точкой входа процесса или просто входом называется такая точка алгоритма процесса, в которой он может воспринимать внешние управляющие воздействия. Находясь в точке входа, алгоритм процесса «простаивает». Поступившее управляющее воздействие инициирует его. Далее выполнение алгоритма продолжается до тех пор, пока он не достигнет какую-либо точку входа и не перейдет таким образом опять в состояние «простаивания».

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

Все сказанное выше о процессе не содержит сколько-нибудь существенных различий между ним и процедурой. Подобное различие состоит в том, как осуществляется возврат управления. Допустим, что процесс A может вызывать как процесс B, так и процедуру C (рис.45). Взаимодействие A с модулями B и C совершенно различно. После вызова C выполнение алгоритма A приостанавливается в той точке, откуда был сделан вызов. Выполнившись, процедура всегда возвращает управление туда, откуда она была вызвана. То есть, никакой параллельности в выполнении A и C нет.

 

Рис.45. Инициирование процессом процедуры и процесса

 

После инициирования B модуль A сразу же оказывается логически отсоединенным от B. (Обычно алгоритм A оказывается в одной из точек своих входов и, следовательно, он может реагировать на внешние управляющие воздействия.) С другой стороны, процесс B после инициирования модулем A выполняется до тех пор, пока он не окажется в одной из своих входных точек. Таким образом, процессы A и B могут выполняться параллельно во времени. (Этим объясняется использование для изображения процесса параллелограмма.)

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

На этапе логического проектирования также не существенны способы реализации управляющих воздействий и передачи входных параметров. Они определяются на последующих этапах проектирования и зависят от того, как реализованы взаимодействующие модули. Если модули A и B (см. рис. 45) реализованы программно и для их выполнения используется единственный процессор, то управляющее воздействие можно реализовать только в мультипрограммной системе (с помощью вызова EXEC). В однопрограммной системе один программный процесс не может запустить другой. Если A и B выполняются на разных процессорах, или, если А – аппаратный процесс, то управляющее воздействие реализуется в виде сигнала прерывания.

 


Предыдущий раздел В начало Следующий раздел