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 →