ThreadX
Encyclopedia
ThreadX, developed and marketed by Express Logic, Inc. of San Diego, California
San Diego, California
San Diego is the eighth-largest city in the United States and second-largest city in California. The city is located on the coast of the Pacific Ocean in Southern California, immediately adjacent to the Mexican border. The birthplace of California, San Diego is known for its mild year-round...

, USA, is a real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

 (RTOS). Similar RTOSes are available from other vendors such as VxWorks
VxWorks
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems of Alameda, California, USA. First released in 1987, VxWorks is designed for use in embedded systems.- History :...

, Nucleus RTOS
Nucleus RTOS
Nucleus OS is a real-time operating system and toolset created by the Embedded Systems Division of Mentor Graphics for various central processing unit platforms. Nucleus OS is an embedded software solution and is in an estimated 2.11 billion devices worldwide.Development is typically done on a...

, OSE
Operating System Embedded
The Operating System Embedded is a real-time embedded operating system created by the Swedish information technology company ENEA AB. Bengt Eliasson, who at the time was a consultant from ENEA with an assignment at Ericsson, wrote the basic parts of the kernel...

, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...

, LynxOS
LynxOS
The LynxOS RTOS is a Unix-like real-time operating system from LynuxWorks . Sometimes known as the Lynx Operating System, LynxOS features full POSIX conformance and, more recently, Linux compatibility...

, etc. The author of ThreadX (as well as Nucleus) is William Lamie, who is the President and CEO of Express Logic, Inc.

The name ThreadX is derived from the fact that threads are used as the executable modules and the letter “X” represents switching, i.e., it switches threads. ThreadX can be seen as the "QThreads" of SystemC
SystemC
SystemC is a set of C++ classes and macros which provide an event-driven simulation kernel in C++ . These facilities enable a designer to simulate concurrent processes, each described using plain C++ syntax...

 implemented in preemptive fashion.

Like most RTOSes, ThreadX uses a multitasking kernel with preemptive scheduling, fast interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

 response, memory management, interthread communication, mutual exclusion
Mutual exclusion
Mutual exclusion algorithms are used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections. A critical section is a piece of code in which a process or thread accesses a common resource...

, event notification, and thread synchronization features.

Major distinguishing characteristics of ThreadX include priority inheritance
Priority inheritance
In real-time computing, priority inheritance is a method for eliminating priority inversion problems. Using this programming method, a process scheduling algorithm will increase the priority of a process to the maximum priority of any process waiting for any resource on which the process has a...

, preemption-threshold, efficient timer management, picokernel design, event-chaining, fast software timers, and compact size. ThreadX is distributed using a marketing model in which source code is provided and licenses are royalty-free.

ThreadX is generally used in real-time embedded system
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

s, especially in deeply embedded systems. Developing embedded systems using ThreadX is usually done on a host machine running Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 or Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, using cross-compiling target software to run on various target processor architectures. Several ThreadX-aware development tools are available, such as Wind River
Wind River
Wind River may refer to:One of several rivers in the United States:*Wind River *Wind River , a designated National Wild and Scenic River*Wind River , called in Inuit Gui-guok-lok*Wind River...

 Workbench, ARM
ARM Holdings
ARM Holdings plc is a British multinational semiconductor and software company headquartered in Cambridge. Its largest business is in processors, although it also designs, licenses and sells software development tools under the RealView and KEIL brands, systems and platforms, system-on-a-chip...

 RealView, Green Hills Software
Green Hills Software
Green Hills Software is a privately owned company that builds operating systems and development tools for embedded systems. The company was founded in 1982 by Dan O'Dowd and Carl Rosenberg...

's MULTI, Metrowerks
Metrowerks
Metrowerks was a company that developed software development tools for various desktop, handheld, embedded, and gaming platforms. Its flagship product, CodeWarrior, comprised an IDE, compilers, linkers, debuggers, libraries, and related tools...

 CodeWarrior
CodeWarrior
CodeWarrior is an integrated development environment for the creation of software that runs on a number of embedded systems. Prior to the acquisition of the product by Freescale Semiconductor, versions existed for Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2, Nintendo GameCube,...

, IAR
IAR Systems
IAR Systems is a Swedish computer technology company working in the area of embedded system development tools. IAR Systems was founded in 1983, and is listed on NASDAQ OMX, Stockholm....

 C-SPY, Lauterbach
Lauterbach Datentechnik
Lauterbach GmbH is a German electronic design automation firm specializing in in-circuit emulators and logic analyzers used for debugging embedded systems. The firm was founded in 1979 by Lothar Lauterbach...

TRACE32, and visionCLICK.

Hewlett-Packard has licensed the use of ThreadX for all Inkjet, Laserjet and all-in-one devices recently. Earlier they were using lynxOS for Multifunctional laserjet printers and still many printers use lynxOS.
ThreadX is widely used in a variety of consumer electronics, medical devices, data networking applications, and SoC development.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK