Встраиваемые операционные системы – операционные системы (ОС), предназначенные для управления специализированными устройствами и вследствие этого способные работать в условиях ограниченных ресурсов (малые объёмы памяти, недостаток вычислительных мощностей и т.п.) и в необслуживаемом режиме. Характерными особенностями встраиваемых ОС являются модульная структура, компактность, производительность, масштабируемость и повышенная отказоустойчивость.
Операционные системы реального времени (ОСРВ) – операционные системы (ОС), способные обеспечить предсказуемое время обработки непредсказуемо возникающих внешних событий. Разделяют ОС «жёсткого» и «мягкого» реального времени; для первых временные характеристики гарантированы, и выход за их пределы расценивается как отказ, для вторых временные ограничения, как правило, соблюдаются, и выход за их пределы считается снижением производительности. Большинство современных ОСРВ являются встраиваемыми.
Каждой задаче — своя встраиваемая ОС
Выбор встраиваемой ОС для конкретной задачи сильно зависит как от самой задачи, так и от решающей эту задачу команды разработчиков. В зависимости от того, какие требования и ограничения наиболее важны для проекта, окончательное решение по выбору ОС может зависеть от различных факторов.
VxWorks
VxWorks – встраиваемая операционная система «жёсткого» реального времени, применяемая в устройствах с повышенными требованиями к производительности и безопасности. Её мощь, надежность и компактность позволяют разработчикам оперативно создавать функционально богатые приложения с высочайшим уровнем качества и при оптимальных затратах. Для упрощения решения типовых задач также существуют готовые пакеты технологий (платформы) на базе VxWorks, ориентированные на конкретные отраслипромышленности (авиация/космонавтика, сети/телекоммуникации и т.п.).
Архитектура и основные характеристики
• Гибридное ядро, многопоточность POSIX
• «Плоская» модель памяти с настраиваемымидоменами защиты
• «Жёсткое» реальное время: переключение контекста/реакция на прерывание – единицы мкс, вытесняемые прерывания, защита от инверсии приоритетов
• Планировщик: вытесняющий, 256 уровней приоритета, поддержка ARINC 653
• Дисциплины планирования: карусельная
• API: POSIX с расширениями
• Ресурсоёмкость: ОЗУ/ ПЗУ – сотни кбайт, поддерживает выполнение из ПЗУ (XIP)
Поддерживаемые технологии
• Многопроцессорность (SMP/AMP), многоядерные процессоры, виртуализация
• Расширенная поддержка сетей TCP/IP (IPv4/6, коммутация и маршрутизация, фильтрация IP, виртуальные сети, безопасные беспроводные сети)
• Файловые системы: HRFS, FAT (dosFS), Flash-ПЗУ (TrueFFS)
• Интеграция со SCADA-приложениями на базе Windows (OPC-шлюзы) и сетями CAN
• Веб-сервисы (XML, SOAP, WSDL)
• Управление энергопотреблением
• Графика: штатная графическая библиотека, 2D- и 3D-ускорение, библиотеки Qt, графический пакет Tilcon Graphics Suite
• Встраиваемая Java (J2ME)
• Поддержка баз данных: реляционные СУБД и БД реального времени
Инструментарий разработчика
• Инструментарий: штатная интегрированная кросс-среда на базе Eclipse (Windows, Linux, Solaris)
• Поддерживаемые языки: C/C++, Java, UML (IBMRational Rhapsody), Ada (AdaCore), Fortran
• Компилятор GNU C/C++ или Wind River Compiler (Diab)
• Символьный кросс-отладчик с поддержкой внутрисхемной отладки (JTAG), симулятор
• Встроенная система управления версиями
• Cредства верификации и диагностики: анализатор покрытия кода, профайлер, монитор данных, анализатор ОЗУ, системный профайлер
• Визуальный построитель встраиваемых конфигураций
• Средства управления тестовыми сценариями (модульное и интеграционное тестирование)
• Построитель ОС из исходных текстов
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA, ARM, MIPS, PowerPC, ColdFire
• Широкая поддержка оборудования Advantech, MEN Mikro Elektronik, ADLINK, LiPPERT, RTD, ADDI-DATA, Hilscher, Diamond Systems и других производителей
Типовые применения и сертификаты
• Применения: ответственные системы, авиация/космонавтика, промышленные и военные приложения, сети/ телекоммуникации, медицинское приборостроение
• Сертификация: МЭК 15408 («Общие критерии») EAL 4/4+/6+, DO-178B уровень A, МЭК 61508 SIL 3, CENELEC EN 50128, FDA 510(k)
Лицензирование
• Исходный текст: доступен полностью
• Лицензионные отчисления: да
Wind River Linux
Wind River Linux – коммерческий дистрибутив ОС Linux, предназначенный для разработки встраиваемых приложений. Это полнофункциональный и полностью протестированный комплект, позволяющий разработчикам устройств достигать большей результативности с меньшими затратами, исключая из Linux-проектов множество ресурсоёмких рутинных задач. В состав дистрибутива входят более 500 готовых программных пакетов, включая расширения «жёсткого» реального времени и пакеты сетевых протоколов, а также интегрированная среда разработки Wind River Workbench.
Архитектура и основные характеристики
• Монолитное ядро с загружаемыми модулями, защита памяти процессов, многопоточность POSIX
• Расширения «мягкого» и «жёсткого» реального времени, защита от инверсии приоритетов
• Планировщик: вытесняющий, 140 уровней приоритета
• Дисциплины планирования: FIFO, карусельная, адаптивная
• API: POSIX с расширениями
• Ресурсоемкость: ОЗУ/ ПЗУ – единицы-десятки Мбайт, поддерживает выполнение из ПЗУ (XIP)
Поддерживаемые технологии
• Многопроцессорность (SMP/AMP), многоядерные процессоры, виртуализация
• Расширенная поддержка сетей TCP/IP (IPv4/6, коммутация и маршрутизация, фильтрация IP, виртуальные сети, безопасные беспроводные сети)
• Файловые системы: ext2, ext3, FAT, VFAT, Flash-ПЗУ (yaffs, yaffs2, jffs, axfs), сетевые (NFS, SMB), unionfs, logfs, со сжатием (squashfs, cramfs), ОЗУ-резидентная
• Управление энергопотреблением
• Графика: оконные системы X.org и GNOME, 2D- и 3D-ускорение, графический пакет Tilcon Graphics Suite, библиотеки Qt, Adobe Flash Lite
• Мультимедиа: медиакодеки, синтез и распознавание речи, программный каркас GStreamer
• Встраиваемая Java (J2ME)
• Поддержка баз данных: реляционные СУБД и БД реального времени
Инструментарий разработчика
• Инструментарий: штатная интегрированная кросс-среда на базе Eclipse (Windows, Linux, Solaris)
• Поддерживаемые языки: C/C++, Java, UML (IBM Rational Rhapsody), Python, Ruby, Fortran
• Компилятор GNU C/C++
• Символьный кросс-отладчик с поддержкой внутрисхемной отладки (JTAG), симулятор
• Встроенная система управления версиями
• Средства верификации и диагностики: анализатор покрытия кода, профайлер, монитор данных, анализатор ОЗУ, истемный профайлер
• Визуальный построитель встраиваемых конфигураций с набором готовых профилей ядра
• Средства управления тестовыми сценариями (модульное и интеграционное тестирование)
• Построитель ОС из исходных текстов
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA, ARM, MIPS, PowerPC, SPARC
• Широкая поддержка оборудования Fastwel, Advantech, MEN Mikro Elektronik, ADLINK, LiPPERT, RTD, ADDI-DATA, Hilscher, Diamond Systems, Octagon Systems, AAEON и других производителей
Типовые применения и сертификаты
• Применения: сети/ телекоммуникации, мобильные устройства, потребительская электроника, промышленные и военные приложения
• Соответствует спецификации CGL 4.0, пригодна для сертификации по МЭК 15408(«Общие критерии») EAL 4+
Лицензирование
• Исходный текст: доступен полностью
• Лицензионные отчисления: нет
QNX
QNX – встраиваемая ОС «жёсткого» реального времени для ответственных применений. Благодаря архитектуре на основе микроядра и встроенным механизмам отказоустойчивости QNX обеспечивает прочный фундамент для высоконадёжных систем, требующих безотказной работы в непрерывном режиме. Поддержка стандартов POSIX обеспечивает QNX гибкую расширяемость; в сочетании с надёжной архитектурой это позволяет оперативно создавать на базе QNX системы широчайшей функциональности, обеспечивая при этом высокую безопасность и качество обслуживания.
Архитектура и основные характеристики
• Микроядро, защита памяти процессов, многопоточность POSIX
• «Жёсткое» реальное время: переключение контекста/реакция на прерывание – единицы мкс, вытесняемые прерывания, защита от инверсии приоритетов
• Планировщик: вытесняющий, 64 уровня приоритета, адаптивное квотирование
• Дисциплины планирования: FIFO, карусельная,спорадическая• API: POSIX с расширениями
• Ресурсоёмкость: ОЗУ/ ПЗУ – единицы Мбайт, поддерживает выполнение из ПЗУ (XIP)
• Встроенная отказоустойчивость, динамическое восстановление компонентов (Кг≥0,99999)
Поддерживаемые технологии
• Многопроцессорность (SMP/AMP/BMP), многоядерные процессоры, распределённые вычисления, виртуализация
• Расширенная поддержка сетей TCP/IP (IPv4/6, SNMP, коммутация и маршрутизация, фильтрация IP, виртуальные сети, безопасные беспроводные сети)
• Файловые системы: QNX, Ext2, FAT, ISO9660, NFS, CIFS, ETFS, Flash-ПЗУ, ОЗУ-резидентная
• Встраиваемая графическая оболочка с поддержкой 2D- и 3D-ускорения и многослойного отображения, библиотеки Qt, Adobe Flash Lite
• Интеграция со SCADA-приложениями на базе Windows (OPC-шлюзы)
• Мультимедиа: медиакодеки, потоковое аудио/видео, синтез и распознавание речи
• Управление энергопотреблением
• Встраиваемая Java (J2ME)
• Поддержка баз данных: реляционные СУБДи БД реального времени
Инструментарий разработчика
• Инструментарий: штатная интегрированная кросс-среда на базе Eclipse (Windows)
• Поддерживаемые языки: C/C++, Java (IBM WebSphere Studio Device Developer), UML (IBM Rational Rhapsody), Python, Ruby, Fortran
• Компилятор GNU C/C++ или Intel C++ Compiler, библиотеки GNU и Dinkum, встраиваемый C++
• Символьный кросс-отладчик
• Встроенная система управления версиями
• Средства верификации и диагностики: анализатор покрытия кода, профайлер, монитор целевых систем, анализатор ОЗУ, системный профайлер
• Визуальный построитель встраиваемых конфигураций
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA, ARM, MIPS, PowerPC
• Широкая поддержка оборудования Fastwel, RTD, Lippert, MEN Mikro Elektronik, Advantech, Octagon Systems и других производителей
• Предустановка QNX на совместимое оборудование
Типовые применения и сертификаты
• Применения: ответственные системы, промышленные и военные приложения, транспорт, сети/ телекоммуникации,
• Сертификация: МЭК 15408 («Общие критерии»)EAL 4+, МЭК 61508 SIL 3
Лицензирование
• Исходный текст: доступен полностью
• Лицензионные отчисления: да
RTOS-32
RTOS-32 – операционная система «жёсткого» реального времени для специализированных встраиваемых устройств на базе архитектуры x86/IA. Ядро RTOS-32 реализует подмножество Win32 API с расширениями реального времени, что позволяет переносить в неё прикладной код, разработанный для Windows, и одновременно обеспечивать предсказуемость выполнения и высокую скорость реакции. В сочетании с высокой компактностью это делает RTOS-32 идеальным выбором для «глубоко встраиваемых» систем реального времени – например, промышленных контроллеров и спецвычислителей.
Архитектура и основные характеристики
• Монолитное ядро, многопоточность Win32
• «Плоская» модель памяти с поддержкой защитыстраниц
• «Жёсткое» реальное время: переключение контекста/реакция на прерывание – от сотен нс, вытесняемые прерывания, защита от инверсии приоритетов
• Планировщик: кооперативный или вытесняющий, 64 уровня приоритета
• Дисциплины планирования: карусельная, балансировка нагрузки по типу HPRN
• API: подмножество Win32 с расширениями
• Ресурсоёмкость: ОЗУ/ ПЗУ – десятки кбайт, поддерживает выполнение из ПЗУ (XIP)
Поддерживаемые технологии
• Многопроцессорность (SMP), многоядерные процессоры, виртуализация
• Поддержка сетей TCP/IP (IPv4)
• Файловые системы: FAT, exFAT, ISO 9660
• Графика: штатная графическая библиотека
Инструментарий разработчика
• Инструментарий: Microsoft Visual Studio, Microsof tVisual C++, Borland C/C++, Borland C++ Builder, Borland Delphi) и Ada (Aonix ObjectAda) в среде Windows
• Поддерживаемые языки: C/C++ (с поддержкой компилятора Intel C++ Compiler)
• Средства управления тестовыми сценариями (модульное и интеграционное тестирование)
• Инструментарий верификации и диагностики: статический анализ, анализ покрытия кода, профилирование
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA
• Широкая поддержка оборудования Fastwel, Advantech, MEN Mikro Elektronik, ADLINK, LiPPERT, RTD, Diamond Systems и других производителей
Типовые применения
• Промышленные контроллеры, робототехника, транспорт, станки с ЧПУ
Лицензирование
• Исходный текст: доступен полностью
• Лицензионные отчисления: нет
Windows Embedded Standard
Windows Embedded Standard – встраиваемая ОС общего назначения, совместимая с настольной ОС Windows. Она обеспечивает богатую функциональность, знакомый интерфейс и надёжность Windows в компонентизированной форме, удобной для разработчиков современных коммерческих и потребительских устройств. Благодаря бинарной совместимости приложения Windows могут выполняться в среде Windows Embedded Standard без изменений, а возможность выбора только необходимых компонентов ОС позволяет уменьшить объёмы потребляемых ресурсов и снизить затраты наоборудование.
Архитектура и основные характеристики
• Гибридное ядро, многопоточность Win32, защита памяти процессов
• Планировщик: вытесняющий, 32 уровня приоритета
• Дисциплины планирования: карусельная, адаптивная; балансировка нагрузки по типу HPRN
• API: native NT, Win32, подмножество POSIX с расширениями
• Ресурсоёмкость: ОЗУ/ ПЗУ – сотни Мбайт
Поддерживаемые технологии
• Многопроцессорность (SMP), многоядерные процессоры, виртуализация
• Поддержка сетей TCP/IP (IPv4/6, SNMP, коммутация и маршрутизация, виртуальные сети, безопасные беспроводные сети) и IPX/SPX
• Файловые системы: FAT, NTFS, ISO 9660, UDF, SMB/CIFS, шифрованная (EFS)
• Веб-сервисы (XML, SOAP, COM/ATL, WSDL)
• Широкая поддержка беспроводных сетей (WPAN, WLAN, WWAN)
• Графика: штатная графическая оболочка, поддержка многослойности и 2D- и 3D-ускорения, Adobe Flash, Microsoft Silverlight
• Мультимедиа: потоковое аудио/видео, медиакодеки, встроенная поддержка VoIP
• Java (J2SE, J2EE, J2ME)
• Поддержка баз данных: реляционные СУБД и БД реального времени
• Управление энергопотреблением
• Удалённое обновление
• Защита носителей от записи (EWF, FBWF)
• «Спящий» режим (HORM)
Инструментарий разработчика
• Инструментарий: Microsoft Visual Studio/ Visual Studio Express в среде Windows
• Поддерживаемые языки: C/C++, C#, Visual Basic .NET, F#, Ruby, Java
• Средства управления тестовыми сценариями (модульное и интеграционное тестирование)
• Диагностический инструментарий: профайлер, анализатор динамической памяти, монитор производительности
• Инструментарий верификации: статический анализ, анализ покрытия кода, средства нагрузочного тестирования
• Визуальный построитель встраиваемых конфигураций
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA
• Широкая поддержка оборудования Advantech, MEN Mikro Elektronik, ADLINK, LiPPERT, RTD, MiTAC, AAEON, ADDI-DATA, Hilscher, Diamond Systems, iBASE, Octagon Systems, Performance Technologies и других производителей
• Предустановка Windows Embedded Standard на совместимое оборудование
Типовые применения
• Операторские терминалы, точки обслуживания, информационные киоски, торговые автоматы
Лицензирование
• Исходный текст: недоступен
• Лицензионные отчисления: да
Windows Embedded Compact (CE)
Windows Embedded Compact – встраиваемая операционная система для мобильных связанных устройств с богатым пользовательским интерфейсом. Поддержка «жёсткого» реального времени также обеспечивает эффективную реализацию на базе Windows Embedded Compact устройств сбора данных и управления. Благодаря широкой поддержке самых современных технологий Microsoft устройства на базе Windows Embedded Compact легко интегрируются в существующую инфраструктуру на базе Windows, позволяя строить функционально богатые распределённые системы автоматизации.
Архитектура и основные характеристики
• Гибридное ядро, многопоточность Win32, защита памяти процессов
• «Жёсткое» реальное время: переключение контекста/реакция на прерывание – десятки мкс, вытесняемые прерывания, защита от инверсии приоритетов
• Планировщик: вытесняющий, 256 уровней приоритета
• Дисциплины планирования: карусельная
• API: подмножество Win32 с расширениями
• Ресурсоёмкость: ОЗУ/ ПЗУ – десятки Мбайт, поддерживает выполнение из ПЗУ (XIP)
Поддерживаемые технологии
• Поддержка сетей TCP/IP (IPv4/6, SNMP, базовая коммутация и маршрутизация, виртуальные сети, безопасные беспроводные сети)
• Файловые системы: FAT, exFAT, UDF, SMB/CIFS, ОЗУ-резидентная, Flash-ПЗУ (BinFS)
• Веб-сервисы (XML, SOAP, COM/ATL, WSDL)
• Тесная интеграция с Windows-инфраструктурой (ActiveSync, RDP, LDAP, клиент Exchange и т.д.)
• Широкая поддержка беспроводных сетей (WPAN, WLAN, WWAN) и сотовых сетей
• Управление энергопотреблением
• Графика: штатная графическая оболочка (GWES), поддержка многослойности и 2D- и 3D-ускорения, Adobe Flash Lite, Microsoft Silverlight
• Мультимедиа: потоковое аудио/видео, медиакодеки, встроенная поддержка VoIP
• Встраиваемая Java (J2ME)
• Поддержка баз данных: реляционные СУБДи БД реального времени
Инструментарий разработчика
• Инструментарий: Microsoft Visual Studio, Embedded Visual C++ в среде Windows
• Поддерживаемые языки: C/C++, C#, Visual Basic . NET, Java
• Символьный кросс-отладчик, эмулятор устройств на базе ARM
• Визуальный построитель встраиваемых конфигураций (Platform Builder)
• Средства управления тестовыми сценариями (модульное и интеграционное тестирование)
• Диагностический инструментарий: монитор событий ядра, профайлер ядра, анализатор динамической памяти, монитор производительности
• Инструментарий верификации (CETK): детектор утечек памяти, монитор загрузки процессора, средства нагрузочного тестирования
Поддерживаемое оборудование
• Поддерживаемые процессоры: х86/IA, ARM, MIPS,SH-4
• Широкая поддержка оборудования Advantech, MEN Mikro Elektronik, ADLINK, LiPPERT, RTD, Hilscher, Diamond Systems, AAEON, Octagon Systems и других производителей
• Предустановка Windows Embedded Compact на совместимое оборудование
Типовые применения
• Связанные мобильные устройства, потребительская электроника, операторские терминалы, промышленные контроллеры, медицинские приборы, мультимедийные устройства
Лицензирование
• Исходный текст: доступен частично
• Лицензионные отчисления: да
Характеристики