Рис. A.9. Диаграммы видов деятельности отображают действия объектов с точки зрения передачи управления от одного объекта другому. Диаграмма этого типа с помощью полосы синхронизации позволяет отобразить разветвление программы на несколько потоков управления (параллельность) и их слияние. Чтобы было понятно, какой объект выполняет соответствующее действие, здесь используется принцип «плавательных дорожек». Эти «плавательные дорожки» могут пересекаться переходами. «Плавательные дорожки» также могут пересекаться полосами синхронизации, что означает, что несколько потоков управления, распределенные по различным объектам, выполняют действия параллельно |
Диаграмма состояний используется для отображения последовательности изменения состояния объектов. Состояние — это условие, при котором объект занимает ту или иную позицию на своей «линии жизни». Объект за время своего существования может многократно изменять свое состояние. Объекты переходят в новое состояние, если создаются определенные условия, выполняется некоторое действие или происходит соответствующее событие.
Рис.А.10. Диаграммы состояний отображают состояния объектов и их переходы из одного состояния в другое за время их существования. Диаграмма этого вида содержит начальное и конечное состояние объекта. Состояние может включать несколько стадий (частей). Оно может также быть представлено совокупностью других состояний или даже других диаграмм состояний. Подсостояния, которые существуют параллельно в рамках одного объекта, называются параллельными подсостояниями |
Диаграммы пакетов используются для организации элементов системы по группам
Рис.А.11. Диаграммы пакетов могут служить для отображения организации элементов системы. При этом можно использовать стереотипы «система» или «подсистема». Если пакет содержит другие элементы, во вкладке (расположенной слева) можно указать имя пакета |
posix_spawn, posix_spawnp
Имя posix_spawn, posix_spawnp— функции порождения процессов (ADVANCED REALTIME)
Синопсис
SPN #include
int posix_spawn (
pid_t *restrict pid, const char *restrict path,
const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char *const envp[restrict]); int posix_spawnp (
pid_t *restrict pid, const char *restrict file,
const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char * const envp[restrict]);
Описание
Функции posix_spawn() и posix_spawnp() предназначены для создания нового (сыновнего) процесса из заданного образа процесса. Новый образ процесса создается на основе обычного выполняе м ого файла, и м енуе м ого файлом образа нового процесса.
Если в качестве результата этого вызова выполняется С-програ мм а, то она должна быть представлена как функция языка С следующи м образо м: int main (int argc, char *argv[]);
Здесь argc— количество аргу м ентов, а argv— м ассив си м вольных указателей на аргу м енты функции. Кро м е того, следующая пере м енная extern char **environ;должна быть инициализирована как указатель на массив символьных указателей на строки описания конфигурации среды.
Аргумент argv представляет собой массив символьных указателей на строки с завершающим нулем. Последний член этого массива (он не учитывается аргу м ентом argc) должен быть нулевым указателе м. Эти строки составляют список аргу м ентов, доступных для образа нового процесса. Значение эле м ента argrv[0] должно указывать на и м я файла, который связан с образо м процесса, запускае м о г о функцией posix_spawn() или posix_spawnp().
Аргу м ент envp представляет собой м ассив си м вольных указателей на строки с завершающим нулем. Эти строки составляют среду для образа нового процесса. Массив среды завершается нулевым указателем.
Количество байтов, допустимых для обобщенного аргумента сыновнего процесса и списков строк описания конфигурации среды, составляет {ARG_MAX}.В систе м ной доку м е н тации конкретной реализации (с м. то м Base Definitions стандарта IEEE Std 1003.1-2001, Chapter 2, Conformance) должно быть указано, включаются ли в это значение такие служебные данные, как си м волы конца строки, указатели или байты выравнивания.
Читать дальше