Microsoft объявила об открытии исходного кода операционной системы реального времени Azure RTOS (ранее - ThreadX от Express Logic) под лицензией MIT и передаче проекта сообществу разработчиков Eclipse Foundation. Часть кода ThreadX была доступна ранее под ограничивающей лицензией.
В Microsoft раскрыли, что по всему миру Azure RTOS или ThreadX установлена на более чем 12 млрд различных компьютерных устройств, включая потребительскую электронику, промышленные системы, медицинские устройства, принтеры и МФУ, компоненты с WiFi и бортовые системы различных космических аппаратов.
Microsoft запланировала полное открытие исходных кодов Azure RTOS на январь 2024 года. После этой процедуры проект перейдёт под крыло некоммерческой организации Eclipse Foundation. Далее проект будет развиваться под именем Eclipse ThreadX в виде независимого совместного проекта, который не будет привязан к отдельным поставщикам и компаниям.
В Microsoft считают, что перевод Azure RTOS на независимую площадку позволит привлечь к разработке проекта новых участников, ускорить развитие платформы, расширить связанную с проектом экосистему. О присоединении к разработке совместного проекта Eclipse ThreadX объявили AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs и Witekio (Avnet).
Согласно данным OpenNET, операционная система Eclipse ThreadX в минимальной сборке занимает всего 2 КБ, способна работать на чипах с 1 КБ оперативной памяти, обеспечивает переключение контекста за доли микросекунд и загрузку за 120 процессорных циклов.
Среди возможностей ThreadX: архитектура на базе пикоядра, планировщики для вытесняющей многозадачности (на базе приоритетов) и кооперативной многозадачности, механизм минимизации переключений контекста за счёт отключения вытеснения задач до указанного порогового приоритета, поддержка связывания событий (event chaining), большой набор подключаемых системных сервисов, очень быстрая обработка прерываний, дополнительная оптимизация обработки прерывания от таймера, средства управления памятью с поддержкой MMU/MPU, защита памяти, механизм обмена сообщениями и организации обмена данными между потоками, доставка уведомлений о событиях, механизмы синхронизации потоков, поддержка мьютексов и семафоров.
Помимо кода операционной системы Azure RTOS будут открыты и переданы Eclipse Foundation следующие компоненты и подсистемы проекта:
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 - инструмент для трассировки, предоставляющий графический интерфейс для отслеживания и анализа событий в режиме реального времени.
Согласно пояснению разработчиков, проект Eclipse ThreadX будет поддерживать работа на большинстве популярных микроконтроллеров и процессоров, включая многоядерные процессоры x86, MIPS, RISC-V и ARM, а также чипы от STM, NXP, Qualcomm, Renesas, Texas Instruments и Microchip. В нём есть прослойки для обеспечения совместимости с FreeRTOS, POSIX и OSEK.
Система Azure RTOS сертифицирована для использования на критических важных системах, требующих особого уровня надёжности, признана соответствующей требованиям стандартов безопасности и надёжности IEC 61508, IEC 62304, ISO 26262, EN 50128 и EAL4+ Common Criteria. Необходимые и связанные с сертификацией ОС компоненты также будут переданы организации Eclipse Foundation под открытой лицензией на условиях не требующих выплаты отчислений (royalty-free). Имеющиеся сертификаты позволяют использовать Eclipse ThreadX на химических производствах, системах для нефтегазовой отрасли, электростанциях, аэрокосмической промышленности, железной дороге, автомобильных системах (включая чипы управления двигателем, системы помощи при вождении и автопилоты) и медицинских устройствах.
Источник новости: habr.com