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

VxWorks

VxWorks — это операционная система реального времени (ОСРВ), разработанная американской компанией Wind River Systems (дочернее предприятие Intel, затем — Aptiv). Она предназначена для встраиваемых систем, где критически важна детерминированность, предсказуемость и минимальное время отклика на внешние события. VxWorks используется в аэрокосмической, оборонной, промышленной, автомобильной и телекоммуникационной отраслях, а также в робототехнике и медицинском оборудовании.

История

Разработка VxWorks началась в начале 1980-х годов в компании Wind River Systems, основанной Джерри Фидлером и Дэвидом Уилнером. Первая коммерческая версия (VxWorks 1.0) была выпущена в 1987 году. Система быстро завоевала популярность благодаря своей эффективности и поддержке широкого спектра процессорных архитектур.

Ключевые вехи развития:

  • 1990-е годы: VxWorks становится стандартом де-факто для многих космических программ, в том числе для марсоходов NASA (Sojourner, Spirit, Opportunity, Curiosity, Perseverance) и аппаратов Deep Space 1, Stardust, Mars Reconnaissance Orbiter. Система была выбрана из-за своей надёжности и способности работать в условиях жёстких ограничений по энергопотреблению и радиации.
  • 2000-е годы: Выпуск VxWorks 6.x с поддержкой многопроцессорности (SMP) и улучшенной файловой системой. Система начинает активно применяться в автомобильной промышленности (системы управления двигателем, тормозные системы, информационно-развлекательные комплексы) и в телекоммуникационном оборудовании (базовые станции, маршрутизаторы).
  • 2010-е годы: Wind River Systems приобретена компанией Intel (2009 год), а затем продана Aptiv (2018 год). Выход VxWorks 7 — модульной версии с поддержкой безопасности по стандарту IEC 61508 (SIL 3) и DO-178C (Level A), а также с поддержкой виртуализации (Type 1 гипервизор).
  • 2020-е годы: Развитие VxWorks в направлении поддержки «Интернета вещей» (IoT), облачных технологий и интеграции с платформами Wind River Helix (облачная платформа для управления устройствами).

Архитектура

VxWorks представляет собой микроядерную ОСРВ с плоской моделью памяти (единое адресное пространство для ядра и приложений, хотя в VxWorks 7 появилась поддержка защиты памяти на основе MMU). Основные компоненты архитектуры:

  • Ядро (Wind Kernel): Обеспечивает базовые функции планирования потоков, синхронизации (семафоры, мьютексы, очереди сообщений), управления прерываниями и таймерами. Ядро работает в режиме реального времени с вытесняющей многозадачностью.
  • Планировщик: Поддерживает приоритетное вытесняющее планирование (до 256 уровней приоритетов) и планирование с разделением времени (Round Robin). Гарантирует, что задача с наивысшим приоритетом, готовая к выполнению, получит процессорное время в течение заданного времени (детерминизм).
  • Драйверы устройств: Реализованы как модули, загружаемые в ядро. VxWorks включает драйверы для большинства распространённых периферийных устройств (UART, SPI, I2C, Ethernet, USB, CAN, PCIe).
  • Файловая система: Поддерживаются несколько типов файловых систем: псевдо-ФС (для устройств), FAT, NFS, TrueFFS (для флэш-памяти), а также собственные форматы (dosFs, rawFs).
  • Сетевой стек: Полноценная реализация стека протоколов TCP/IP (IPv4/IPv6), включая поддержку UDP, TCP, ICMP, ARP, DHCP, DNS, SNMP, FTP, HTTP/HTTPS (через сторонние библиотеки).
  • Безопасность: В VxWorks 7 реализована поддержка защищённого исполнения (Secure Partition) на основе ARM TrustZone или Intel SGX, а также механизмы аутентификации и шифрования (TLS/SSL, IPsec).

Классификация версий

VxWorks выпускается в нескольких редакциях, ориентированных на разные области применения:

  • VxWorks 7 Standard: Базовая версия для встраиваемых систем общего назначения. Включает ядро, сетевой стек, поддержку файловых систем и основные драйверы.
  • VxWorks 7 Safety: Версия, сертифицированная по стандартам функциональной безопасности (IEC 61508, ISO 26262, DO-178C). Используется в авионике, медицинских приборах, промышленных контроллерах.
  • VxWorks 7 Security: Версия с усиленными средствами защиты от киберугроз. Включает поддержку изолированных сред выполнения (Secure Partition), шифрование памяти, защиту от атак на основе переполнения буфера.
  • VxWorks 7 for Automotive: Версия, оптимизированная для автомобильных систем (ADAS, информационно-развлекательные комплексы, телематика). Поддерживает стандарты AUTOSAR и Adaptive AUTOSAR.
  • VxWorks 7 for Industrial: Версия для промышленной автоматизации (ПЛК, контроллеры движения, робототехника). Поддерживает протоколы EtherCAT, PROFINET, CANopen.

Применение

VxWorks используется в системах, где отказ или задержка могут привести к катастрофическим последствиям. Основные области применения:

Аэрокосмическая и оборонная промышленность

  • Космические аппараты: Марсоходы NASA (Perseverance, Curiosity), спутники связи, космические телескопы (James Webb Space Telescope — частично), системы управления полётом ракет-носителей (Falcon 9, Falcon Heavy — система управления полётом).
  • Беспилотные летательные аппараты (БПЛА): Бортовые компьютеры, системы навигации и управления.
  • Авионика: Системы управления полётом, автопилоты, системы отображения информации (EFIS) в самолётах Boeing и Airbus.
  • Ракетное вооружение: Системы наведения и управления зенитных ракетных комплексов (например, Patriot — США, С-400 — Россия, используются альтернативные ОС, но VxWorks применяется в системах управления некоторых типов ракет).

Промышленная автоматизация

  • ПЛК и контроллеры движения: VxWorks используется в контроллерах Siemens, Beckhoff, Bosch Rexroth, Schneider Electric.
  • Робототехника: Системы управления промышленными роботами (KUKA, ABB, FANUC — частично).
  • Станки с ЧПУ: Системы управления станками (Heidenhain, Siemens 840D).

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

  • Системы управления двигателем (ECU): VxWorks используется в некоторых блоках управления двигателем и трансмиссией (Bosch, Continental).
  • Системы помощи водителю (ADAS): Обработка данных с камер, радаров, лидаров (Mobileye, Nvidia Drive — частично).
  • Информационно-развлекательные системы (IVI): VxWorks применяется в некоторых автомобилях (Volkswagen, Audi, Porsche — частично).

Телекоммуникации

  • Базовые станции: VxWorks используется в оборудовании Ericsson, Nokia, Huawei (системы управления, обработки сигналов).
  • Маршрутизаторы и коммутаторы: Cisco, Juniper Networks (частично, в некоторых линейках).

Медицинское оборудование

  • Аппараты ИВЛ: VxWorks применяется в некоторых моделях (Drager, Hamilton Medical).
  • Инфузионные насосы: Системы управления дозированием.
  • Диагностические приборы: Компьютерные томографы, МРТ (GE Healthcare, Siemens Healthineers — частично).

Критика и ограничения

Несмотря на широкое распространение, VxWorks имеет ряд недостатков:

  • Закрытый исходный код: VxWorks является проприетарной ОС с закрытым кодом. Это ограничивает возможности аудита безопасности и модификации системы под специфические нужды. Отсутствие доступа к исходному коду делает систему уязвимой для скрытых «закладок» (backdoors), особенно в контексте оборонных и космических применений.
  • Высокая стоимость лицензирования: Лицензии на VxWorks 7 Safety и Security стоят значительно дороже, чем на альтернативные ОСРВ с открытым кодом (FreeRTOS, Zephyr). Для небольших проектов это может быть критично.
  • Сложность разработки: Инструментарий Wind River Workbench (среда разработки) требует обучения, а процесс настройки и отладки может быть трудоёмким. Документация, хотя и обширна, часто считается сложной для восприятия.
  • Уязвимости безопасности: В истории VxWorks были обнаружены серьёзные уязвимости. Например, в 2019 году исследователи из Armis Labs выявили 11 критических уязвимостей (URGENT/11) в стеке TCP/IP VxWorks 6.9 и более ранних версий, которые позволяли удалённо выполнять код или вызывать отказ в обслуживании (DoS). Wind River Systems выпустила патчи, но многие устройства остаются незащищёнными.
  • Зависимость от одного поставщика: Использование VxWorks создаёт зависимость от Wind River Systems (Aptiv). В случае прекращения поддержки или изменения лицензионной политики, заказчики могут столкнуться с серьёзными проблемами.

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

  • VxWorks — одна из немногих ОС, которая работала на Марсе (марсоходы NASA). Для этого она была адаптирована под процессоры RAD6000 и RAD750, устойчивые к радиации.
  • Система используется на Международной космической станции (МКС) для управления некоторыми экспериментами и системами жизнеобеспечения.
  • VxWorks 7 поддерживает работу на процессорах с архитектурой RISC-V, что делает её привлекательной для новых проектов в области IoT и встраиваемых систем.
  • В 2020 году Wind River Systems выпустила версию VxWorks 7 для процессоров Intel x86-64, что позволило использовать её в серверных и облачных приложениях с требованиями реального времени.

Источники

  • Wind River Systems. VxWorks 7 Product Overview. — Wind River, 2021.
  • Armis Labs. URGENT/11: Critical Vulnerabilities in VxWorks. — Armis, 2019.
  • NASA. Mars Exploration Rover Mission: Software. — NASA JPL, 2003.
  • IEC 61508: Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems. — IEC, 2010.
  • DO-178C: Software Considerations in Airborne Systems and Equipment Certification. — RTCA, 2011.
  • ISO 26262: Road vehicles — Functional safety. — ISO, 2018.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →