La compañía Microsoft ha anunciado la apertura bajo la licencia permisiva MIT del código fuente del sistema operativo en tiempo real Azure RTOS, que fue adquirido tras la compra de Express Logic en 2019 y que, antes de eso, se había suministrado durante más de 20 años bajo el nombre de ThreadX. Se afirma que este sistema operativo está instalado en más de 12 mil millones de dispositivos en todo el mundo, incluyendo electrónica de consumo, sistemas industriales, dispositivos médicos, impresoras, chips WiFi e incluso sistemas a bordo de naves espaciales.
Después de la apertura completa del código fuente (el código de ThreadX ya estaba disponible, pero bajo una licencia restrictiva), programada para enero de 2024, el producto pasará a estar bajo el patrocinio de la organización sin fines de lucro Eclipse Foundation y se desarrollará bajo el nombre de Eclipse ThreadX como un proyecto colaborativo independiente, no vinculado a proveedores específicos. Se espera que la transferencia del proyecto a una plataforma independiente permita atraer nuevos participantes al desarrollo y estimule el crecimiento de la plataforma y su ecosistema relacionado. Ya han expresado interés en unirse al proyecto colaborativo empresas como AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs y Witekio (Avnet).
El sistema operativo Eclipse ThreadX en una configuración mínima ocupa solo 2 KB, puede funcionar en chips con 1 KB de memoria RAM, proporciona conmutación de contexto en fracciones de microsegundos y carga en 120 ciclos de procesador. Entre las características de ThreadX se incluyen: arquitectura basada en núcleos ligeros, planificadores para la multitarea de exclusión (basados en prioridades) y multitarea cooperativa, un mecanismo de minimización de cambios de contexto mediante la desactivación de la exclusión de tareas hasta el umbral de prioridad especificado, soporte para encadenamiento de eventos, un amplio conjunto de servicios del sistema conectables, procesamiento de interrupciones muy rápido, optimización adicional para el manejo de interrupciones por temporizadores, herramientas de gestión de memoria con soporte para MMU/MPU, protección de memoria, mecanismo de intercambio de mensajes y organización del intercambio de datos entre hilos, entrega de notificaciones de eventos, mecanismos de sincronización de hilos, y soporte para mutexes y semáforos.
Además del código del sistema operativo, también se abrirán y transferirán a Eclipse componentes auxiliares:
- NetX Duo — una pila de red diseñada para su uso en sistemas en tiempo real y dispositivos de Internet de las Cosas (IoT). Soporta IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
- USBX — una pila USB que soporta modos cliente, host (EHCI, OHCI) y OTG (on-the-go).
- FileX — un sistema de archivos compatible con FAT (FAT12/16/32 y exFAT) y completamente integrable en el núcleo ThreadX.
- LevelX — implementación del algoritmo de nivelación de desgaste (Wear Leveling) para el sistema de archivos FileX, que permite prolongar la vida útil de las unidades Flash.
- GUIX — biblioteca para la creación de interfaces gráficas de usuario integradas.
- GuiX Studio — entorno de diseño que permite crear elementos gráficos para la biblioteca GUIX y generar automáticamente código en C para su ejecución en el entorno ThreadX.
- TraceX — herramienta de trazado que proporciona una interfaz gráfica para el seguimiento y análisis de eventos en tiempo real.
Es compatible con la mayoría de los microcontroladores y procesadores populares, incluyendo procesadores x86 multicore, MIPS, RISC-V y ARM, así como chips de STM, NXP, Qualcomm, Renesas, Texas Instruments y Microchip. Se proporcionan capas para asegurar la compatibilidad con FreeRTOS, POSIX y OSEK. El sistema está certificado para su uso en sistemas críticos que requieren un nivel especial de fiabilidad, reconocido como conforme a los estándares de seguridad y fiabilidad IEC 61508, IEC 62304, ISO 26262, EN 50128 y EAL4+ Common Criteria.
Los componentes relacionados con la certificación también han sido transferidos a la organización Eclipse y estarán disponibles bajo una licencia abierta sin requerir pagos de regalías (royalty-free). Los certificados existentes permiten el uso de Eclipse ThreadX en la industria química, sistemas para el sector de petróleo y gas, plantas de energía, industria aeroespacial, ferrocarriles, sistemas automotrices (incluyendo chips de control de motores, sistemas de asistencia al conductor y pilotos automáticos) y dispositivos médicos.
Fuente: opennet.ru
