Бортовая операционная система реального времени JetOS для российских воздушных судов

Аватар пользователя BobberRu

Несколько слов о новой бортовой операционной системе реального времени (ОСРВ) предназначенной для использования на воздушных судах МС-21 и Суперджет.

JetOS - перспективная бортовая операционная система реального времени (ОСРВ), разработка которой в настоящее время ведется в рамках научно-исследовательской работы ГосНИИАС. ОСРВ разрабатывается в соответствии с DO-178C и ARINC 653, учтена возможность работы с OpenGL SC.

По материалам сайта "Техносфера" и информации от Государственного научно-исследовательского института авиационных систем (Труды Института системного программирования им. В.П. Иванникова РАН, том 29, вып. 3, 2017 г., стр. 171-178, авт. Ю.А. Солоделов  и Н.К. Горелиц).

JetОС должна заменить такие операционные системы зарубежного происхождения, как VxWorks 653, PikeOS, MACS2, LynxOS-178.

 Минпромторг России поддерживает ведущуюся в нашей стране с 2016 года разработку отечественной операционной системы реального времени (ОСРВ) с рабочим названием JetOS. Государственный научно-исследовательский институт авиационных систем (ГосНИИАС) планирует использовать ее на новейших пассажирских самолетах МС-21 и серийных «Суперджетах».

  Использование специализированных операционных систем зарубежного происхождения, таких как VxWorks 653, PikeOS, MACS2, LynxOS-178, на самолетах, которые используют в России, это не только технологическая зависимость, но и реальная угроза национальной безопасности нашей страны. После обострения отношений между РФ и рядом стран Запада российские разработки наконец-то оказались в центре внимания отраслевых ведомств и стали ускоренно развиваться. Так первые версии JetOS уже обкатывают на платформах отечественных разработчиков. Государственную сертификацию новой российской ОСРВ планируют пройти до конца 2019 года.

  На протяжении длительного времени как в отечественной программе ИМА, так и на разрабатываемых воздушных судах применялись зарубежные ОСРВ (например, VxWorks 653 или Thales MACS2). Однако имеется прецедент, при котором один из разработчиков ОСРВ в одностороннем порядке прекратил сотрудничество с рядом отечественных компаний, что осложнило проводимые работы и поставило вопрос о замене зарубежного продукта на отечественный аналог [4] (здесь и далее приведены ссылки на источники, перечень которых приведен в конце текста - прим. ред.)

  Главное отличие данного проекта от аналогов в наземной сфере – повышенные требования к качеству работы. Также требуется написать не только саму ОС, но и программное обеспечение для многочисленных периферийных устройств.
  Как говорят специалисты, ключевыми характеристиками современных ОСРВ для гражданской авиации являются: соответствие актуальной версии стандарта ARINC 653 (регламентирует временное и пространственное разделение ресурсов авиационной ЭВМ в соответствии с принципами интегрированной модульной авионики), сертифицируемость по DO-178C [в русскоязычной редакции – КТ-178C] (для применения в гражданской авионике), поддержка работы на многоядерных процессорах и возможность портирования между различными аппаратными платформами.

  Необходимо пояснить такую постановку задачи как «создание сертификационного пакета». По действующим в настоящее время международным регламентам сертификации подлежит не ПО, а система (комплектующее изделие), в состав которого упомянутое ПО входит [5]. Поэтому говорить о сертификации ПО в отрыве от разрабатываемого воздушного судна или комплектующего изделия было бы некорректно. 

  Поскольку данная работа ведется независимо от создания ВС или КИ, ее целью должна являться подготовка всех необходимых материалов (т.е. сертификационного пакета) для последующего включения их в процесс разработки и сертификации комплектующего изделия.
В состав сертификационного пакета входят, помимо прочего, следующие материалы:

  1. планы и стандарты, по которым разрабатывается ПО (КТ-178 С, гл.11.1 -11.8) [3],
  2. требования к разрабатываемому ПО (КТ-178 С, гл. 11.9) [3],
  3. проект ПО(КТ-178 С, гл. 11.10) [3],
  4. исходный код самого ПО и тестов (КТ-178С, гл. 11.11, 11.13) [3],
  5. широчайший спектр результатов верификации (КТ-178С, гл. 11.14) [3]

– от результатов инспекции планов, стандартов, требований и т.п. до результатов прогона тестов, анализа трассируемости между данными жизненного цикла и т.д.
Полный перечень данных жизненного цикла приведен в КТ-178C, гл. 11 [3]. 

  Как прототип, так и основной код ОСРВ разрабатывается на языке C. Это обусловлено простотой его синтаксиса сравнительно с более поздними разработками (например, C++) и широкой распространенностью (компиляторы языка C существуют для подавляющего большинства аппаратных платформ в мире).
В соответствии с КТ-178 С процесс кодирования регламентируется стандартом на кодирование, разработанным в рамках данного проекта и входящим в сертификационный пакет. Стандарт на кодирование в значительной степени базируется на документе MISRA C и синтаксисе языка С99. Стоит отметить, что при создании бортового ПО крайне большое значение уделяется верификации исходного (а зачастую и исполняемого) кода, а широкие синтаксические возможности и развитые парадигмы программирования более современных языков очень усложняют верификацию кода или делают ее вовсе невозможной. Так, в настоящее время применение объектно-ориентированных языков при разработке бортового ПО допускается лишь с существенными ограничениями (см. [7]).
  Одним из важных требований к системному бортовому ПО является возможность работы с графической библиотекой OpenGL (как правило, разновидности Safety Critical – OpenGL SC). OpenGL SC является подмножеством стандарта OpenGL для применения в составе критических систем. В настоящее время OpenGL SC представлен версиями 1.0.1 и 2.0.
  Бортовые функциональные приложения используют сервисы OpenGL для отображения как двухмерных изображений (мнемокадры, таблицы и пр.), так и трехмерных – например, при моделировании рельефа местности.

  Говоря про создание ОСРВ для авионики, нельзя не упомянуть про стандарт ARINC 653 [6]. Данный стандарт, определяющий программный интерфейс и режимы работы бортового функционального ПО, на протяжении ряда лет является общепринятым во всем мире. При разработке JetOS заложена реализация ARINC 653 наиболее актуальной версии (2015 года), причем не только основных, но и дополнительных сервисов.
  Создание ОСРВ как полноценного продукта подразумевает также разработку целого спектра инструментов – в первую очередь, интегрированной среды разработки функционального ПО, а также компонентов ОСРВ, необходимых для отладки, мониторинга и трассировки разрабатываемых приложений. 

  Программный продукт может соответствовать требованиям КТ-178C только для определенных аппаратных платформ; при переходе на новую аппаратуру должна проводиться повторная верификация всей портируемой кодовой базы, а весь новый исходный код должен быть разработан в соответствии с процессами КТ-178C. Поэтому в рамках данной НИР была выбрана так называемая основная платформа, для которой будут собираться верификационные данные; ей стал вычислительный модуль МУПД2G на базе процессора P3041 (PowerPC), разработанный компанией НКБ ВС в рамках отечественной программы ИМА, проводившейся под руководством ГосНИИАС. Помимо МУПД2G имеющийся код ОСРВ портирован на платформу на базе P1010 (PowerPC), а также на i.MX6 (на базе архитектуры ARM). 

  Необходимо отметить также, что вышеупомянутый процессор P3041 является четырехъядерным. 

 В настоящее время успешно проведено прототипирование на широком спектре компонентов - как системного, так и прикладного уровня (включая графический менеджер, сетевой стек, файловую систему и библиотеку OpenGL).
  В рамках прототипирования была разработана базовая версия требований высокого уровня и проекта ПО, которая сейчас активно развивается и перерабатывается; параллельно ведутся работы по рефакторингу кодовой базы и созданию инфраструктуры тестирования.
  Опыт применения бортовых ОСРВ в мире показывает, что продукт, соответствующий DO-178C может быть сертифицирован и для применения в других отраслях промышленности, что достигается за счет заложенных в стандарте ограничений и жестких требований [10]. Поэтому вопрос адаптации JetOS для индустриальной техники, космоса, транспорта, медицины также является актуальным и активно прорабатывается; при этом основной задачей НИР остается создание работоспособной высокопроизводительной ОСРВ с сертификационным пакетом, который впоследствии можно будет использовать при создании КБО для гражданских самолетов. 

 
Список литературы

Более подробно по ссылке на труды ИСП РАН.

Авторство: 
Авторская работа / переводика
Комментарий автора: 

Об этом не расскажут в вечерних новостях, но страна делает операционные системы! 

Авторам успехов!

Комментарий редакции раздела Авиапром, российское и мировое авиастроение

Пора создавать раздел "операционные системы России", как мне кажется. 

10 октября 2017 года: Существующие операционные системы для интернета вещей Tizen и SailFish построены на ядре Linux. Гендиректор «Базальт СПО» Алексей Смирнов считает, что российская ОС также будет построена на базе UNIX-систем, а разработка проекта должна осуществляться за счёт частных компаний.

Комментарии

Аватар пользователя sapphir1970
sapphir1970(12 лет 3 месяца)

Странно, почему за основу взят вычислительный модуль МУПД2G на базе процессора P3041 (PowerPC), а не на базе Эльбруса или Байкала? Когда Запад покажет фигу на поставку PowerPC, придется срочно переделывать все под наши процессоры. Или разработчики не в курсе, что Россия уже свои процессоры производит?

Комментарий администрации:  
*** Отключен (систематические манипуляции и набросы) ***
Аватар пользователя fedor67
fedor67(8 лет 3 месяца)

Делается видимо под то, что есть. На Эльбрусе видимо пока нет авионики.

Комментарий администрации:  
*** Отключен (лидер бан-рейтинга, манипуляции) ***
Аватар пользователя 3d_modeller
3d_modeller(11 лет 5 месяцев)

Эльбрус не подходит. Тут больше подойдет что-то типа МультиКлет

Аватар пользователя theTurull
theTurull(10 лет 7 месяцев)

микропроцессоры серии Эльбрус (по крайне мере до версии 8С) просто НЕ предназначены для применения в жЕстких условиях авиации.

Аватар пользователя Голос Латгалии

Я вообще не уверен, что архитектура Эльбруса хорошо подходит для задач реального времени. Ведь тут упор на мощу и производительность, а не быстроту и предсказуемость времени реакции.

 

Аватар пользователя hardknap
hardknap(11 лет 7 месяцев)

Вообще никак не связано и не противоречит.

Аватар пользователя Никто
Никто(7 лет 2 недели)

Под Эльбрус тоже будет. Но не сразу.

Аватар пользователя Vneroznikov
Vneroznikov(12 лет 4 месяца)

PowerPC  -  открытая архитектура. IBM её уже довольно давно открыла. Можно спокойно делать свои процесоры.

Аватар пользователя Override
Override(10 лет 11 месяцев)

А мне сначала прочиталось "бытовая операционная система"

Аватар пользователя Голос Латгалии

Самый интересный вопрос - какой предполагается API для приложений. Надеюсь, хотя бы POSIX? От этого зависит, насколько легко будет портировать под новую ОС существующие приложения и библиотеки. А следовательно, и популярность новой ОС.

 

Аватар пользователя Many
Many(6 лет 9 месяцев)

А следовательно, и популярность новой ОС.

Угу, популярнее некуда. В количестве 100 экземпляров в год. Это же ось реального времени для бортовой электроники, а не домашняя или серверная операционка. Там этих библиотек раз два и обчёлся.

Комментарий администрации:  
*** Ради красного словца, придумал внука-сорванца! ***
Аватар пользователя Голос Латгалии

Это же ось реального времени для бортовой электроники, а не домашняя или серверная операционка. Там этих библиотек раз два и обчёлся.

Не для микроконтроллеров же. Сейчас тенденция объединять устройства в сеть, а сами проекты всё усложняются и усложняются. Грань между серверными и встроенными системами все тоньше.

Та же LynxOS имеет интерфейс POSIX.

Лично я предпочел бы именно POSIX-образный интерфейс для любого более-менее сложного проекта.

 

Аватар пользователя blkpntr
blkpntr(8 лет 5 месяцев)

Про дыры в дизайне POSIX см. UNIX Haters Handbook. Особенно это касается шелла, исправить можно только несовместимым изменением стандарта.

Аватар пользователя hardknap
hardknap(11 лет 7 месяцев)

Ты бы - вряд ли что-то предпочёл. Скоро на небесную ось налетишь с таким уровнем обсуждения темы. Ушибёшься.

Аватар пользователя Никто
Никто(7 лет 2 недели)

ARINC653 гарантированно, это стандарт де-факто в гражданской авиации. И, скорее всего, POSIX.

Аватар пользователя griver
griver(8 лет 2 недели)

Так это линукс или все таки что то самобытное?

Аватар пользователя Голос Латгалии

Самобытное. Но хочется верить, что для программ и пользователя это будет выглядеть похоже на тот же Linux. Проще будет программировать под эту ось.

 

Аватар пользователя theTurull
theTurull(10 лет 7 месяцев)

программировать ты можешь на любом говне, какое тебе только в голову придет.

но вот только потом, защищать это говно по КТ-178 ты заколебешся и бросишь на полпути.

Аватар пользователя Голос Латгалии

защищать это говно по КТ-178 ты заколебешся и бросишь на полпути.

При использовании ARINC653 защищать проще, чем при использовании POSIX?

 

Аватар пользователя Masamune
Masamune(8 лет 4 месяца)

Не линукс.

Аватар пользователя Никто
Никто(7 лет 2 недели)

Это не линукс. Но код от BSD наверняка будет использоваться для реализации POSIX.

Аватар пользователя Evg_Ban
Evg_Ban(11 лет 8 месяцев)

Нет, упоминания Posix нет.

Аватар пользователя Никто
Никто(7 лет 2 недели)

=) А он будет (скорее всего). Если, конечно, ГосНИИАС не пилит там что-то совсем конкретно новое с нуля. Новое по сравнению с тем, что они уже пилили.

Аватар пользователя Evg_Ban
Evg_Ban(11 лет 8 месяцев)

ПДФ-ка

Судя по всему разрабатываются аналогичный но абсолютно независимый от посторонних сырцов код.

Аватар пользователя Gilad Pellaeon
Gilad Pellaeon(8 лет 8 месяцев)

Пора создавать раздел "операционные системы России", как мне кажется. 

Поддерживаю, а то задолбался закладки сохранять с новостями про отечественное железо.

Аватар пользователя sav
sav(7 лет 11 месяцев)

Красавцы! Просто красавцы! 

Аватар пользователя gridd
gridd(7 лет 10 месяцев)

Своё ОСРВ - это круто! Это очень серьёзный шаг, уже хотя бы потому, что для ОСРВ нужны серьёзные компетенции и их не так много. Как раз купил сегодня вечером бутылочку сухого каберне "Южный Берег Крыма". Пусть наши разработчики и дальше разрабатывают - поднимаю за них стакан вина.

 

Аватар пользователя Никто
Никто(7 лет 2 недели)

А вы думаете, Су-57 летает на чужой ОСРВ?

The IMA BK makes use of indigenous Russian multi-core microprocessors and a new indigenous real-time operating system. 

Немножко англовики, на русском отчего-то мало данных. Тут вопрос в сертификации.