Microsoft hat angekündigt, dass es unter einer freizügigen MIT-Lizenz für sein Echtzeitbetriebssystem Azure RTOS, das es nach der Übernahme von Express Logic im Jahr 2019 erworben und zuvor mehr als 20 Jahre lang unter dem Namen ThreadX vertrieben wurde, Open Source ist. Es wird behauptet, dass das betreffende Betriebssystem auf mehr als 12 Milliarden Geräten weltweit installiert wurde, darunter Unterhaltungselektronik, Industriesysteme, medizinische Geräte, Drucker, WiFi-Chips und sogar Bordsysteme von Raumfahrzeugen.
Nach vollständiger Open Source (der ThreadX-Code war zuvor verfügbar, allerdings unter einer restriktiven Lizenz), die für Januar 2024 geplant ist, wird das Produkt unter die Schirmherrschaft der gemeinnützigen Organisation Eclipse Foundation fallen und unter dem Namen Eclipse ThreadX als entwickelt werden eigenständiges Gemeinschaftsprojekt, nicht an einzelne Lieferanten gebunden. Es wird erwartet, dass die Übertragung des Projekts auf eine unabhängige Plattform neue Teilnehmer für die Entwicklung gewinnen und die Entwicklung der Plattform und des zugehörigen Ökosystems vorantreiben wird. AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs und Witekio (Avnet) haben bereits den Beitritt zum gemeinsamen Projekt angekündigt.
Das Eclipse ThreadX-Betriebssystem nimmt in einer minimalen Baugruppe nur 2 KB ein, kann auf Chips mit 1 KB RAM ausgeführt werden, ermöglicht Kontextwechsel in Bruchteilen von Mikrosekunden und lädt in 120 Prozessorzyklen. Zu den Funktionen von ThreadX gehören: eine Pico-Core-basierte Architektur, Scheduler für präemptives Multitasking (basierend auf Prioritäten) und kooperatives Multitasking, ein Mechanismus zur Minimierung von Kontextwechseln durch Deaktivieren der vorzeitigen Übernahme von Aufgaben bis zu einer bestimmten Schwellenwertpriorität, Unterstützung für Ereignisverkettung, ein großer Satz an Plug-in-Systemdiensten, sehr schnelle Interrupt-Verarbeitung, zusätzliche Optimierung der Timer-Interrupt-Verarbeitung, Speicherverwaltungstools mit MMU/MPU-Unterstützung, Speicherschutz, Messaging- und Datenaustauschmechanismen zwischen Threads, Zustellung von Ereignisbenachrichtigungen, Thread-Synchronisierungsmechanismen , Unterstützung für Mutexe und Semaphore.
Zusätzlich zum Betriebssystemcode werden folgende Komponenten geöffnet und an Eclipse übertragen:
- NetX Duo ist ein Netzwerkstack, der für den Einsatz in Echtzeitsystemen und IoT-Geräten (Internet of Things) entwickelt wurde. IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M werden unterstützt.
- USBX ist ein USB-Stack mit Unterstützung für die Modi Client, Host (EHCI, OHCI) und OTG (unterwegs).
- FileX ist ein FAT-kompatibles Dateisystem (FAT12/16/32 und exFAT), das vollständig in den ThreadX-Kern integriert ist.
- LevelX ist eine Implementierung des Wear Leveling-Algorithmus für das FileX-Dateisystem, mit dem Sie die Lebensdauer von Flash-Laufwerken verlängern können.
- GUIX ist eine Bibliothek zum Erstellen eingebetteter grafischer Benutzeroberflächen.
- GuiX Studio ist eine Designumgebung, mit der Sie grafische Elemente für die GUIX-Bibliothek erstellen und automatisch C-Code generieren können, der in der ThreadX-Umgebung ausgeführt wird.
- TraceX ist ein Tracing-Tool, das eine grafische Oberfläche zum Verfolgen und Analysieren von Ereignissen in Echtzeit bietet.
Unterstützt den Betrieb auf den gängigsten Mikrocontrollern und Prozessoren, einschließlich Multi-Core-x86-, MIPS-, RISC-V- und ARM-Prozessoren sowie Chips von STM, NXP, Qualcomm, Renesas, Texas Instruments und Microchip. Es werden Schichten bereitgestellt, um die Kompatibilität mit FreeRTOS, POSIX und OSEK sicherzustellen. Das System ist für den Einsatz in kritischen Systemen zertifiziert, die ein besonderes Maß an Zuverlässigkeit erfordern, und erfüllt anerkanntermaßen die Anforderungen der Sicherheits- und Zuverlässigkeitsstandards IEC 61508, IEC 62304, ISO 26262, EN 50128 und EAL4+ Common Criteria.
Zertifizierungsbezogene Komponenten wurden ebenfalls an Eclipse gespendet und werden unter einer offenen, gebührenfreien Lizenz verfügbar sein. Verfügbare Zertifizierungen ermöglichen den Einsatz von Eclipse ThreadX in Chemieanlagen, Öl- und Gassystemen, Kraftwerken, Luft- und Raumfahrt, Eisenbahnen, Automobilsystemen (einschließlich Motorsteuerungschips, Fahrassistenzsystemen und Autopiloten) und medizinischen Geräten.
Source: opennet.ru
