Microsoft анонсировал открытие кода Azure RTOS и передачу проекта сообществу Eclipse

Компания Microsoft объявила об открытии под пермиссивной лицензией MIT исходных текстов операционной системы реального времени Azure RTOS, которая была получена после поглощения компании Express Logic в 2019 году и до этого более 20 лет поставлялась под именем ThreadX. Утверждается, что во всём мире рассматриваемая ОС была установлена на более чем 12 миллиардов устройств, среди которых потребительская электроника, промышленные системы, медицинские устройства, принтеры, WiFi чипы и даже бортовые системы космических аппаратов.

После полного открытия исходных текстов (код ThreadX был доступен и до этого, но под ограничивающей лицензией), запланированного на январь 2024 года, продукт перейдёт под покровительство некоммерческой организации Eclipse Foundation и будет развиваться под именем Eclipse ThreadX в виде независимого совместного проекта, не привязанного к отдельным поставщикам. Предполагается, что перевод проекта на независимую площадку позволит привлечь к разработке новых участников и подстегнуть развитие платформы и связанной с ней экосистемы. О присоединении к совместному проекту уже заявили компании
AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs и Witekio (Avnet).

Операционная система Eclipse ThreadX в минимальной сборке занимает всего 2 КБ, способна работать на чипах с 1 КБ оперативной памяти, обеспечивает переключение контекста за доли микросекунд и загрузку за 120 процессорных циклов. Серди возможностей ThreadX: архитектура на базе пикоядра, планировщики для вытесняющей многозадачности (на базе приоритетов) и кооперативной многозадачности,
механизм минимизации переключений контекста за счёт отключения вытеснения задач до указанного порогового приоритета, поддержка связывания событий (event chaining), большой набор подключаемых системных сервисов, очень быстрая обработка прерываний, дополнительная оптимизация обработки прерывания от таймера, средства управления памятью c поддержкой MMU/MPU, защита памяти, механизм обмена сообщений и организации обмена данными между потоками, доставка уведомлений о событиях, механизмы синхронизации потоков, поддержка мьютексов и семафоров.

Помимо кода операционной системы будут открыты и переданы Eclipse сопутствующие компоненты:

  • NetX Duo — сетевой стек, рассчитанный на использование в системах реального времени и устройствах интернета вещей (IoT). Поддерживается IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
  • USBX — USB-стек с поддержкой клиентского, хостового (EHCI, OHCI) и OTG (on-the-go) режимов.
  • FileX — файловая система, совместимая с FAT (FAT12/16/32 и exFAT) и полностью интегрируемая в ядро ThreadX.
  • LevelX — реализация алгоритма выравнивания износа (Wear Leveling) для ФС FileX, позволяющая подлить время жизни Flash-накопителей.
  • GUIX — библиотека для создания встраиваемых графических интерфейсов пользователя.
  • GuiX Studio — среда проектирования, позволяющая создавать графические элементы для библиотеки GUIX и автоматически генерировать Си-код для запуска в окружении ThreadX.
  • TraceX — инструмент для трассировки, предоставляющий графический интерфейс для отслеживания и анализа событий в режиме реального времени.

Поддерживается работа на большинстве популярных микроконтроллеров и процессоров, включая многоядерные процессоры x86, MIPS, RISC-V и ARM, а также чипы от STM, NXP, Qualcomm, Renesas, Texas Instruments и Microchip. Предоставляются прослойки для обеспечения совместимости с FreeRTOS, POSIX и OSEK. Система сертифицирована для использования на критических важных системах, требующих особого уровня надёжности, признана соответствующей требованиям стандартов безопасности и надёжности IEC 61508, IEC 62304, ISO 26262, EN 50128 и EAL4+ Common Criteria.

Связанные с сертификацией компоненты также переданы организации Eclipse и будут доступны под открытой лицензией на условиях не требующих выплаты отчислений (royalty-free). Имеющиеся сертификаты позволяют использовать Eclipse ThreadX на химических производствах, системах для нефтегазовой отрасли, электростанциях, аэрокосмической промышленности, железной дороге, автомобильных системах (включая чипы управления двигателем, системы помощи при вождении и автопилоты), медицинских устройствах.

Источник: http://www.opennet.ru/opennews/art.shtml?num=60181