Статьи

Отбор по условию

Словарь автоматизатора




Гептод -
Семиэлектродная электронная лампа для преобразования частоты.

Весь словарь »»»




LynxOS – операционная система реального времени в стандарте POSIX

Золотарев С.В., Калядин А.Ю., ЗАО "РТСофт" (URL: www.rtsoft.ru)
Подробная информация об организации
Первоначальный вариант стандарта POSIX (Portable Operating System Interface) появился в 1990 г. [1] и был предназначен для UNIX-систем, первые версии которых ведут свой отсчет с начала 70-х годов прошлого века. Спецификации POSIX определяют стандартный механизм взаимодействия прикладной программы и операционной системы и в настоящее время включают набор более чем из 30 стандартов [2]

  • 1003.1a (OS Definition) – определяет основные интерфейсы ОС, управление заданиями, сигналы, функции файловой системы и работы с устройствами, группы пользователей, конвейеры, FIFO-буферы;
  • 1003.1b (Realtime Extensions) – описывает расширения реального времени, такие, как сигналы, диспетчеризация по приоритетам, таймеры, синхронный и асинхронный ввод-вывод, семафоры, разделяемая память, сообщения;
  • 1003.1c (Threads) – определяет функции поддержки потоков (нитей), такие, как управление потоками, атрибуты потоков, мьютексы, диспетчеризация.
Операционные системы реального времени (ОСРВ) обычно разделяют на две категории – жесткого и мягкого реального времени. Для ОСРВ жесткого реального времени отклик системы должен быть получен в строго ограниченном временном интервале и его превышение считается неприемлемым. В качестве примера такого приложения можно назвать систему наведения ракеты. Для систем мягкого реального времени временные характеристики не так важны и запоздалый отклик системы допустим (в разумных пределах). Например, в системах обработки видеоданных задержки приводят лишь к ухудшению качества изображения.

Чтобы соответствовать стандарту POSIX, операционная система должна быть сертифицирована по результатам соответствующего комплекта тестов [3]. В настоящее время комплекты тестов разработаны только для POSIX 1003.1a .


LynxOS и POSIX

LynxOS 4.x фирмы LynuxWorks является результатом более чем 15-летнего опыта и предназначена для создания ПО встроенных систем, работающих в режиме жесткого реального времени. Ее могут использовать производители комплектного (OEM) и телекоммуникационного (TEM) оборудования, в частности изготовители бортовых систем военного применения. Разработка может осуществляться как на самой целевой системе (self-hosted), так и на инструментальном компьютере (host), готовое ПО работает на целевой системе (target).

Система сертифицирована по стандарту POSIX. Это означает, что LynxOS проверена аккредитованными независимыми экспертами на полное соответствие этому стандарту. В частности, LynxOS была сертифицирована на соответствие POSIX 1003.1-1996 фирмой Mindcraft (www.mindcraft.com). Это уникальное свойство отличает ее от большинства других ОСРВ, которые являются POSIX-совместимыми (compatible) и в лучшем случае соответствуют стандарту POSIX на 90–95% [2]. Среди других POSIX-сертифицированных ОСРВ следует назвать операционную систему QNX фирмы QSSL. Хотя надо отметить, что сертифицирована лишь версия QNX v.4, а не QNX Neutrino (которую только планируется сертифицировать). В значительно меньшей степени поддержка POSIX реализована в VxWorks [2] фирмы WindRiver, причем часто путем использования продуктов сторонних разработчиков. Существует целый ряд ОСРВ, в которых полностью отсутствует поддержка POSIX, например Nucleus фирмы Mentor Graphics.


Основные свойства LynxOS

LynxOS поддерживает многозадачные и многопотоковые приложения. Она мо жет использоваться для приложений с высокими требованиями по времени ре акции и надежности. Программы, напи санные и скомпилированные в ОС Linux, могут запускаться и работать в среде LynxOS без каких-либо изменений в ис ходных текстах и без перекомпилирова ния. Это свойство LynxOS является уни кальным для ОСРВ и очень удобным для пользователей (например, если отсутст вуют исходные тексты). LynxOS обеспе чивает совместимость с Linux на уровне ABI (Application Binary Interface), фор матов объектных файлов, вызовов API, динамически подключаемых библиотек (DLL), компоновки и загрузки на этапе выполнения. Как уже отмечалось, систе ма полностью поддерживает стандарт POSIX.1003.la, а также подразделы POSIX. 1003. lb и POSIX. 1003.1с. Она может работать на разных аппаратных платформах (IA-32, PowerPC, MIPS, ARM, xScale) и поддерживает самые со временные сетевые средства и Интернет-технологии.

В ней предусмотрены необходимые средства для создания систем с возмож ностями "горячей замены" и "высокой доступности" (Hot Swap, High Availabili ty), а также устройств с высоким коэффи циентом резервирования.

Существует версия LynxOS-178, сер тифицированная в соответствии со стандартом DO-178. Это означает пол ное соответствие требованиям к надеж ности для мобильных систем военного и аэрокосмического применения. Кро ме того, LynxOS-178 имеет сертифици рованный стек TCP/IP для ответствен ных приложений в области авионики, медицины, атомной промышленности и связи.

Существует множество средств разработки как в рамках самой LynxOS, так и host-систем (Linux, Windows, Solaris). Для разработчиков в среде операционной системы VxWorks компания LynuxWorks предлагает специальный пакет VxWorks Compatibility Layer Package, который облегчает перенос программ из VxWorks в LynxOS. Как известно, в системах VxWorks с прямой адресацией между задачами могут возникать конфликты, поскольку все они обращаются к одному и тому же пространству глобальных имен. В LynxOS все процессы всегда независимы друг от друга и доступа к одному и тому же адресному пространству не имеют. VxWorks Compatibility Layer Package позволяет иметь в LynxOS отдельные пространства имен, обеспечивая одновременное существование нескольких виртуальных систем VxWorks. В состав пакета также включены рекомендации по выявлению кодов, требующих при переносе особого внимания из-за внутренних различий в реализации между LynxOS и VxWorks. Кроме того, имеется полный перечень поддерживаемых директив VxWorks и соответствующих ограничений на их использование.


Поддержка приложений жесткого реального времени

В LynxOS 4.x реализован широкий спектр возможностей, позволяющих пользователю разрабатывать приложения жесткого реального времени. При этом количество задач не ограничено. Число приоритетов, с которыми может выполняться задача, составляет 256, а диспетчеризация происходит путем вытеснения по приоритетам. Могут применяться четыре алгоритма диспетчеризации (FIFO, Priority Quantum, Round Robin, невытесняемый).

Детерминированное время переключения контекста достигается благодаря эффективному алгоритму диспетчеризации реального времени. Средства межзадачных взаимодействий соответствуют как стандарту POSIX (семафоры, разделяемая память, сокеты, сигналы, каналы, мьютексы, условные переменные), так и терминам Unix SystemV (очереди сообщений, семафоры, разделяемая память).

Система обеспечивает поддержку таймеров реального времени и часов POSIX. При этом допускается конфигурирование квантов времени для различных уровней приоритетов.

И наконец, гарантируется выполнение задач в защищенном режиме с полной поддержкой MMU (Memory Management Unit).


Сетевые возможности

LynxOS унаследовала от ОС BSD4.2 стек TCP/IP. На данный момент это самая популярная реализация в мире UNIX-подобных операционных систем. По быстродействию и богатству функций стек ТСРДР ОС LynxOS превосходит стеки большинства других ОСРВ.

Список поддерживаемых протоколов включает все сетевые средства, стандартные для ОС UNIX последних версий:

  • Internet Protocol (IPv4 и Pv6)ATCP/UDP/ ARP/RARPACMP/VLAN/IP6fw/IGMP;
  • коммуникационные протоколы интерфейсов по последовательному каналу PPP/SLIP;
  • Sockets/Sysctl, ftp/tftp/rsh/ntalk/smtp/samba;
  • NAT (Network Address Translation), DNS (Domain Name Services), DHCP (Dynamic Host Configuration Protocol), telnet, rlogin, RFC, NFS, NTPv3 (Network Time Protocol), SNMP vl,2,3 & MIB (Simple Network Management Protocol);
  • протоколы маршрутизации из пакета Zebra – EGP, OSPF vl,2, RIP vl,2, BGP4+; DVMRP (multicast routing);
  • средства сетевой загрузки РХЕ Netboot, TFTP boot.

Пакеты поддержки целевых архитектур

LynuxWorks поставляет пакеты поддержки целевых архитектур в LynxOS 4.0 (BSPs) для широкого спектра платформ, таких, как любые AT- и CompactPCI-пла-ты с процессором Intel, Motorola Sand-point 750, Intel XScale IQ80310, IBM 440GP, Motorola FADS-ZU, Thales VM-PC6a/c, Force PowerCore 680 G3 & G4, Motorola CompactPCI for PPC MCP750, MCPN750, Motorola SPS FADS680T, Motorola PMC860, Radstone PowerXTreme 7a, Thales VCE405 и многие другие.

LynxOS поддерживает специальные возможности для встраиваемых приложений, среди которых – очень малое время загрузки, работа с флэш-памятью (M-systems TrueFFS), а также загрузка по сети или из ROM конфигураций исполняемой системы.

Разработка приложений
LynxOS предоставляет разработчику богатый выбор инструментальных средств как в ее собственных рамках, так и в среде host-систем. Среда разработки самой LynxOS поддерживает такие средства, как gcc, g+ +, gdb, различные версии системных библиотек (статические, динамические, многопотоковые), загрузчик динамических (ELF) библиотек, символьная отладка многопотоковых приложений, средства работы с графическими средами (X11R6, Motif, PosixDesk).

Средства кросс-разработки для LynxOS
На рынке присутствует достаточно широкий спектр средств кросс-разработки для LynxOS. Отметим наиболее популярные.

VisualLynux IDE for Windows. Visual-Lynux является расширением Microsoft Visual Studio с добавленными функциями и возможностями разработки приложений для LynxOS и BlueCat Linux. Инструменты для администрирования целевых систем и дистанционной разработки делают его мощной интегрированной средой (IDE) кросс-разработки для встроенных систем. Продукт включает в себя встроенный компилятор GNU gcc и отладчик gdb, которые позволяют сократить временные затраты на весь производственный цикл – от написания кода и до отладки готовой программы. Встроенный клиент FTP переносит файлы на целевую систему, а утилита ВТР запускает серверы Bootp, Tftp и Pftp на машине разработчика и перезагружает целевую систему через параллельное соединение или по ТСРДР для отладки и исправления возникающих ошибок с помощью администратора целевых платформ.

С помощью VisualLynux можно создавать различные типы проектов – пользовательские приложения на Си и C++, приложения X/Motif, драйверы устройств, статические библиотеки. Один и тот же проект в VisualLynux может содержать множественные конфигурации, которые позволяют посредством VisualLynux Application Wizard легко менять тип целевой платформы. Каждому типу целевых платформ соответствует свой набор инструментов для кросс-разработки – компиляторов, интерпретаторов команд и т. д. Кроме того, проект VisualLynux может быть сохранен в типичном для ОС UNIX формате makefile.

В пакет поставки VisualLynux включены готовые шаблоны и примеры исходного кода, построенные в соответствии со стандартами POSIX, такие, как POSIX MultiThreaded, POSIX Signal Handler, Condition Variables and Mutexes, POSIX Semaphores, POSIX Shared Memory, PIPES, Priority Alteration, Interval Timers, POSIX Message Queues, Real-Time Events. В частности, VisualLynux Device-Driver Wizard позволяет создавать шаблоны статических или динамических драйверов устройств для Lynx-OS и BlueCat Linux.

CodeWarrior IDE. Реализация известной среды разработки CodeWarrior IDE в среде Linux или Solaris.

TotalView. Многозадачный графический отладчик для Lynx-OS. Единственный графический встраиваемый отладчик на уровне исходных текстов, разработанный специально для работы в современных распределенных многозадачных средах.

SpyKer. Инструмент отладки, диагностики и оптимизации быстродействия встроенной системы для LynxOS и BlueCat Linux. Позволяет осуществлять динамический мониторинг и запись всех событий во встроенной системе (события операционной системы и работы приложений) и представлять данные в графическом виде в наглядной форме:

  • всплывающие окна содержат информацию о событии, на которое указывает курсор;
  • графическое увеличение и уменьшение интересующих пользователя зон на графике позволяет добиться большей детализации;
  • фильтр системных событий;
  • точное измерение временных промежутков между отдельными событиями.
SpyKer способен отслеживать системные вызовы, прерывания, переключения контекста и многие другие события.

Aphelion Java Toolkit. Устраняет препятствия, характерные для использования Java во встроенных системах, включая проблемы с переносимостью, совместимостью, временем разработки и быстродействием.

Lynxlnsure+ +. Предоставляет разработчикам детальную информацию, позволяющую глубже понять механизм работы приложения (ошибки в операциях с памятью, в том числе в присвоении ее разделов, в инициализации и присвоении переменных, проблемы с указателями, библиотеками, логические ошибки "утечки" памяти).

Porting Kit. Включает исходные тексты для всех BSP для конкретной архитектуры и может использоваться теми заказчиками, которые хотят порти-ровать LynxOS на целевую систему.

С ростом популярности LynxOS многие независимые фирмы – разработчики ПО объявляют о выпуске версии своей продукции для этой среды. Назовем лишь некоторые примеры.

Компания Enea Embedded Technology анонсировала поддержку своего продукта в реляционной СУБД Polyhedra для LynxOS.

Empress Software объявила о реализации СУБД Empress v.8.62 для LynxOS.

Компания McObject объявила о поддержке в среде LynxOS своей оперативной базы данных eXtremeDB.

FairCom портировала свой пакет c-tree Plus в LynxOS.

Компания Highlander интегрировала свой CORBA-совмес-тимый продукт VisiBroker для разработки распределенных приложений в среде LynxOS.

Пакет CORBAplus (реализация протокола CORBA) фирмы Expersoft портирован в LynxOS.


Заключение



Литература

1. IEEE/ANSI Standard 1003.1: Information Technology (POSIX). Part 1: System Application: Program Interface (API).

2. Kevin M. Obeland, POSIX in Real-Time/Embedded Systems Programming, 2001.

3. National Institute of Standards and Technology. PCTS:151-2, POSIX Test Suite.



Другие статьи раздела:


 


| Новости | Организации | Описания | Форум | Публикации | Регистрация |
Copyright © 2000 - 2001 ГОСНИИСИ. Авторские права охраняются.
Воспроизведение материалов или их частей в любом виде без письменного разрешения запрещено.
 
 
Rambler\'s Top100