Introduction to Embedded Hard Real-Time Systems
Over the past decades, the embedded real-time system has witnessed great development, especially in the field of soft real-time systems such as entertainment and mobile communications. Devices like the digital camera, mobile phone, mp3 player, and DVD decoders have brought embedded systems into people’s daily life. Their success, in reverse, has triggered efforts and resources into more real-time embedded systems applications, such as medical electronics, control system, network routers.
Unlike traditional computing systems, the outcome of a real-time system’s operation not only depends on the correctness of the result data, but also the time when this operation is performed. As illustrated in Figure 1-1, if a deadline is missed, a soft real-time system (SRT)’s performance will degrade gradually, while a hard real-time (HRT) then incurs a catastrophic penalty. Many control systems, such as engine control systems, missile launch systems, x-by-wire systems (drive, steer, and brake by wire), and life-support equipment, fall into the category of HRT systems.

Figure 1‑1 Real time environments with hard and soft timing constraints[1]
Because of the
difference stated above, General Purpose Operating Systems (GPOS), such as
Windows, Linux, Unix, which are widely used on desktop PCs, are not suitable for
hard real-time applications. GPOS are designed for overall computing performance
without taking timing predictability into concern. A real-time operating system
(RTOS), is an OS specifically designed for real-time applications. It is
designed with functions to help the system operate in a timely manner. Current
widely used RTOS, such as VxWorks[2], ECOS[3], QNX[4], etc. have been
successfully used to implement time constraints for SRT systems, but are less
able to implement HRT systems[1].
While multiple RTOS platforms have been proposed in research projects, only
those with a static nature, meaning that all the scheduling decisions are
predefined, are currently adopted for real commercial applications. One of the
main reasons is that the time for multi-task scheduling and context switching
varies greatly and will harm system predictability. Exception handling
(including asynchronous exception – interrupt) in current computing paradigms
also harms a system’s top-level predictability. Interrupts are normally
considered of higher priority than normal tasks in general applications, but for
HRT systems, there exists tasks that are more critical than interrupts[5].
Another essential problem lies in the performance verification. According to W.
A. Halang et al.[1]:
Hence, the state of affairs in performance verification of control systems is
“Hope and Pray”.
Further, most HRT systems require high dependability (or reliability). While the
hardware part of these systems has already reached a high degree of
dependability, the software part is still lagging far behind.
With the above reasons, the state of art for dynamically scheduled HRT systems
is far from easy, efficient and wide-spread practical use.
Several approaches of using hardware modules[6] or co-processors[7, 8] to accelerate RTOS have been witnessed over the years. They do provide a new way through this problem. However, the co-processor approach introduces problems with data inconsistency, communication and synchronization between the multiple processors, and it is also hard to verify the kernel functions. Because HRT systems are usually application specific, it would be unlikely to generate enough volume to be economical when implemented on an ASIC. Especially, since if changes are needed to software, a new chip needs to be designed.
The recent RSOC approach (Reconfigurable System on Chip), which is based on FPGA technology, brings new solutions to this problem. Designers can easily design the hardware accelerating module and verify its functions with low cost. And the HDL sources also hold good portability, on either FPGA or ASIC chips. Further, FPGAs do not require expensive mask-making, and can be customised to a specific application, even for low volumes. Hence application specific hardware acceleration is better suited to FPGAs.
This research then focuses on the methodology of using RSOC techniques to improve RTOS’s performance to meet HRT systems’ requirements.
Bibliography:
1. Halang, W.A., State of the art and open research topics in embedded hard real-time systems design. Journal of Computing and Information Technology - CIT, 2000. 8(3): p. 167-80.
2. VxWorks 6.x Product Note. 2006, Wind River Systems, Inc., Available from:
http://www.windriver.com/vxworks/.
3. eCos User Guide. 2001, Red Hat Inc., eCosCentric Ltd., Available from:
http://ecos.sourceware.org/docs-latest/.
4. QNX Neutrino RTOS Brochure. 2006, QNX Software Systems, Available from:
http://www.qnx.com/download/index.html.
5. Leyva-del-Foyo, L.E., P. Mejia-Alvarez, and D. de Niz. Predictable Interrupt
Management for Real Time Kernels over conventional PC Hardware. In 12th IEEE
Real-Time and Embedded Technology and Applications Symposium. 2006. San Jose,
CA, United States. p. 14-23.
6. Andrews, D., et al. hthreads: a hardware/software co-designed multithreaded
RTOS kernel. In 10th IEEE International Conference on Emerging Technologies and
Factory Automation. 2005. Catania, Italy: IEEE. p. 8 pp.
7. Cooling, J.E. and P. Tweedale, Task scheduler co-processor for hard real-time
systems. Microprocessors and Microsystems, 1997. 20(9): p. 553-66.
8. Stankovic, J.A. and K. Ramamritham, The Spring kernel: A new paradigm for
real-time systems. IEEE Software, 1991. 8(3): p. 62-72.
