Главная > Разработка имитационных моделей в среде MatLab
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

1.7.2 Моделирование параллельных процессов

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

Асинхронный параллельный процесс - такой процесс, состояние которого не зависит от состояния другого параллельного процесса (ПП).

Синхронный ПП - такой процесс, состояние которого зависит от состояния взаимодействующих с ним ПП.

Подчиненный ПП -  создается и управляется другим процессом (более высоко­го уровня).

Независимый ПП -  не является подчиненным ни для одного из процессов.

Способ организации параллельных процессов в системе зависит от физической сущности этой системы.

Остановимся несколько подробнее на особенностях реализации параллельных процессов в вычислительных системах (ВС). Это обусловлено следующей причи­ной.

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

• на уровне задач вычислительные процессы могут быть истинно параллельны­ми только в многопроцессорных ВС или вычислительных сетях;

• многие ПП используют одни и те же ресурсы, поэтому даже асинхронные ПП в пределах одной ВС вынуждены согласовывать свои действия при обращении к общим ресурсам;

• в ВС дополнительно используется еще два вида ПП: родительский и дочер­ний ПП; особенность их состоит в том, что процесс-родитель не может быть завер­шен, пока не завершатся все его дочерние процессы.

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

• на основе «взаимного исключения»;

• на основе синхронизации посредством сигналов;

• на основе обмена информацией (сообщениями).

«Взаимное исключение» предполагает запрет доступа к общим ресурсам (об­щим данным) для всех ПП, кроме одного, на время его работы с этими ресурсами (данными).

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

Часто возникает необходимость передавать от одного ПП другому более под­робную информацию, чем просто «сигнал-событие». В этом случае процессы со­гласуют свою работу на основе обмена сообщениями.

Перечисленные механизмы реализуются в ВС на двух уровнях -  системном и прикладном.

Механизм взаимодействия между ПП на системном уровне определяется еще на этапе разработки ВС и реализуется в основном средствами операционной систе­мы (частично — с использованием аппаратных средств).

На прикладном уровне взаимодействие между ПП реализуется программистом средствами языка, на котором разрабатывается программное обеспечение.

Наибольшими возможностями в этом отношении обладают так называемые язы­ки реального времени и языки моделирования.

Языки моделирования по сравнению с языками реального времени требуют от разработчика значительно менее высокого уровня подготовки в области програм­мирования, что обусловлено двумя обстоятельствами:

• во-первых, средства моделирования изначально ориентированы на квазипа­раллельную обработку параллельных процессов;

• во-вторых, механизмы реализации ПП относятся, как правило, к внутренней орга­низации системы (языка) моделирования и их работа скрыта от программиста.

 

Categories

1
Оглавление
email@scask.ru