Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

ThreadX

From Wikipedia, the free encyclopedia
Real-time operating system
Operating system
Eclipse ThreadX
DeveloperExpress Logic (original)
Microsoft (former)
Eclipse (current)
Written inC
Working stateCurrent
Source modelOpen source
Initial release1997; 28 years ago (1997)
Latest release6.4.1[1] / February 28, 2024; 20 months ago (2024-02-28)
Repositorygithub.com/eclipse-threadx/threadx/
Marketing targetEmbedded systems,IoT
Update methodRe-install
Package managerNone
Supported platformsARC,ARM, Blackfin, CEVA, C6x,MIPS,NXP,PIC,PowerPC,RISC-V, RX, SH,SHARC,TI, V850, Xtensa,x86,Coldfire, others
Kernel typeEmbedded,deterministic,real-timemicrokernel,picokernel
Default
user interface
Embedded UI support (GUIX)
LicenseMIT License (as of 2023)
Official websitethreadx.io

ThreadX is an embeddedreal-time operating system (RTOS) programmed mostly in theC language. It was originally released in 1997 asThreadX when Express Logic first developed it, later it was renamed toAzure RTOS (2019) after Express Logic was purchased byMicrosoft,[2] then most recently it was renamed again toEclipse ThreadX (2023), or "ThreadX" in its short form, after it transitioned to freeopen source model under the stewardship of theEclipse Foundation.[3]

History

[edit]

In 1997,ThreadX was first released and marketed by Express Logic ofSan Diego, California, United States. It was developed byWilliam Lamie,[4] who was also the original author ofNucleus andPX5 RTOS, and was president and CEO of Express Logic. ThreadX version 4 was introduced in 2001, version 5 was introduced in 2005, and then version 6 was introduced in 2020 (the latest major version). FileX – the embedded file system for ThreadX was introduced in 1999. NetX – the embedded TCP/IP networking stack for ThreadX was introduced in 2002. USBX – the embedded USB support for ThreadX was introduced in 2004. ThreadX SMP for SMP multi-core environments was introduced in 2009. ThreadX Modules was introduced in 2011. ThreadX achieved safety certifications for:TÜVIEC 61508 in 2013, andUL 60730 in 2014. GUIX – the embedded UI for ThreadX was introduced in 2014.

On April 18, 2019,Microsoft purchased Express Logic for an undisclosed sum and it was renamed toAzure RTOS.[2]

On November 21, 2023, Microsoft announced Azure RTOS would be transitioning to anopen source model under the stewardship of theEclipse Foundation, and making the project available under the permissiveMIT License.[3] With Eclipse Foundation as the new home, Azure RTOS was renamed toEclipse ThreadX, or "ThreadX" in its short form.

Overview

[edit]
This sectionmay requirecopy editing for grammar, style, cohesion, tone, or spelling. You can assist byediting it.(January 2025) (Learn how and when to remove this message)
icon
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(January 2025) (Learn how and when to remove this message)

The name ThreadX refers to thethreads used as the executable elements, withX representingcontext switching.

ThreadX provides priority-based, pre-emptive scheduling, fastinterrupt response,memory management, interthread communication,mutual exclusion, event notification, and threadsynchronization features. Major distinguishing technology characteristics of ThreadX include preemption-threshold,priority inheritance, efficient timer management, fast software timers,picokernel design, event-chaining, and small size: minimal size on anARM architecture processor is about 2 KB.

ThreadX supportsmulti-core processor environments via eitherasymmetric multiprocessing (AMP) orsymmetric multiprocessing (SMP). Application thread isolation withmemory management unit (MMU) ormemory protection unit (MPU) memory protection is available with ThreadX Modules.

ThreadX has safety certifications fromTÜV,UL and isMotor Industry Software Reliability AssociationMISRA C compliant.

ThreadX is the foundation of Express Logic's X-WareInternet of things (IoT) platform, which includes embeddedfile system support (FileX), embedded UI support (GUIX), embeddedInternet protocol suite (TCP/IP), and cloud connectivity (NetX/NetX Duo), and Universal Serial Bus (USB) support (USBX). ThreadX is liked by developers and is a popular RTOS.[5]

As of 2017[update], ThreadX RTOS become one of the most popular RTOSs in the world, deployed in over 6.2 billion devices, including consumer electronics, medical devices, data networking applications, and SoCs.[6]

Technology

[edit]

ThreadX implements a priority-based, pre-emptive scheduling algorithm with a proprietary feature called preemption-threshold. The threshold provides greater granularity within critical sections, reduces context switching, and has been the subject of academic research on guaranteeing scheduling.[7]

ThreadX provides a unique construct called event chaining,[8] where the application can register a callback function on allAPIs that can signal an external event. This helps applications chain together various public objects in ThreadX allowing one thread to block on multiple objects.

ThreadX also provides countingsemaphores,mutexes with optional priority inheritance, event flags,message queues, software timers, fixed-sized block memory, and variable-sized block memory. All APIs in ThreadX that block on resources also have an optional timeout.

ThreadX offersmulti-core processor support via either AMP or SMP. Application code isolation is available through the ThreadX Modules component.

Safety certification

[edit]

ThreadX (and FileX and NetX Duo) have been precertified by SGS-TÜV Saar to the following safety standards:IEC 61508 SIL 4,IEC 62304 Class C,ISO 26262ASIL D, andEN 50128 SW-SIL 4.

ThreadX (and FileX and NetX Duo) have been precertified by UL to the following safety standards: UL/IEC 60730, UL/IEC 60335,UL 1998

ThreadX has also been certified toDO-178 standards by various military and aerospace companies. It is supported by popularTransport Layer Security (SSL/TLS)libraries such aswolfSSL.[9]

Packaging

[edit]

As of 2017, ThreadX is packaged as part of X-Ware IoT Platform in fullsource code and with no runtimeroyalty payment.

Major components

[edit]

The major ThreadX components are:

ThreadX

[edit]

ThreadX is thereal-time operating system (RTOS).

FileX & LevelX

[edit]

FileX is an optionalfile system for ThreadX. It supportsFAT12,FAT16,FAT32, andexFAT file systems. The latter extends FAT file sizes beyond 4GB, which is useful for large video files.

It also offers fault tolerance and supports direct NOR and NANDflash memory media through an optional flash wear leveling product calledLevelX.

GUIX

[edit]

GUIX is an optionalgraphical user interface (GUI) for ThreadX. It provides a2D computer graphics system that supports multipledisplay devices with a variety of screen resolutions and color depths. Many predefinedgraphical widgets are available. A WindowsWYSIWYG host tool called GUIX Studio automatically generates C code for GUIX to execute at runtime.

NetX Duo

[edit]

NetX Duo is an optionalTCP/IP network system for ThreadX. It supports bothIPv4 andIPv6 networking withIPsec network security. TCP and UDP socket layers are provided byTLS /DTLS. Optional protocols include ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP, andTelnet. IoT Cloud protocol support includes CoAP, MQTT, and LWM2M. NetX Duo also supportsThread and 6LoWPAN. In 2017, ThreadX and NetX Duo became a Thread Certified Product.[10]

USBX

[edit]

USBX is an optional Universal Serial Bus (USB) system for ThreadX. It supports both host/device/on-the-go (OTG). Host controller support includes EHCI, OHCI, and proprietary USB host controllers.

It supports theseUSB Device Classes: Audio, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, Printer, Prolific, RNDIS, and Storage.

TraceX

[edit]

TraceX is an optional host software that provides a graphical view of ThreadX RTOS events. It requiresWindows XP or later.

Supported ports

[edit]

Products using ThreadX

[edit]

Some examples of products that use ThreadX:

See also

[edit]

References

[edit]
  1. ^"Releases · eclipse-rtos/Threadx".GitHub.
  2. ^ab"How Does The Express Logic Acquisition Help Microsoft And The IoT Ecosystem".Forbes. April 21, 2019.Archived from the original on February 11, 2023.
  3. ^ab"Microsoft Contributes Azure RTOS to Open Source".Microsoft. November 21, 2023.Archived from the original on November 23, 2024.
  4. ^"Bill Lamie: Story of a man and his real-time operating systems".Embedded.com. September 3, 2010. Archived fromthe original on July 2, 2016.
  5. ^"High Performance RTOS ThreadX: Express Logic".Renesas Electronics. 2018. Archived fromthe original on March 2, 2019.
  6. ^"IoT & Embedded Technology Report".VDC Research. December 2017.Archived from the original on May 15, 2024.
  7. ^"Scheduling Fixed-Priority Tasks with Preemption Threshold"(PDF).University of Utah - Department of Computer Science. December 1999. Archived fromthe original(PDF) on March 30, 2017.
  8. ^"Event Chaining Enables Real-Time Systems to Respond to Multiple Real-Time Events More Efficiently"(PDF).Express Logic. July 21, 2016. Archived fromthe original(PDF) on June 14, 2018.
  9. ^"wolfSSL with Improved ThreadX/NetX Support".wolfSSL. January 16, 2018.Archived from the original on March 30, 2023.
  10. ^"Thread Certified Products".Thread Group. Archived fromthe original on 2018-06-14.
  11. ^abcdefgh"Eclipse - ThreadX - ThreadX Overview".GitHub.Archived from the original on December 3, 2024.
  12. ^ab"Eclipse - ThreadX - RTOS Docs".GitHub.Archived from the original on December 3, 2024.
  13. ^"Hewlett Packard".Green Hills Software.Archived from the original on December 8, 2024.
  14. ^"The Intel Management Engine".bitkeks.eu. December 5, 2017.Archived from the original on April 23, 2024.
  15. ^"Case study: NASA's "Deep Impact" employs embedded systems to score bullseye 80 million miles away". Military Embedded Systems. January 13, 2006. Archived fromthe original on April 4, 2015. RetrievedMarch 30, 2015.
  16. ^"What's Wrong with the Raspberry Pi".Own Your Bits. February 2, 2019. Archived fromthe original on 2022-05-31. Retrieved2024-03-09.

Further reading

[edit]
ThreadX documentation
RTOS comparison

External links

[edit]
Official
STM32
Operating
systems
POSIX support
Unix-like
LiteOS
Partial
TRON support
Partial
Capability-based
Java virtual machine
DOS
L4 kernel
Psion
Microsoft
IBM
Texas Instruments
DECPDP-11 &VAX
Low resource
Frameworks,kits
Developers
Kernels
L4 family
Macintosh hosted
Psion
Amiga-type
Operating
systems
POSIX support
Unix-like
Partial
Capability-based
L4 kernel
Java virtual machine
Macintosh hosted
Unix-like
Psion
  • EPOCSymbian OS
  • Amiga-type
    Microsoft
    AIM alliance
    Frameworks,kits
    Developers
    Retrieved from "https://en.wikipedia.org/w/index.php?title=ThreadX&oldid=1321483552"
    Categories:
    Hidden categories:

    [8]ページ先頭

    ©2009-2025 Movatter.jp