![]() Часть VI6.4. Профили систем реального времени6.4.1 Профиль минимальных (встроенных) систем реального времени (Minimal (Embedded) Realtime System Profile) - PSE51Данный профиль, имеющий в классификации стандартов наименование PSE51, описывает API-окружение систем реального времени (РВ-систем) с минимальными функциональными возможностями. Как правило, встроенные системы реального времени являются частью автономных автоматизированных средств. Примерами РВ-систем данного класса могут служить разнообразные контроллеры робототехнических систем, блоки управления подсистемами космических аппаратов и авиалайнеров и пр., функционирующие в жестких временных ограничениях. Так как эти системы требуют поддержки минимальной функциональности, то для обеспечения их переносимости можно обойтись небольшим набором функций из стандартов POSIX 4 and POSIX 1. В частности, таким системам не требуется файловая система, средства мультипроцессности, система управления памятью (memory management unit - MMU), средства пользовательского взаимодействия, общие средства ввода/вывода и пр. Как уже отмечалось, профили POSIX.13 имеют две основные опции, определяющие язык реализации API-интерфейсов. Одна опция соответствует использованию языка С, другая - Ada. Оба этих режима задаются в заголовочном файле С целью экономии места, а также для большей наглядности далее будем предполагать наличие только первой из этих опций. Основным приемом построения функциональности профиля является селекция требуемых для систем данного класса сервисов, описанных в стандартах POSIX, посредством использования аппарата символьных констант. Определение функциональности системного ядра РВ-профилей формируется из следующих стандартов:
Полная функциональность интерфейса системного ядра, определенного стандартом POSIX.1, в случае использования профиля PSE51 становится такой, как показано в таблице 6.6.
Таким образом, в состав функций, которые должны быть реализованы конформной профилю системой, вводятся наборы функций, входящие в указанные модули функциональности. Аналогичным образом выбираются необходимые функции и из других стандартов, входящих в профиль. Кроме этого, определяются опции и режимы исполнения отдельных групп функций, поддержанные в профиле PSE51. В частности, для стандарта POSIX.1c выбираются следующие модули функциональности:
Опции для стандартов POSIX.1, POSIX.1b, POSIX.1c. выбираются следующие. Для POSIX.1 выбирается опция _POSIX_NO_TRUNC. Для POSIX.1b выбираются опции:
Для POSIX.1c выбираются опции:
Сделаем некоторые замечания по выбранной функциональности. Сравнивая таблицы 6.2 и 6.6 можно заметить, что большая часть примитивов механизма процессов стандарта POSIX.1 не включена в профиль PSE51. Это вызвано тем, что в данном профиле за основу параллелизма принята модель нитей, определенная в стандарте POSIX.1b (POSIX 4). Однако сигнальные сервисы POSIX.1 задействованы в полном объеме, так как являются базовым механизмом для Unix-подобных систем. Они применяются для обработки ошибок и событий в системе. Функции sysconf(), time(), uname() требуются для РВ-приложений, чтобы дать возможность определять значения переменных своего системного окружения. Это позволяет разрабатывать гибкое программное обеспечение, которое может исполняться на различных платформах (при этом предполагается, что CHILD_MAX=0). Ввод/вывод поддерживается только для основных устройств (функция open()). Поддержка каталогов и пространства полных имен файлов не требуется. В модели вычисления, предлагаемой профилем PSE51, приложение будет состоять их одного процесса и, возможно, нескольких нитей. Поэтому для организации параллельной обработки и синхронизации нитей предполагается использовать сигналы реального времени (Realtime Signals), семафоры, аппарат часов и таймеров, а также некоторые другие средства стандарта POSIX.1b [11]. 6.4.2 Профиль систем-контроллеров реального времени (Realtime Controller System Profile) - PSE52Профиль PSE52 описывает несколько более развитое по сравнению с PSE51 API-окружение систем реального времени, которые применяются в системах управления с жесткими временными ограничениями, например, в качестве контроллеров устройств ввода/вывода или систем управления производственными процессами. По своим функциональным возможностям они во многом идентичны встроенным системам, за исключением того, что им требуется некоторая файловая система, а также средства асинхронного ввода-вывода. При этом файловая система может быть реализована в памяти (на RAM-диске). По сравнению с профилем PSE51 в профиль PSE52 добавляются следующие функциональные возможности:
6.4.3 Профиль выделенных систем реального времени (Dedicated Realtime System Profile) - PSE53Класс систем реального времени, описываемый профилем PSE52, относится к РВ-приложениям среднего уровня сложности. Такие системы используются в качестве управляющих в авиации, в радиолокационных станциях, в контурах управления средств (танков, подводных лодок), для управления производством или группой роботов и т.д. Приложения реального времени, требующие использования окружений, соответствующих профилю PSE52, обычно выполняются на специально выделенных для решения целевых задач платформах. Функциональность данного профиля по сравнению с функциональностью профиля PSE52 изменяется следующим образом:
6.4.4 Профиль многоцелевых систем реального времени (Multi-Purpose Realtime System Profile) - PSE54
Данный профиль предназначен для поддержки переносимости многоцелевых приложений реального времени, относящихся, как правило, к высшим уровням иерархии управляющих функций. Такие системы применяются в качестве командных центров систем ПВО и ПРО, управления войсковыми соединениями, центров управления космическими станциями, сложными производственными процессами. Поэтому функциональность профиля PSE54 строится как объединение всех возможностей, описанных в стандартах POSIX.1, POSIX.1b, POSIX.1c., а также POSIX.2. 6.4.5 Список требований конформности реализации стандартизованному профилю для языка С (ISP Requirements List (C Language))В завершающей части документа POSIX\RT-AEP приведены нормативные приложения A и B (по правилам OSI-профилей, которые мы будем рассматривать дальше), определяющие списки требований конформности, т.е. требований, которым должна удовлетворять конформная профилю POSIX.13 реализация. В приложении A приведены требования для С интерфейса, а в приложении B приведены требования для интерфейса, определенного средствами языка Ada.Кратко рассмотрим содержание приложения A. Оно включает следующие три раздела:
В разделе A.1 в табличной форме (см. Табл.6.7) определяются возможности выбора функциональности для реализации, которая заявляется как конформная профилю или профилям POSIX.13. В таблице 6.7 содержится три столбца: первый включает наименования профилей в таксономии POSIX-профилей; второй - символьные обозначения опций, с помощью которых выбирается тот или иной тип профиля; третий - определяет состояние (status) рассматриваемого элемента, например, является ли его выбор обязательным или нет.
Замечание. OPT (OPTIONAL) - означает возможность выбора одного из решений или несколько из них, т.е. допускается возможность для реализации быть конформной более, чем одному профилю POSIX.13. В разделе A.2 также в табличной форме (см. Табл.6.8) задается список нормативных базовых стандартов для документа POSIX\RT-AEP стандартов.
Замечание. PRT (Partial) - включает часть опций или функциональных модулей, определенных в A.3. MAN (Mandatory) - используется полностью всеми опциями. NRQ (Not required) - является не обязательным в окружении. OPT (OPTIONAL) - может быть включен в окружение в качестве дополнительной возможности. В разделе A.3 осуществляется последовательный анализ перечисленных выше нормативных базовых стандартов. И для каждого стандарта рассматриваются все его опции и функциональные группы с целью определения статуса элементов стандарта по отношению к профилям POSIX.13 и критериям конформности. Как правило, в стандартах и профилях требования конформности разработчики стандартов стараются представить в табличной форме. Это обеспечивает наглядность и компактность представления требований, а также полноту и системность их разработки. Ниже в качестве примера представления такой информации приведем две таблицы с определением требований для опций стандарта POSIX.1 (см. Табл.6.9) и требований для модуля функциональности POSIX_SINGL_PROCESS (см. Табл.6.10). В таблице 6.10 столбец Reference указывает раздел стандарта с описанием рассматриваемого элемента стандарта. Замечание. NRQ (Not required) - является необязательным для данного профиля. MAN (Mandatory) - является обязательным для данного профиля. NAM - является обязательным для определения ошибки в случае, когда имена объектов длиннее, чем значение переменной NAME_MAX. PRI (Primary) - первичная система файлов будет определять ошибку в случае, когда компоненты имени пути объектов длиннее, чем значение переменной NAME_MAX. Замечание. NRQ (Not required) - функция является необязательной для данного профиля. MAN (Mandatory) - функция является обязательной для данного профиля. * - место определение дополнительной функциональности.
|