Issue Highlights
Editor's Note
The RTOS that “drives” an embedded system is like the driver of an automobile who must do a number of critical tasks simultaneously relating to vehicle operation and safety, while at the same time deal with a variety of lower priority activities inside the car that compete for attention – the number of which seems to increase with every new model.
Faced with the same pressures within the context of an embedded design, systems designers have developed a variety of techniques to cope, both within and outside the RTOS, and do so without overburdening the limited resources of time, memory, processor performance, and power consumption of most embedded designs.
In a two-part article this month in ESD Magazine and on Embedded.com – “Lower the overhead in RTOS scheduling,” and “How PTS benefits embedded systems designs,” – Dr. Alexander Dean of North Carolina State University does an excellent job of reviewing the problems of scheduling tasks within an RTOS and the various means of preemption that must used to ensure that critical tasks get done without necessarily sacrificing tasks of lower priority.
To put his findings in the proper context, included in this Tech Focus edition of the newsletter are a variety of recent design articles on Embedded.com on dealing with such issues in the RTOS environment, of which my Editor’s Top Picks include:
Multitasking & the perils of preemption How to use priority inheritance Reduce RTOS latency in interrupt-intensive apps
In his two-part article, Dr. Dean focuses in particular on preemption-threshold scheduling (PTS) used in Express Logic’s ThreadX RTOS, and compares it with a number of other alternative algorithms for dealing with the same problems: fully preemptive stack resource policies (SRP), SRP with preemptive thresholds, priority inheritance protocols, and priority ceiling protocols as well as their use in combination with PTS.
The articles are a tough but rewarding read. The effort you put into it will be more than compensated for by the additional insights into this important aspect of embedded systems design. (Embedded.com editor Bernard Cole, , 928-525-9087 )
Design How Tos
Lower the overhead in RTOS scheduling
Research shows that preemption-threshold scheduling helps to mitigate the deadline-vs.-overhead tradeoff.
How PTS benefits embedded systems designs
Preemption-Threshold Scheduling reduces overhead while maintaining the ability to meet deadlines under worst-case conditions.
Multitasking alternatives and the perils of preemption
In this tutorial Michael Barr explores the advantages and disadvantages of priority-based preemptive scheduling and alternative forms of multitasking.
How to use priority inheritance
Fatal embraces, deadlocks, and obscure bugs await the programmer who isn't careful about priority inversions.
Reduce RTOS latency in interrupt-intensive apps
Here is a way to bypass the RTOS in latency-sensitive interrupt situations. The use of a hybrid interrupt handling technique may reduce or eliminate the latency introduced by the RTOS in many embedded designs
RTOS selection and best practices
What do you need to consider when selecting a real-time operating system (RTOS), be it in-house, open source or commercially acquired.
Don't believe everything you hear about RTOSes
The myth that mutexes and semaphores are interchangeable may not be true.
RTOSes, 'mutexes' fight priority inversion
Modern real-time operating systems support multitasking with a priority-based pre-emptive scheduler.
Measure your RTOS's real-time performance
To find the RTOS with the best real-time performance, you've got to do an apples-to-apples comparison.
Building “instant-up” real-time operating systems
Here are three ways to build an instant “up and running” RTOS for use on any target system requiring only some compilation and minimal hardware resources.
Tutorial: Techniques for measuring execution time and real-time performance – Part 1
In the first of a two part tutorial, David Stewart focusses on techniques for measuring execution time, by first providing a definition of key attributes and overview of methods, then provides details for using each method.
Product News
Express Logic's ThreadX RTOS supports CEVA-TeakLite III DSP Core
Express Logic, Inc., has announced that its ThreadX RTOS now supports CEVA, Inc.'s CEVA-TeakLite-III DSP core. The CEVA-TeakLite-III targets SoCs used in consumer, mobile, networking, and office automation applications.
Express Logic : RTOS supports communication in multicore systems
Express Logic and PolyCore Software have announced commercial RTOS integration of the Multicore Association's recently released Multicore Communications API (MCAPI) specification. MCAPI provides an industry standard, implementation agnostic API for multicore systems communication.
Green Hills provides optimized RTOS, virtualization and tools for Atom E6xx
Green Hills Software, Inc., has announced support for the embedded Intel Atom processor E6xx series with the INTEGRITY real-time operating system, INTEGRITY Secure Virtualization (ISV) technology, MULTI integrated development environment (IDE), optimizing C/C++ compilers, and DoubleCheck static analyzer, enabling customers to create and deploy reliable, high-performance products for in-vehicle infotainment, industrial control, automation, and a wide variety of other embedded applications in the least amount of time and at the lowest cost.
Wind River Releases 64-Bit VxWorks RTOS
New version of VxWorks is designed for high-performance processing of large data structures
LynxSecure 5.0 features increased performance and virtualization
LynxSecure 5.0 from Lynux Works, Inc., is a new release of the LynxSecure separation kernel and hypervisor that adds significant performance increases for fully virtualized guest operating systems (OSes) by utilizing new hardware technologies. The new release also offers 64-bit and Symmetric Multi-processing (SMP) guest OS virtualization support.
|