Compania Microsoft a anunțat deschiderea, sub licența permisivă MIT, a codului sursă al sistemului de operare în timp real Azure RTOS, care a fost obținută după achiziția companiei Express Logic în 2019 și care a fost livrată sub numele ThreadX timp de peste 20 de ani. Se afirmă că acest sistem de operare a fost instalat pe mai mult de 12 miliarde de dispozitive din întreaga lume, incluzând electronice de consum, sisteme industriale, dispozitive medicale, imprimante, cipuri WiFi și chiar sisteme de pe nave spațiale.
După deschiderea completă a codului sursă (codul ThreadX a fost disponibil și anterior, dar sub o licență restrictivă), programată pentru ianuarie 2024, produsul va fi sub tutela organizației non-profit Eclipse Foundation și va evolua sub numele Eclipse ThreadX ca un proiect colaborativ independent, neafiliat cu furnizori specifici. Se preconizează că trecerea proiectului pe o platformă independentă va permite atragerea de noi participanți și va stimula dezvoltarea platformei și ecosistemului asociat. Companiile AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs și Witekio (Avnet) și-au exprimat deja intenția de a se alătura acestui proiect colaborativ.
Sistemul de operare Eclipse ThreadX în cea mai mică variantă ocupă doar 2 KB, este capabil să funcționeze pe cipuri cu 1 KB de memorie RAM, asigurând comutarea contextului în fracțiuni de microsecunde și încărcarea în 120 de cicluri de procesor. Printre caracteristicile ThreadX se numără: arhitectura bazată pe PICO core, planificatoare pentru multitasking preemptiv (bazate pe priorități) și multitasking cooperativ, un mecanism de minimizare a schimbărilor de context prin dezactivarea preemptării sarcinilor sub un prag specificat, suport pentru legarea evenimentelor (event chaining), un set extins de servicii sistemice conectabile, procesare extrem de rapidă a întreruperilor, optimizare suplimentară a procesării întreruperii de la timer, mijloace de gestionare a memoriei cu suport MMU/MPU, protecția memoriei, un mecanism de schimb de mesaje și organizarea schimbului de date între fire, livrarea notificărilor de evenimente, mecanisme de sincronizare a firelor, suport pentru mutexuri și semafoare.
Pe lângă codul sistemului de operare, vor fi deschise și transmise Eclipse componentele însoțitoare:
- NetX Duo — un stack de rețea destinat utilizării în sisteme în timp real și dispozitive Internet of Things (IoT). Suportă IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
- USBX — un stack USB care suportă moduri client, host (EHCI, OHCI) și OTG (on-the-go).
- FileX — un sistem de fișiere compatibil cu FAT (FAT12/16/32 și exFAT) și complet integrabil în kernelul ThreadX.
- LevelX — o implementare a algoritmului de nivelare a uzurii (Wear Leveling) pentru FS FileX, care permite prelungirea duratei de viață a memoriilor Flash.
- GUIX — o bibliotecă pentru crearea interfețelor grafice utilizator încorporate.
- GuiX Studio — un mediu de proiectare care permite crearea de elemente grafice pentru biblioteca GUIX și generarea automată de cod C pentru rulare în mediu ThreadX.
- TraceX — un instrument de urmărire care oferă o interfață grafică pentru monitorizarea și analiza evenimentelor în timp real.
Se suportă lucru pe majoritatea microcontrolerelor și procesoarelor populare, inclusiv procesoare multicore x86, MIPS, RISC-V și ARM, precum și cipuri de la STM, NXP, Qualcomm, Renesas, Texas Instruments și Microchip. Se oferă straturi pentru a asigura compatibilitatea cu FreeRTOS, POSIX și OSEK. Sistemul este certificat pentru utilizare în sisteme critice care necesită un anumit nivel de fiabilitate, fiind recunoscut ca conform cerințelor standardelor de siguranță și fiabilitate IEC 61508, IEC 62304, ISO 26262, EN 50128 și EAL4+ Common Criteria.
Componentele legate de certificare au fost de asemenea transferate către organizația Eclipse și vor fi disponibile sub o licență deschisă care nu necesită plata de redevențe (royalty-free). Certificatele existente permit utilizarea Eclipse ThreadX în producții chimice, sisteme din industria petrolieră și gazieră, centrale electrice, industria aerospațială, feroviare, sisteme auto (inclusiv cipuri pentru controlul motorului, sisteme de asistență la condus și autovehicule autonome) și dispozitive medicale.
Sursa: opennet.ro
