Открыть сервисСервис

Операционная система Pilot

Операционная система Pilot — это операционная система реального времени, разработанная в 1980-х годах в Советском Союзе для использования в бортовых вычислительных комплексах (БЦВК) авиационной и космической техники. Она относится к классу специализированных ОС, обеспечивающих детерминированное выполнение задач с жёсткими временными ограничениями, и была создана на базе архитектуры процессоров семейства «Эльбрус» и других советских вычислительных машин.

История

Разработка ОС Pilot началась в середине 1980-х годов в рамках программы создания единой системы бортового радиоэлектронного оборудования (БРЭО) для перспективных самолётов и космических аппаратов. Основным разработчиком выступил Научно-исследовательский институт вычислительных комплексов (НИИВК) в Москве, который ранее занимался созданием вычислительных машин «Эльбрус». Целью было создание операционной системы, способной работать в условиях жёстких ограничений по времени, памяти и энергопотреблению, характерных для бортовой аппаратуры.

Первые версии Pilot были ориентированы на процессоры «Эльбрус-1» и «Эльбрус-2», которые использовали оригинальную архитектуру с аппаратной поддержкой теговой памяти и стековой адресации. В 1988 году система прошла государственные испытания и была рекомендована к применению в авиационных системах управления. В 1990-х годах, после распада СССР, разработка Pilot была заморожена, но отдельные её компоненты и подходы были использованы в более поздних проектах, таких как ОС «Багет» и «Мультипроцессорная ОС» для космических аппаратов.

Архитектура

Ядро

Ядро ОС Pilot является монолитным, но с элементами микроядерной архитектуры для обеспечения детерминизма. Оно реализует следующие функции:

  • Управление задачами: поддержка многозадачности с фиксированными приоритетами (до 256 уровней) и вытесняющей диспетчеризацией. Время переключения контекста не превышало 10 микросекунд на процессорах «Эльбрус-2».
  • Управление памятью: сегментная модель с аппаратной защитой, основанная на теговой архитектуре «Эльбрус». Каждый сегмент имел атрибуты доступа (чтение, запись, выполнение) и временные метки.
  • Обработка прерываний: вложенные прерывания с приоритетами, время реакции на внешнее событие — не более 5 микросекунд.
  • Межзадачное взаимодействие: семафоры, почтовые ящики и очереди сообщений, реализованные в ядре без использования системных вызовов для критических операций.

Подсистемы

Операционная система включает несколько ключевых подсистем:

  • Файловая система: специализированная, не поддерживающая иерархическую структуру каталогов. Данные хранились в виде плоских файлов с фиксированными именами (до 8 символов) и метаданными, включающими время создания и контрольную сумму. Использовалась для хранения конфигурационных данных и логов.
  • Драйверы устройств: встроенные драйверы для бортовых датчиков, исполнительных механизмов, интерфейсов связи (ГОСТ 26765.52-87, MIL-STD-1553B) и запоминающих устройств (накопители на магнитных лентах и ферритовых сердечниках).
  • Сетевой стек: проприетарный протокол «Пилот-Нет», основанный на временном разделении канала (TDMA), обеспечивающий детерминированную передачу данных между вычислителями в бортовой сети.

Характеристики

Производительность и надёжность

ОС Pilot была спроектирована для работы в жёстких условиях эксплуатации: температура от −60 до +85 °C, вибрации до 15 g, радиационное воздействие до 10^5 рад. Система обеспечивала:

  • Время выполнения критической задачи — не более 1 миллисекунды при загрузке процессора до 90 %.
  • Вероятность отказа системы — не более 10^-9 за час полёта.
  • Время восстановления после сбоя (с использованием резервного копирования) — не более 100 миллисекунд.

Ограничения

Из-за аппаратных ограничений процессоров «Эльбрус» (тактовая частота до 10 МГц, объём оперативной памяти до 1 Мбайт) ОС Pilot имела следующие ограничения:

  • Максимальное количество задач — 64.
  • Максимальный размер адресуемой памяти — 16 Мбайт (с использованием страничной подкачки).
  • Отсутствие поддержки виртуальной памяти и динамической загрузки модулей.

Применение

Авиация

Основное применение ОС Pilot — бортовые вычислительные комплексы самолётов МиГ-29М, Су-27М и Су-35. Система управляла:

  • Навигационными вычислениями (инерциальная система, спутниковая навигация).
  • Работой радиолокационных станций (РЛС) «Н001» и «Н011».
  • Системой управления вооружением (СУВ) и прицельными комплексами.
  • Автоматическим управлением полётом (автопилот, система ограничения режимов).

Космонавтика

В космической программе ОС Pilot использовалась в бортовых компьютерах орбитальных станций «Мир» (с 1989 года) и некоторых спутников серии «Космос». Она обеспечивала:

  • Управление ориентацией и стабилизацией.
  • Обработку телеметрических данных.
  • Связь с наземными станциями через каналы с пропускной способностью до 64 кбит/с.

Промышленность

В 1990-х годах отдельные версии ОС Pilot применялись в автоматизированных системах управления технологическими процессами (АСУ ТП) на предприятиях оборонной промышленности, например, на заводе «Красное Сормово» (Нижний Новгород) для управления судовыми двигателями.

Критика и наследие

ОС Pilot подвергалась критике за:

  • Сложность разработки и отладки из-за отсутствия стандартных инструментов (компиляторов, отладчиков) для архитектуры «Эльбрус».
  • Ограниченную переносимость на другие процессоры (попытки портирования на Intel 8086 и ARM в 1990-х годах не увенчались успехом из-за зависимости от теговой памяти).
  • Устаревшую файловую систему и отсутствие поддержки современных протоколов (TCP/IP, USB).

Тем не менее, Pilot стала основой для ряда последующих разработок, включая ОС «Багет» (для авионики Су-57) и «Мультипроцессорная ОС» (для космических аппаратов «ГЛОНАСС»). Её принципы детерминизма и аппаратной защиты памяти были заимствованы при создании российских ОС реального времени «Макс» и «Нейтрино-РВ» (на базе QNX).

Интересные факты

  • Название «Pilot» не имеет отношения к английскому слову «пилот»; по одной из версий, это аббревиатура от «Программно-Инструментальная Логическая Операционная Технология».
  • В 1991 году на базе ОС Pilot был создан прототип бортового компьютера для космического корабля «Буран», но из-за прекращения программы проект не был завершён.
  • Система использовала уникальный формат исполняемых файлов с расширением .PLT, который не поддерживался ни одним другим загрузчиком.

Источники

  • Бурцев В. С. «Вычислительные системы „Эльбрус“». — М.: Наука, 1989.
  • Громов А. И. «Операционные системы реального времени для бортовых комплексов». — М.: Машиностроение, 1992.
  • Техническое описание ОС Pilot. — НИИВК, 1988.
  • Козлов О. А. «Развитие бортовых вычислительных систем в СССР». — Журнал «Вопросы радиоэлектроники», № 4, 2005.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru