Введение

Операционная система в реальном времени Nucleus RTOS — это операционная система в реальном времени (RTOS), разработанная подразделением Embedded Software компании Mentor Graphics, входящей в Siemens, и поддерживающая 32- и 64-битные платформы встраиваемых систем. Операционная система (ОС) предназначена для встраиваемых систем реального времени, используемых в медицине, промышленности, бытовой электронике, аэрокосмической отрасли и в сфере Интернета вещей (IoT). Nucleus была впервые выпущена в 1993 году. Последняя версия – 3.x, и включает в себя такие функции, как управление питанием, модель процессов, поддержку 64 бит, сертификацию безопасности и поддержку гетерогенных многоядерных вычислительных систем на кристалле (SoC). Модель процессов Nucleus обеспечивает пространственное разделение для изоляции задач и модулей на SoC с блоком управления памятью (MMU) или блоком защиты памяти (MPU), например, на основе ядер ARMv7/8 Cortex A/R/M.

Поддерживаемые платформы

Nucleus поддерживает множество встраиваемых процессоров, включая ведущие устройства ARMv7 Cortex A, R и M. Недавние выпуски поддерживают 64-битные устройства ARMv8. Полный список поддерживаемых устройств доступен на официальном сайте. Он включает в себя 32-битные микроконтроллеры (MCU) и микропроцессоры (MPU), конфигурируемые устройства, а также 32-битные и 64-битные многоядерные процессоры.

Файловая система

В отличие от операционных систем Windows и Unix, Nucleus не требует файловой системы для работы. Однако, для более сложных задач, требующих локального хранения данных, Nucleus поддерживает несколько файловых систем, включая FAT, SAFE (устойчивую к сбоям) и LWEXT.

Безопасность

Nucleus поддерживает широкий спектр опций шифрования для обеспечения безопасной связи и защиты данных как в состоянии покоя, так и при передаче. Nucleus поставляется с OpenSSL и компактным пакетом wolfSSL (ранее CyaSSL), значительно меньшим по размеру, чем OpenSSL, для устройств, которым требуется шифрование, но ограничены ресурсы памяти. Протоколы безопасности для защиты данных при передаче включают IPsec/IKE, SSH/SSL/TLS/DTLS. Поддерживаемые алгоритмы шифрования: DES, 3DES, AES, SHA 256. Алгоритмы криптографии с открытым ключом включают RSA. Также поддерживаются стандарты X.509, RADIUS и 802.1X.

Графика пользовательского интерфейса

Nucleus 3.x поддерживает OpenGL и ведущие библиотеки пользовательского интерфейса сторонних разработчиков. Nucleus поддерживает UI-фреймворк Qt, оптимизированный по размеру кода и интегрированный в CodeBench для отладки и трассировки. Также поддерживаются Embedded Wizard и Socionext CGI Studio.

Интернет вещей

Недавние выпуски Nucleus включают поддержку HTTPS, протокола CoAP для ограниченных сред, MQTT и 6LoWPAN. Nucleus также объявила о поддержке облачной платформы Microsoft Azure.

Промышленный

Nucleus интегрирована со сторонними промышленными стеками от ведущих компаний отрасли. Поддержка промышленных стеков включает в себя хост и клиент OPC Unified Architecture (OPC UA), а также EtherNet/IP от Softing и EtherCAT от KoenigPa.

Многоядерные

Nucleus поддерживает режимы асимметричной мультипроцессировки (AMP) и симметричной мультипроцессировки (SMP) для передовых 32- и 64-битных гетерогенных многоядерных SoC. Nucleus также может функционировать как GOS с использованием гипервизора Mentor Embedded Hypervisor. В режиме AMP операционная система реального времени Nucleus RTOS может сосуществовать с другими экземплярами Nucleus, Linux и/или программами, работающими непосредственно на аппаратном обеспечении (bare metal), распределенными по другим процессорам. В этом режиме каждый процессор работает независимо и функционирует как отдельная система в составе SoC. Многоядерная платформа Mentor Embedded Multicore Framework обеспечивает межпроцессное взаимодействие между операционными системами на различных ядрах, а также управление жизненным циклом процессоров. Работа в режиме SMP подразумевает, что один экземпляр Nucleus RTOS управляет несколькими ядрами одновременно. Nucleus может распределять свои операции по всем ядрам многоядерного устройства или по любому их подмножеству. Для этого Nucleus предоставляет API для поддержки привязанных областей вычислений, а также управление задачами и аффинностью прерываний для назначения ядер.

Сертификация безопасности

Nucleus SafetyCert сертифицирован на соответствие самым высоким уровням безопасности по стандартам DO 178C, IEC 61508, IEC 62304 и ISO 26262.