Skip to main content

1991 | Buch

Synchronization in Real-Time Systems

A Priority Inheritance Approach

verfasst von: Ragunathan Rajkumar

Verlag: Springer US

Buchreihe : The International Series in Engineering and Computer Science

insite
SUCHEN

Über dieses Buch

Real-time computing systems are vital to a wide range of applications. For example, they are used in the control of nuclear reactors and automated manufacturing facilities, in controlling and tracking air traffic, and in communication systems. In recent years, real-time systems have also grown larger and become more critical. For instance, advanced aircraft such as the space shuttle must depend heavily on computer sys­ tems [Carlow 84]. The centralized control of manufacturing facilities and assembly plants operated by robots are other examples at the heart of which lie embedded real-time systems. Military defense systems deployed in the air, on the ocean surface, land and underwater, have also been increasingly relying upon real-time systems for monitoring and operational safety purposes, and for retaliatory and containment measures. In telecommunications and in multi-media applications, real­ time characteristics are essential to maintain the integrity of transmitted data, audio and video signals. Many of these systems control, monitor or perform critical operations, and must respond quickly to emergency events in a wide range of embedded applications. They are therefore required to process tasks with stringent timing requirements and must perform these tasks in a way that these timing requirements are guaranteed to be met. Real-time scheduling al­ gorithms attempt to ensure that system timing behavior meets its specifications, but typically assume that tasks do not share logical or physical resources. Since resource-sharing cannot be eliminated, synchronization primitives must be used to ensure that resource consis­ tency constraints are not violated.

Inhaltsverzeichnis

Frontmatter
Chapter One. Introduction
Abstract
The built-in notion of time and how it is used in the system is the basic difference between real-time systems and non-real-time systems. More formally, a real-time system is defined as one in which the correctness of its output(s) depends not only upon the logical computations carried out but also upon the time at which the results are delivered to the external interface. In other words, a real-time computation is considered wrong (not just late!) if the results are generated at the wrong time.
Ragunathan Rajkumar
Chapter Two. Real-Time Synchronization in Uniprocessors
Abstract
Priority-driven preemptive scheduling is an approach used in many realtime systems. The importance of this approach is underscored by the fact that Ada, the language mandated by the US Department of Defense for all its real-time systems, supports such a scheduling discipline [Ada 83]. Much of the scheduling work typically assumes perfect preemption, the assumption that a higher priority task can preempt a lower priority task being run with no penalties in time. An important problem that has not been extensively studied in the real-time scheduling literature is the problem of blocking caused by the synchronization of tasks that share physical or logical resources.
Ragunathan Rajkumar
Chapter Three. Synchronization in Multiple Processor Systems
Abstract
The potential speedup provided by multiprocessors and distributed systems has motivated their widespread use in recent years. Several mechanisms exist to synchronize tasks that execute on different processors, but share data and resources. In a hard real-time context, however, these synchronization mechanisms need to have bounded blocking durations. Only then can the deadlines of tasks be guaranteed. Unfortunately, as illustrated in Chapter 2, a direct application of commonly used synchronization primitives like semaphores, monitors or message-passing mechanisms such as the Ada rendezvous can lead to uncontrolled priority inversion where a higher priority task is blocked by a lower priority task for an indefinite period of time. This chapter studies the class ofpriority inheritance protocolsfor synchronizing tasks executing in parallel on multiple processors. Thedistributed priority ceiling protocoland themultiprocessor priority ceiling protocolare priority inheritance protocols for use in distributed systems and shared memory multiprocessors respectively. Both protocols not only bound the duration of blocking but also prevent deadlocks. These properties allow us to derive a set of sufficient conditions under which a set of periodic tasks using one of these protocols will be schedulable.
Ragunathan Rajkumar
Chapter Four. Distributed Real-Time Databases
Abstract
Real-time databases are used in a wide range of applications such as aircraft tracking and the monitoring and control of modern manufacturing facilities. In a real-time database context, concurrency control protocols must not only maintain the consistency constraints of the database but also satisfy the timing requirements of the transactions accessing the database. In standard database applications, such as banking, one can lock data objects and prevent other transactions from accessing them in order to maintain consistency. In a real-time application such as tracking, the consistency is still important, but it is also critical that the values of the data objects are timely. If an object being tracked is moving fast, very stringent timing requirements will be placed on transactions that update the object location. Failure to meet these timing requirements will render the tracking exercise a failure, because the data will be out of date.
Ragunathan Rajkumar
Chapter Five. Conclusion
Abstract
Real-time systems are of immense practical significance. These systems are used to control, monitor or perform critical operations and to respond quickly to emergency events in a wide range of civilian and military settings. These systems must often function in an environment which does not permit human interaction with the system or operate on a time-scale which is too short for effective human interaction and intervention. Real-time systems are required to process tasks that have stringent timing requirements, and they must perform these tasks in a way that these timing requirements are guaranteed to be met. Nevertheless, the scientific foundations underlying the practice of determining the ability of a particular system to meet its timing requirements are limited. Many of the limitations of this scientific theory arise because the theory is typically based on idealized assumptions and does not take into account the realities that are encountered in actual systems.
Ragunathan Rajkumar
Metadaten
Titel
Synchronization in Real-Time Systems
verfasst von
Ragunathan Rajkumar
Copyright-Jahr
1991
Verlag
Springer US
Electronic ISBN
978-1-4615-4000-7
Print ISBN
978-1-4613-6788-8
DOI
https://doi.org/10.1007/978-1-4615-4000-7