Microsoft teatas, et avab Azure RTOS-i reaalaegse operatsioonisüsteemi lähtekoodid MIT-i lubamise all pärast Express Logic'i omandamist 2019. aastal. Selle süsteemi allikas oli varem tuntud kui ThreadX ning seda on üle 20 aasta tarnitud. Üle kogu maailma olevat seda operatsioonisüsteemi installitud enam kui 12 miljardi seadme peale, sealhulgas tarbeelektroonika, tööstussüsteemid, meditsiinilised seadmed, printerid, WiFi kiibid ja isegi kosmosesõidukite pardasüsteemid.
Pärast algallikate täielikku avamist (ThreadX kood oli varem saadaval, kuid piiratud litsentsi all) jaanuariks 2024, läheb toode mittekasumlikule organisatsioonile Eclipse Foundationi alla ja areneb nime all Eclipse ThreadX iseseisva koostööprojektina, mis ei ole seotud üksikute tarnijatega. Eeldatakse, et projekti üleviimine iseseisvale platvormile võimaldab kaasata arendusse uusi osalisi ja kiirendab platvormi ning sellega seotud ökosüsteemi arengut. Koostööprojektiga on juba liitunud sellised ettevõtted nagu AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs ja Witekio (Avnet).
Eclipse ThreadX operatsioonisüsteemi minimaalne kogus on vaid 2 KB, mis suudab töötada kiipidega, millel on 1 KB RAM-i. See tagab konteksti vahetamise mikrosekundite osadega ja laadimise 120 protsessoritsükli jooksul. ThreadX-i võimaluste hulka kuuluvad: pikaydara arhitektuur, ajakava, mis toetab eelistuste alusel põhinevat sunnitud mitmeülesande täitmist ning kooperatiivset mitmeülesande täitmist, konteksti vahetuste vähendamise mehhanism, mis keelab ülesannete sunnitud väljaviskamise määratud prioriteedini, sündmuste sidumise tugi, lai valik ühendatavaid süsteemiteenuseid, väga kiire katkestuste töötlemine, täiendav optimeerimine ajastatud katkestuste töötlemiseks, mälu haldamise vahendid, mis toetavad MMU/MPU-d, mälu kaitse, sõnumite vahetamise ja andmevahetuse korraldamise mehhanism, sündmuste teatamise edastamine, lõimede sünkroniseerimise mehhanismid, toetades mutexe ja semafore.
Eclipse operatsioonisüsteemi koodi kõrval avatakse ja edastatakse ka seotud komponendid:
- NetX Duo — võrgustiku sadam, mis on mõeldud kasutamiseks reaalajas süsteemides ja asjade internetis (IoT). Toetatakse IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
- USBX — USB-protokoll, mis toetab kliendi-, hosti- (EHCI, OHCI) ja OTG (on-the-go) režiime.
- FileX — failisüsteem, mis on kooskõlas FAT (FAT12/16/32 ja exFAT) ning on täielikult integreeritud ThreadX-i tuumaga.
- LevelX — kulumise tasakaalu algoritmi (Wear Leveling) rakendamine FileX-i failisüsteemis, mis aitab pikendada Flash-mäluseadmete eluiga.
- GUIX — teek, mis võimaldab luua sisseehitatud graafilisi kasutajaliideseid.
- GuiX Studio — disainikeskkond, mis võimaldab luua graafilisi elemente GUIX-i teegile ja genereerida automaatselt C-koodi, et see saaks töötada ThreadX-i keskkonnas.
- TraceX — jälgimistööriist, mis pakub graafilist liidese seiret ja analüüsi reaalajas sündmuste jälgimiseks.
Töötamine enamikus populaarsetes mikrokontrollerites ja protsessorites on toetatud, sealhulgas multi-tuumalistes x86, MIPS, RISC-V ja ARM protsessorites, samuti STM, NXP, Qualcomm, Renesas, Texas Instruments ja Microchip kiipides. Pakutakse kihte ühilduvuse tagamiseks FreeRTOS, POSIX ja OSEK'iga. Süsteem on sertifitseeritud kasutamiseks kriitiliste süsteemide puhul, mis nõuavad eritasemel usaldusväärsust, ja on tunnustatud vastavaks ohutuse ja usaldusväärsuse standarditega IEC 61508, IEC 62304, ISO 26262, EN 50128 ja EAL4+ ühised kriteeriumid.
Sertifitseerimisega seotud komponendid on ka edastatud Eclipse organisatsioonile ja need on saadaval avatud litsentsi alusel, mis ei nõua autoritasude tasumist (royalty-free). Saadaval olevad sertifikaadid võimaldavad Eclipse ThreadX'i kasutada keemiatööstuses, nafta- ja gaasitööstuse süsteemides, elektrijaamades, lennuettevõtetes, raudteedel, autode süsteemides (sealhulgas mootorijuhtimise kiipides, juhtimisabi süsteemides ja autonoomsete juhtimiste puhul) ning meditsiiniseadmetes.
Allikas: opennet.ru
