Microsoft har annonceret åbningen af kildekoden til realtidsoperativsystemet Azure RTOS under den permissive MIT-licens. Dette skridt blev taget efter opkøbet af virksomheden Express Logic i 2019, som i mere end 20 år har leveret systemet under navnet ThreadX. Det påstås, at det nævnte OS er blevet installeret på mere end 12 milliarder enheder globalt, herunder forbrugerelektronik, industrielle systemer, medicinske apparater, printere, WiFi-chips og endda rumfartøjer.
Efter den fuldstændige åbning af kildekoden (ThreadX-koden var allerede tilgængelig, men under en begrænsende licens), planlagt til januar 2024, vil produktet gå under den non-profit organisation Eclipse Foundation og udvikles under navnet Eclipse ThreadX som et uafhængigt samarbejdsprojekt, ikke bundet til specifikke leverandører. Det forventes, at overgangen til en uafhængig platform vil tiltrække nye udviklere og fremme væksten af platformen og dens tilknyttede økosystem. Virksomheder som AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs og Witekio (Avnet) har allerede udtrykt interesse for at deltage i det fælles projekt.
Eclipse ThreadX operativsystemet fylder kun 2 KB i sin mindste opsætning og kan køre på chips med 1 KB RAM, muliggør kontekstskift på brøkdele af mikrosekunder og opstart på 120 processorkredse. Blandt ThreadXs funktioner er: en arkitektur baseret på mikrokernen, planlæggere til præemptiv multitasking (baseret på prioriteter) og kooperativ multitasking, en mekanisme til at minimere kontekstskift ved at deaktivere opgavernes fortrængning indtil en angivet prioritetstæskel, støtte til begivenhedskædning, et stort udvalg af tilsluttelige systemtjenester, meget hurtig behandling af afbrydelser, ekstra optimering af timerafbrydelser, hukommelsesstyring med støtte for MMU/MPU, beskyttelse af hukommelse, mekanismer til beskedudveksling og dataudveksling mellem tråde, levering af begivenhedsnotifikationer, tråd-synkroniseringsmekanismer, samt støtte til mutexer og semaforer.
Udover kildekoden til operativsystemet vil Eclipse også åbne og overdrage tilknyttede komponenter:
- NetX Duo — et netværksstak designet til brug i realtidsystemer og internet of things (IoT) enheder. Understøtter IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
- USBX — en USB-stak med support til klient-, host- (EHCI, OHCI) og OTG (on-the-go) tilstande.
- FileX — et filsystem, der er kompatibelt med FAT (FAT12/16/32 og exFAT) og fuldt integreret i ThreadX-kernen.
- LevelX — implementeringen af slidudjævningsalgoritmen (Wear Leveling) for FileX filsystemet, der forlænger levetiden på Flash-lagringsenheder.
- GUIX — et bibliotek til oprettelse af indlejrede grafiske brugergrænseflader.
- GuiX Studio — et designmiljø, der gør det muligt at oprette grafiske elementer til GUIX-biblioteket og automatisk generere C-kode til kørsel i ThreadX-miljøet.
- TraceX — et traceværktøj, der giver en grafisk grænseflade til overvågning og analyse af realtidsbegivenheder.
Det understøtter drift på de fleste populære mikrocontrollere og processorer, herunder flerkerneprocessorer x86, MIPS, RISC-V og ARM, samt chips fra STM, NXP, Qualcomm, Renesas, Texas Instruments og Microchip. Der gives lag for at sikre kompatibilitet med FreeRTOS, POSIX og OSEK. Systemet er certificeret til brug i kritiske systemer, der kræver et særligt niveau af pålidelighed og er anerkendt som opfyldende kravene i sikkerheds- og pålidelighedsstandarderne IEC 61508, IEC 62304, ISO 26262, EN 50128 og EAL4+ Common Criteria.
De komponenter, der er relateret til certificeringen, er også overdraget til Eclipse Organisationen og vil være tilgængelige under en åben licens med ikke-royalty-baserede betingelser. De eksisterende certifikater muliggør brugen af Eclipse ThreadX i kemiske produktionsanlæg, systemer til olie- og gasindustrien, kraftværker, rumfartsindustrien, jernbane, bilsystemer (herunder motorstyringschips, førerhjælpssystemer og autopiloter) og medicinske apparater.
Kilde: opennet.ru
