Аспекты изоляции приложений в ARINC 653 (Валерий Земкин, OSDAY-2025)
Материал из 0x1.tv
- Докладчик
- Валерий Земкин
Рассмотрим реализацию изоляции приложений в ОСРВ JetOS для бортовых систем гражданской авиации (МС-21, SJ-100) на основе стандарта ARINC 653. Ключевая задача — обеспечение надежного пространственного и временного разделения ресурсов между независимыми приложениями ("partitions") в соответствии с требованиями авиационных стандартов DO-248C и CAST-32A.
Стандарт определяет интерфейс APEX, гарантирующий:
- Пространственную изоляцию — защиту памяти, ввода-вывода и ресурсов между partitions, контроль потребления квот, сдерживание аппаратных сбоев;
- Временную изоляцию — строгое лимитирование времени ЦПУ на одноядерных системах и минимизацию интерференции на многоядерных. Единицей планирования является partition, внутри которой могут выполняться процессы/потоки. Сервисы включают управление разделами, межраздельными коммуникациями (interpartition communication), планированием и обработкой ошибок.
Хотя ARINC 653 создан для авионики (integrated modular avionics, IMA), его механизмы изоляции применимы в любых системах, требующих совместного выполнения разноуровневых приложений с гарантированным распределением ресурсов. Это подтверждается адаптацией стандарта в проекте JetOS, где он служит основой для создания безопасной и предсказуемой среды исполнения.
Содержание
Видео
Thesis
В рамках проекта ГосНИИАС при участии ИСП РАН им. В.П. Иванникова и ИПМ им. М.В. Келдыша РАН ведется работа по созданию операционной системы реального времени JetOS для применения в бортовых системах гражданской авиации (системы индикации воздушных судов МС-21 и SJ-100). Основным программным интерфейсом JetOS является интерфейс ARINC 653 [1].
Основные принципы
Цель ARINC 653 — определение универсального интерфейса APEX (Application/EXEcutive) между ОС и прикладным ПО в рамках интегрированной модульной авионики (integrated modular avionics, IMA). Интерфейс обеспечивает:
- Логическую среду для совместного выполнения независимо созданных приложений
- Разделение приложений (partitions) для сдерживания ошибок
- Инкапсуляцию данных, контекста выполнения и атрибутов конфигурации в пределах partition
Ключевая задача — реализация концепции изоляции согласно DO-248C [2] и CAST-32A [3], включающей:
Надежное разделение ресурсов:
- Защита областей хранения кода, данных и ввода-вывода между partitions
- Контроль потребления выделенных ресурсов
- Изоляция аппаратных сбоев в пределах partition
Надежное разделение времени:
- На одноядерных CPU: соблюдение лимитов времени выполнения
- На многоядерных CPU: минимизация временной интерференции между partitions
Сервисы и механизмы
Интерфейс APEX обеспечивает временное и пространственное разделение ресурсов, где единицей планирования является partition. Спецификация предоставляет сервисы:
- Управление: partition management, time management, process management
- Взаимодействие: interpartition communication, intrapartition communication
- Планирование: partition scheduling, process scheduling
- Мониторинг состояния и обработка ошибок (уровни: process, partition, модуль)
Применимость
Хотя ARINC 653 разработан для авионики, он подходит для любых систем, требующих:
- API-сервисы изоляции
- Совместное выполнение приложений с разными уровнями безопасности
- Гарантированное распределение ресурсов на целевом оборудовании
Презентация
Примечания и ссылки
- ↑ ARINC Specification 653P0-3. Avionics Application Software Standard Interface Part 0. Overview of ARINC 653. — AEEC : SAE-ITC, 2021. — 51 стр.
- ↑ DO-248C. Supporting Information for DO-178C and DO-278A.— RTCA : SC-205, 2011. — 166 стр.
- ↑ CAST-32A. Multi-core Processors. — The Federal Aviation Administration : Certification Authorities Software Team, 2016. — 23 стр.
