Real Time System -Snap Shot
Such as any computer-based system, a real-time system must integrate software, hardware, human, database parts to properly achieve a group of performance and functional needs. In chapter 12 we examined the allocation task for computer-based systems indicating which the system engineer must allocate performance and function among the system parts. The problem for real time systems is proper allocation. The Real-time performance is often as important as function still allocation decisions which relate to performance are often hard to make with assurance. Can an off-the-shelf operating system meet our requirement for efficient interrupt handling, multi-tasking and communication or should we build custom executive? Can a processing algorithm meet severe timing constraints or should we establish special hardware to do the job? Can specified hardware coupled with proposed software meet performance criteria? These and several other questions must be answered through the real-time system engineer.
The comprehensive discussion of all parts of real-time systems is behind the scope of this book. Between a number of good sources of information are [SAV85],[ELL94] and [sel94]. Moreover it is important which we understand each of the parts of a real-time system previous discussing software design and analysis issues.
Everett [EVE95] defines 3 characteristics which distinguish real-time software establishment from other software engineering efforts:
• The design of a real-time system is resource controlled. The primary resource for a real-time system is time. It is essential to total a described task within a given number of CPU cycles. Additionally, other system resources like as memory size may be traded against time to get system goal.
• The Real-time systems are compact since complex. While a sophisticated real-time system may contain well the time-critical portion of the software over a million lines of code, typically represents a very small percentage of the total. It is this small percentage of code which is the most complex from an algorithmic point of view
• The Real-time systems often work without the presence of a human user. Thus, real-time software must detect problems which lead to automatically and failure recovers from these problems before damage to data and the controlled environment happen.
In the part which follows we examine some of the key attributes which differentiate real-time systems from other kind of computer software.