330 / ЗаданКурсЖурналПолныйМПУСУ / ОСРВ_QNXистория
.pdf
|
|
|
|
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ |
|
|
|
|
|
|
|
||||
|
|
|
|
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ |
|
|
|
|
|
|
|||||
|
|
|
|
Защищённая операционная |
|||||||||||
|
|
|
|
система реального времени |
|
||||||||||
|
|
|
|
Сергей Зыль, Владимир Махилёв |
|
|
|
|
|
|
|
||||
|
|
|
|
Статья раскрывает секрет успеха защищённой операционной системы «жёсткого» |
|
||||||||||
|
|
|
|
реального времени QNX, рассказывает об истории её создания и сертификации |
|
||||||||||
|
|
|
|
на соответствие российским требованиям по информационной безопасности |
|
|
|
||||||||
|
|
|
|
и технологической независимости. |
|
|
|
|
|
|
|
||||
|
Сегодня в российской |
оборонной |
независимости и информационной бе# |
«СВД Встраиваемые Системы» полу# |
|||||||||||
|
промышленности среди специалистов |
зопасности. Проведение комплекса ра# |
чила от канадской компании QNX |
||||||||||||
|
по |
информационным |
технологиям |
бот, необходимого для сертификации |
Software System исходные тексты ОС РВ |
||||||||||
|
сложно найти человека, который бы ни |
QNX на соответствие российским нор# |
QNX 4.25 на неограниченное время с |
||||||||||||
|
разу не слышал об изделии |
мативным актам, было поручено компа# |
правом модификации и в соответствии с |
||||||||||||
|
КПДА.00002#01. Что же это за продукт, |
нии «СВД Встраиваемые Системы». Эта |
требованиями ГОСТ РВ 15.203 разрабо# |
||||||||||||
|
и почему он так знаменит? |
|
компания была создана в 2002 году на |
тала на их основе программный комп# |
|||||||||||
|
Чтобы ответить на этот вопрос, необ# |
базе технического отдела SWD Software |
лекс «Защищённая операционная систе# |
||||||||||||
|
ходимо в первую очередь рассказать о |
Ltd. — официального дистрибьютора |
ма реального времени QNX» — изделие |
||||||||||||
|
QNX — знаменитом семействе операци# |
QNX в России и странах бывшего СССР, |
КПДА.00002#01. |
Изделие |
успешно |
||||||||||
|
онных систем реального времени (ОС |
успешно работающего на рынке систем |
прошло |
сертификацию |
по |
третьему |
|||||||||
|
РВ). Создателей QNX Дэна Доджа и Гор# |
реального времени с 1991 года. Все поме# |
уровню защиты от несанкционирован# |
||||||||||||
|
дона Белла в 2003 году журнал "Fortune" |
щения «СВД Встраиваемые Системы» |
ного доступа (НСД) и второму уровню |
||||||||||||
|
назвал |
героями |
промышленности. |
разместились на закрытых территориях |
контроля |
отсутствия недекларирован# |
|||||||||
|
Действительно, разнообразие областей |
предприятий ОПК г. Санкт#Петербурга. |
ных возможностей (НДВ), что позволяет |
||||||||||||
|
науки и техники, в которых нашла своё |
Компания получила лицензии Феде# |
использовать его в автоматизированных |
||||||||||||
|
применение ОС РВ QNX, вызывает |
ральной службы безопасности РФ, Фе# |
системах (АС) класса защищённости до |
||||||||||||
|
удивление даже у её разработчиков. Сис# |
деральной службы по техническому и |
1Б включительно. Особо стоит отметить, |
||||||||||||
|
темные аналитики и главные конструк# |
экспортному контролю РФ и Министер# |
что в процессе сертификации была вы# |
||||||||||||
|
торы, не занимающиеся программирова# |
ства обороны РФ, а также свидетельство |
полнена проверка технологии и обору# |
||||||||||||
|
нием непосредственно, в качестве основ# |
о соответствии |
системы менеджмента |
дования, используемых в процессе про# |
|||||||||||
|
ной причины применения QNX в своих |
качества компании требованиям ГОСТ |
изводства программного обеспечения. |
||||||||||||
|
проектах называют удивительно гибкую |
РВ 15.002 и ГОСТ Р ИСО 9001. При этом |
|
|
|
|
|
|
|||||||
|
и элегантную архитектуру этих операци# |
каждый инженер компании имеет серти# |
ОСОБЕННОСТИ АРХИТЕКТУРЫ |
||||||||||||
|
онных систем. Отношение же програм# |
фикат специалиста по ОС РВ QNX, вы# |
Визитной карточкой QNX являются |
||||||||||||
|
мистов хорошо иллюстрирует известное |
данный разработчиком — |
канадской |
микроядро, полная защита памяти про# |
|||||||||||
|
высказывание: «QNX в мире операци# |
компанией QNX Software Systems. |
цессов и связь между ними на основе |
||||||||||||
|
онных систем — это то же |
|
|
|
|
|
обмена сообщениями. |
||||||||
|
автомат |
Калашникова |
в |
|
Менеджер |
|
Менеджер |
Базовые функции операцион# |
|||||||
|
стрелкового оружия». |
|
|
файловой |
|
|
системы вынесены в осо# |
||||||||
|
|
|
|
СD ROM |
|
||||||||||
|
|
|
системы |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
бый |
системный |
модуль, |
|||
|
|
|
|
|
|
|
Менеджер |
Менеджер |
Приложение |
||||||
|
ИСТОРИЯ СОЗДАНИЯ |
|
параллельного |
включающий микроядро и |
|||||||||||
|
|
процессов |
|||||||||||||
|
|
порта |
|
|
|||||||||||
|
Такая операционная сис# |
|
|
|
|
менеджер процессов. Мик# |
|||||||||
|
|
|
|
|
|
||||||||||
|
тема, как QNX, не могла не |
|
|
|
|
|
роядро является, по сути де# |
||||||||
|
обратить на себя внимание |
|
|
|
Программная |
ла, лишь коммутирующим |
|||||||||
|
и специалистов отечествен# |
|
|
|
элементом, |
своего |
рода |
||||||||
|
Микроядро |
|
|
|
шина |
||||||||||
|
ного |
оборонно#промыш# |
|
|
|
|
программной шиной (рис. |
||||||||
|
|
Менеджер |
|
Менеджер |
|
||||||||||
|
ленного комплекса (ОПК). |
|
TCP/IP |
|
очередей |
|
1), обеспечивающей интег# |
||||||||
|
Однако, несмотря на столь |
|
Графический |
Cервер |
|
|
рацию других изолирован# |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
завидную репутацию, использо# |
сервер |
печати |
|
|
программных компонентов |
|||||||||
|
вать её для внутреннего |
|
|
|
|
|
|
систему. К задачам, решае# |
|||||||
82 |
не имели права — в России действуют |
Рис. 1. Архитектура защищённой |
мым микроядром, относятся: |
|
|
||||||||||
жёсткие |
требования |
технологической |
операционной системы реального времени |
● диспетчеризация процессов; |
|
||||||||||
|
www.cta.ru |
|
|
|
|
|
|
|
|
|
|
|
СТА 3/2007 |
||
|
|
|
|
|
|
|
|
|
© 2007, CTA Тел.: (495) 234 0635 |
Факс: (495) 232 1653 |
http://www.cta.ru |
П Р О Г Р А М М Н О Е О Б Е С П Е Ч Е Н И Е / С И С Т Е М Ы Р Е А Л Ь Н О Г О В Р Е М Е Н И
1 |
|
3 |
ваемую, так и сложную распределённую |
налаженная технология. По сути дела, |
|||
|
систему. Компоненты, расширяющие |
большую часть драйвера программист |
|||||
Клиент |
|
сервисы ОС, называют менеджерами |
пишет на основе хорошо документиро# |
||||
|
|
|
|||||
|
|
|
ввода#вывода. Менеджер ввода#вывода |
ванного шаблона или каркаса, поэтому |
|||
|
|
Менеджер |
— это прикладная программа, которая |
основные усилия |
разработчик может |
||
Менеджер |
|
при запуске регистрируется в простран# |
сконцентрировать |
на аппаратно#зави# |
|||
процессов |
|
ввода |
|||||
|
|
|
|
|
|
||
2 |
4 |
вывода |
стве имён менеджера процессов и умеет |
симой части драйвера. |
|||
|
обрабатывать запросы клиентских при# |
|
|
||||
|
|
|
|
|
|||
Рис. 2. Установление соединения клиента с |
ложений. Если менеджер ввода#вывода |
ВНЕДРЕНИЯ |
|
||||
менеджером ввода вывода |
|
работает с каким#либо аппаратным уст# |
Рассказывая про ОС QNX, сложнее |
||||
|
|
|
ройством, то его называют драйвером. |
всего, пожалуй, говорить о внедрениях, и |
|||
● первичная обработка прерываний; |
Взаимодействие клиентских приложе# |
в первую очередь это касается изделия |
|||||
● первичная маршрутизация сетевых |
ний с менеджерами ввода#вывода орга# |
КПДА.00002#01. С одной стороны, посе# |
|||||
сообщений; |
|
|
низовано так, как показано на рис. 2. |
щая любую выставку, связанную с пере# |
|||
● обеспечение безопасного взаимодей# |
1. Клиент |
вызывает |
библиотечную |
довыми технологиями автоматизации, вы |
|||
ствия между процессами на основе |
функцию open(), указывая в аргу# |
можете по характерным признакам уз# |
|||||
синхронных сообщений и асинхрон# |
ментах функции имя, зарегистриро# |
нать эту операционную систему на мно# |
|||||
ных уведомлений. |
|
|
ванное менеджером ввода#вывода в |
гих стендах, представляющих самое раз# |
|||
За годы разработки небольшое (менее |
пространстве имён. При этом менед# |
нообразное оборудование и программное |
|||||
десяти килобайтов) |
микроядро было |
жеру процессов будет послано синх# |
обеспечение. С другой стороны, факт ис# |
||||
тщательно отлажено. Маленький раз# |
ронное сообщение#запрос, содержа# |
пользования той или иной операционной |
|||||
мер микроядра и чётко ограниченный |
щее заданное имя. |
|
системы часто является коммерческой |
||||
список выполняемых им функций обес# |
2. Менеджер процессов в сообщении# |
тайной производителей конечных изде# |
|||||
печивают надёжность и защищённость |
ответе передаёт клиенту параметры |
лий — и не только исходя из соображений |
|||||
операционной системы в целом. |
доступа к соответствующему менед# |
безопасности, но и в целях сохранения |
|||||
Менеджер процессов, вместе с мик# |
жеру ввода#вывода. Этот ответ со# |
конкурентных преимуществ. Однако ми# |
|||||
роядром входящий в единый систем# |
держит, |
например, |
идентификатор |
ровой опыт достаточно богат примерами |
|||
ный модуль, гарантирует, что ни один |
процесса менеджера ввода#вывода. |
построения решений на основе QNX, и |
|||||
процесс в системе не может вторгаться в |
3. Функция open(), используя получен# |
среди них немало таких, которые связаны |
|||||
адресное пространство другого процес# |
ные параметры доступа, посылает |
с ответственными или мобильными при# |
|||||
са, а также предоставляет уникальную |
сообщение#запрос менеджеру ввода# |
менениями, с системами двойного назна# |
|||||
по эффективности и простоте исполь# |
вывода. |
|
|
чения, с использованием в условиях кос# |
|||
зования службу пространства имён, ко# |
4. Менеджер ввода#вывода, исходя из |
моса, моря и т.д., то есть решений, кото# |
|||||
торая позволяет процессам быстро на# |
приоритета клиента, текущей загруз# |
рые можно рассматривать в качестве отк# |
|||||
ходить друг друга. |
|
|
ки, мандатных правил разграничения |
рытых аналогов многих военных приме# |
|||
Однако сам по себе системный модуль |
доступа или исходя из иных критери# |
нений. Приведём некоторые из них: |
|||||
никому не нужен. Для решения прик# |
ев, принимает решение о том, стоит |
● система высокоточной обработки |
|||||
ладных задач нужны файловые системы, |
ли взаимодействовать с данным кли# |
трёхмерных |
видеоизображений |
||||
сетевые протоколы, доступ к устрой# |
ентом, возвращает статус (удачно/не# |
ASVS, разрабатываемая компанией |
|||||
ствам и т.д. И здесь скрыта важная осо# |
удачно), и функция open() завершает# |
Neptec и предназначенная для уда# |
|||||
бенность ОС РВ QNX — возможность |
ся. Дальнейшее взаимодействие меж# |
лённого управления стыковкой кос# |
|||||
динамически добавлять/удалять любой |
ду клиентом и менеджером ввода#вы# |
мических аппаратов; |
|||||
сервис или аппаратный драйвер. Это да# |
вода осуществляется уже напрямую. |
● система наблюдения и сигнализации |
|||||
ёт операционной системе уникальную |
Разработка менеджеров ввода#выво# |
Senstar#100 компании Senstar#Stellar, |
|||||
модульность и наращиваемость, позво# |
да — как чисто программных компо# |
решающая задачи периметровой ох# |
|||||
ляет построить как компактную встраи# |
нентов, так и драйверов — это хорошо |
раны важных объектов; |
|
|
|
|
|
Фото предоставлено ИПМТ ДВО РАН |
|
|
Рис. 3. Управление бортовым манипулятором космического корабля |
|
|
|||
|
«Шаттл» реализовано на основе QNX |
|
Рис. 4. Автономно привязной подводный аппарат TSL |
|
83 |
|
|
|
|
|
|
|
|
|
СТА 3/2007 |
|
|
www.cta.ru |
© 2007, CTA Тел.: (495) 234 0635 Факс: (495) 232 1653 http://www.cta.ru
П Р О Г Р А М М Н О Е О Б Е С П Е Ч Е Н И Е / С И С Т Е М Ы Р Е А Л Ь Н О Г О В Р Е М Е Н И
|
● радионуклидный |
ана# |
|
|
|
|
Однако все области |
|||||||
|
|
|
|
|
||||||||||
|
лизатор RASA компа# |
|
|
|
|
применения QNX, нес# |
||||||||
|
нии |
Pacific Northwest |
|
|
|
|
мотря на разнообразие, |
|||||||
|
National Laboratory для |
|
|
|
|
предъявляют два |
важ# |
|||||||
|
идентификации |
ядер# |
|
|
|
|
ных требования, в ко# |
|||||||
|
ных объектов и мони# |
|
|
|
|
нечном |
итоге |
опреде# |
||||||
|
торинга |
окружающей |
|
|
|
|
ливших решение разра# |
|||||||
|
среды; |
|
|
|
|
|
|
|
|
ботчиков при |
выборе |
|||
|
● система |
|
управления |
|
|
|
|
операционной |
систе# |
|||||
|
бортовым манипулято# |
|
|
|
|
мы, — |
детерминиро# |
|||||||
|
ром космического ко# |
|
|
|
|
ванность и надёжность. |
||||||||
|
рабля «Шаттл» (рис. 3); |
|
|
|
|
Ведь многие |
изделия |
|||||||
|
● многоцелевые |
авто# |
|
|
|
|
должны |
годами |
рабо# |
|||||
|
номные подводные ро# Рис. 5. Робот PocketDelta компании |
тать без обслуживания |
||||||||||||
|
боты |
(МТ#98, TSL и CSEM предназначен для сборки |
человеком и при этом |
|||||||||||
|
др.) разработки Инсти# сложных миниатюрных устройств |
должны |
гарантирован# |
|||||||||||
|
тута проблем морских и построен на основе QNX |
но обрабатывать значи# |
||||||||||||
|
технологий ДВО РАН |
|
|
|
тельные |
объёмы |
ин# |
|||||||
|
(рис. 4) [1, 2]. |
|
|
|
формации, поступающей с различных |
|||||||||
|
Кроме того, можно упомянуть такие |
датчиков. |
|
|
|
|
||||||||
|
сферы применения, как сталелитейная |
Следует заметить, что вокруг изделия |
||||||||||||
|
промышленность, добыча, транспорти# |
КПДА.00002#01 сложилась достаточно |
||||||||||||
|
ровка и переработка нефти и газа, атом# |
интересная ситуация: изначально пред# |
||||||||||||
|
ная энергетика, авиационные и морс# |
назначенный для ОПК, этот продукт |
||||||||||||
|
кие тренажёры и симуляторы, автома# |
оказался востребованным и при созда# |
||||||||||||
|
тические телефонные станции и теле# |
нии ответственных систем коммерчес# |
||||||||||||
|
коммуникационное оборудование, ро# |
кого учёта в добывающей промышлен# |
||||||||||||
|
бототехника (рис. 5) и управление бес# |
ности, энергетике, а также в различных |
||||||||||||
|
пилотными аппаратами, медицинские |
системах, применяемых на транспорте. |
||||||||||||
|
приборы и многое другое. |
|
|
|
|
|
|
|
||||||
|
В настоящее время в различных отрас# |
ОСОБЕННОСТИ ОБЛАСТИ |
|
|
||||||||||
|
лях широкое распространение получили |
ПРИМЕНЕНИЯ |
|
|
|
|||||||||
|
системы управления, разработанные с |
Предприятия ОПК традиционно уде# |
||||||||||||
|
использованием SCADA#пакетов, ин# |
ляют особое внимание вопросам созда# |
||||||||||||
|
струментальные средства которых поз# |
ния новых видов устройств, а в послед# |
||||||||||||
|
воляют силами специалистов#техноло# |
ние годы в связи с активным развитием |
||||||||||||
|
гов, досконально знающих предметную |
отечественной |
микроэлектроники — |
|||||||||||
|
область, в относительно короткие сроки |
даже новых ЦПУ (в том числе многоя# |
||||||||||||
|
создавать, |
разворачивать на |
объектах |
дерных) и процессорных модулей (в том |
||||||||||
|
применения и эксплуатировать сложные |
числе прототипных плат) на их основе. |
||||||||||||
|
автоматизированные системы управле# |
Для разработчика аппаратуры одной из |
||||||||||||
|
ния без привлечения программистов. |
наиболее ответственных и проблемных |
||||||||||||
|
Специально для QNX разработан целый |
задач является обеспечение поддержки |
||||||||||||
|
ряд SCADA#систем, среди которых наи# |
созданного оборудования в операцион# |
||||||||||||
|
более |
распространёнными |
являются |
ных средах. Фактически речь идёт об |
||||||||||
|
RealFlex, |
«СТА# |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||
|
ТУС» |
(рис. |
6), |
|
|
|
|
|
|
|
|
|
|
|
|
RTWin. |
Каждая |
|
|
|
|
|
|
|
|
|
|
||
|
такая SCADA со# |
|
|
|
|
|
|
|
|
|
|
|||
|
держит |
готовые |
|
|
|
|
|
|
|
|
|
|
||
|
наборы тщательно |
|
|
|
|
|
|
|
|
|
|
|||
|
протестирован# |
|
|
|
|
|
|
|
|
|
|
|||
|
ных компонентов |
|
|
|
|
|
|
|
|
|
|
|||
|
АСУ для опреде# |
|
|
|
|
|
|
|
|
|
|
|||
|
лённой |
отрасли |
|
|
|
|
|
|
|
|
|
|
||
|
промышленнос# |
|
|
|
|
|
|
|
|
|
|
|||
|
ти, а также |
под# |
|
|
|
|
|
|
|
|
|
|
||
|
держивает специ# |
|
|
|
|
|
|
|
|
|
|
|||
|
ализированные |
|
|
|
|
|
|
|
|
|
|
|||
|
технологические |
|
|
|
|
|
|
|
|
|
|
|||
84 |
языки, например |
|
|
|
|
|
|
|
|
|
|
|||
LCON 4. |
|
|
Рис. 6. Экранная форма SCADA «СТАТУС 4» (НПП «Автоматика С») для QNX |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обеспечении программно#аппаратной совместимости.
В этом отношении изделие КПДА.00002#01 предоставляет разработ# чикам важное преимущество: интерфей# сы и методика расширения хорошо доку# ментированы и при необходимости могут использоваться разработчиком самостоя# тельно. Область применения изделия простирается от создания драйверов уст# ройств до реализации собственных сис# темных сервисов, например поддержки особых протоколов обмена данными.
Однако не на всех предприятиях такие задачи возникают настолько часто, что# бы для их решения держать собственный штат квалифицированных системных программистов — представителей очень редкой и высокооплачиваемой специ# альности. Для решения такого рода проб# лем своих заказчиков руководство ком# пании «СВД Встраиваемые Системы» приняло решение выйти за рамки тради# ционных форм технического сопровож# дения, применяемых коммерческими поставщиками программного обеспече# ния, и создать Центр разработок систем# ного программного обеспечения QNX. Интересно, что этот Центр оказался востребованным и конкурентоспособ# ным не только на российском рынке.
ЗАКЛЮЧЕНИЕ
Изделие КПДА.00002#01 по сути дела представляет собой конструктор, состоя# щий из легко модифицируемых систем# ных компонентов#«кирпичиков» для современных АСУ, которые заказчик мо# жет с уверенностью в их качестве интег# рировать с помощью предоставляемых ему инструментов и методов в создавае# мое им комплексное решение. При этом каждый заказчик имеет возможность на любом этапе жизненного цикла создать и встроить в архитектуру АСУ практически любой новый системный «кирпичик» как своими силами, так и в партнерстве с «СВД Встраиваемые Системы». ●
ЛИТЕРАТУРА
1.Ваулин Ю., Инзарцев А. Применение ОС QNX в подводной робототехнике // Современные технологии автоматизации. 2002. № 3. С. 66#71.
2.Инзарцев А., Львов О. Бортовые вычис# лительные сети автономных подводных роботов // Современные технологии ав# томатизации. 2005. № 2. С. 68#74.
Авторы — сотрудники
ООО «СВД Встраиваемые Системы» Телефон/факс: (812) 373!1907
www.cta.ru |
СТА 3/2007 |
© 2007, CTA Тел.: (495) 234 0635 Факс: (495) 232 1653 http://www.cta.ru