Booster
Junior Member / Новичок
Участник № / Member № 6801
отправлено / posted
Добрый день! Какой вариант предпочтительнее с точки зрения отказоустойчивости: 1) несколько отдельных программ обмениваются между собой через аргументы каналов; 2) одна-единственная программа содержит в себе все алгоритмы; отдельные части программы взаимодействуют через глобальные переменные. 1 вариант удобнее и нагляднее, но 2 вариант, вроде бы менее ресурсозатратный. Если реализовать 2 вариант, то какие есть ограничения по объёму st-программы?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Проблема не только в ресурсоемкости, но и в синхронизации процессов обработки по варианту 1. По этому варианту нельзя гарантировать, что при всех условиях обрабатываемые программами данные относятся к одному временному срезу. Могут потребоваться дополнительные меры для исключения возможных ошибок за счет рассинхронизации используемых данных. При условии, что объем программы по варианту 2 не является чрезмерным, этот вариант более предпочтителен.
Методического ограничения на объем ST-программы нет. А вот ограничения на количество аргументов в программе существуют (по документации суммарно на аргументы программы выделяется 4 КБ памяти) - не более 4000 аргументов, если все аргументы числовые. Если используются и строковые аргументы, то на каждый из них выделяется 256 байт.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Booster
Junior Member / Новичок
Участник № / Member № 6801
отправлено / posted
Спасибо! Вопрос вдогонку - нет ли ограничений на количество глобальных переменных?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Методических ограничений нет. Но в конечном счете суммарное количество переменных во всех программах является потребляемым ресурсом памяти. Поэтому реальные ресурсы ОС, выделяемые процессу, могут ограничить возможности узла. Это в равной мере относится ко всем компонентам, требующим системных ресурсов. Кроме того, процедуры синхронизации при использовании резервирования могут потребовать дополнительных объемом буферов для передачи по сети, что также ограничивается в ОС.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |