Das Unternehmen Microsoft hat die Einführung des Quellcodes des realzeitbetriebssystems Azure RTOS unter der permissiven MIT-Lizenz angekündigt. Dieser Quellcode wurde nach der Übernahme von Express Logic im Jahr 2019 erworben und wurde zuvor mehr als 20 Jahre lang unter dem Namen ThreadX angeboten. Es wird behauptet, dass das betreffende Betriebssystem weltweit auf mehr als 12 Milliarden Geräten installiert ist, darunter Unterhaltungselektronik, industrielle Systeme, medizinische Geräte, Drucker, WiFi-Chips und sogar Bordelektronik von Raumfahrzeugen.
Nach der vollständigen Veröffentlichung des Quellcodes (der ThreadX-Code war zuvor ebenfalls verfügbar, jedoch unter einer restriktiven Lizenz), die für Januar 2024 geplant ist, wird das Produkt unter die Schirmherrschaft der gemeinnützigen Organisation Eclipse Foundation gestellt und wird unter dem Namen Eclipse ThreadX als unabhängiges, gemeinsames Projekt weiterentwickelt, das nicht an spezifische Anbieter gebunden ist. Es wird angenommen, dass die Überführung des Projekts auf eine unabhängige Plattform dazu beitragen wird, neue Teilnehmer an der Entwicklung zu gewinnen und das Wachstum der Plattform und des zugehörigen Ökosystems zu fördern. Unternehmen wie AMD, Cypherbridge, NXP, PX5, Renesas, ST Microelectronics, Silicon Labs und Witekio (Avnet) haben bereits ihre Beteiligung an dem gemeinsamen Projekt angekündigt.
Das Betriebssystem Eclipse ThreadX benötigt in seiner minimalen Konfiguration lediglich 2 KB, kann auf Chips mit 1 KB RAM betrieben werden, bietet einen Kontextwechsel in Mikrosekunden und eine Bootzeit von 120 Prozessorzyklen. Zu den Möglichkeiten von ThreadX gehören: eine Architektur auf Grundlage von Mikro-Kernen, Scheduler für preemptive Multitasking (basierend auf Prioritäten) und kooperatives Multitasking, ein Mechanismus zur Minimierung von Kontextwechseln durch das Deaktivieren der Aufgabenverdrängung bis zu einem festgelegten Prioritätsniveau, Unterstützung für Event Chaining, eine Vielzahl von modularen Systemdiensten, extrem schnelle Interruptverarbeitung, zusätzliche Optimierungen für Timer-Interrupts, Speicherverwaltung mit Unterstützung für MMU/MPU, Speicherschutz, ein Nachrichtenübertragungsmechanismus zur Organisation des Datenaustauschs zwischen Threads, Ereignisbenachrichtigung, Synchronisationsmechanismen für Threads sowie Unterstützung für Mutex und Semaphore.
Neben dem Quellcode des Betriebssystems werden auch begleitende Komponenten von Eclipse eröffnet und übergeben.
- NetX Duo — ein Netzwerkstack, der für den Einsatz in Echtzeitsystemen und Internet-of-Things (IoT)-Geräten konzipiert ist. Unterstützt werden IPv4, IPv6, TCP, UDP, ICMP, TLS, DTLS, IPsec, PPPoE, DHCP, DNS, HTTP, IGMP, POP3, SMTP, SNMP, MQTT, CoAP, LWM2M.
- USBX — ein USB-Stack mit Unterstützung für Client-, Host- (EHCI, OHCI) und OTG (On-The-Go) Modi.
- FileX — ein Dateisystem, das mit FAT (FAT12/16/32 und exFAT) kompatibel ist und vollständig in den Kernel von ThreadX integriert werden kann.
- LevelX — Implementierung des Wear Leveling-Algorithmus für das Dateisystem FileX, um die Lebensdauer von Flash-Speichern zu verlängern.
- GUIX — eine Bibliothek zur Erstellung eingebetteter grafischer Benutzeroberflächen.
- GuiX Studio — eine Entwicklungsumgebung, die es ermöglicht, grafische Elemente für die GUIX-Bibliothek zu erstellen und automatisch C-Code zur Ausführung in der ThreadX-Umgebung zu generieren.
- TraceX — ein Trace-Werkzeug, das eine grafische Benutzeroberfläche zur Verfolgung und Analyse von Echtzeitevents bietet.
Es wird die Arbeit auf den meisten gängigen Mikrocontrollern und Prozessoren unterstützt, einschließlich multikernfähiger Prozessoren wie x86, MIPS, RISC-V und ARM sowie Chips von STM, NXP, Qualcomm, Renesas, Texas Instruments und Microchip. Es werden Schichten bereitgestellt, um Kompatibilität mit FreeRTOS, POSIX und OSEK zu gewährleisten. Das System ist für den Einsatz in sicherheitskritischen Systemen zertifiziert, die ein besonderes Maß an Zuverlässigkeit erfordern, und erfüllt die Anforderungen der Sicherheits- und Zuverlässigkeitsstandards IEC 61508, IEC 62304, ISO 26262, EN 50128 und EAL4+ Common Criteria.
Mit der Zertifizierung verbundenen Komponenten werden ebenfalls der Eclipse-Organisation übergeben und stehen unter einer Open-Source-Lizenz zur Verfügung, die keine Lizenzgebühren (royalty-free) erfordert. Die vorhandenen Zertifikate ermöglichen den Einsatz von Eclipse ThreadX in chemischen Produktionsstätten, Systemen für die Öl- und Gasindustrie, Kraftwerken, der Luft- und Raumfahrt, der Bahn, Automobilsystemen (einschließlich Motorsteuerchips, Fahrassistenzsystemen und Autopiloten) und medizinischen Geräten.
Quelle: opennet.ru
