Abstract

We come across several times the term “real time” tagged before any other noun or verb, like real-time data, real-time monitoring, real-time governance, and so on. Let us understand what real time signifies. After completing this chapter, one will be able to un-tag the term “real time” from many such usages. In this chapter, we will understand the characteristics of a system that qualifies it, to be called as real-time system. Then, we will classify the RT systems based on their traits. We will study the reference model by which we can analyze the system and focus on important aspects of them. We will study scheduling mechanisms through supporting algorithms to reach real-time constraints. Section 6.2 classifies real-time systems (RTS) to periodic, mostly periodic, aperiodic, and predictable and unpredictable (spurious) systems. Section 6.4 deals with models to execute such periodic tasks. Section 6.6 classifies scheduling algorithms. Section 6.7 deals with clock-driven scheduling. Section 6.8 deals with scheduling priority-driven periodic tasks. Section 6.9 deals with scheduling tasks with dynamic priority like Earliest Deadline First (EDF) and Least Slack Time First (LST). Section 6.10 deals with scheduling sporadic tasks. Section 6.11 deals with accessing resources by multiple tasks, handling the contention for resources and how to handle cases of priority inversion. To summarize, aperiodic jobs are soft and can be accommodated by stealing slack times and idle slots. Tasks can be prioritized based on their rate. RMA is a popular protocol. Priorities of jobs can be assigned using early deadlines and also the least slack time. EDF algorithms are most popular. Sporadic jobs are unpredictable with varied properties. Given a context, a sporadic job can be accepted if it is schedulable. Sporadic jobs have to be handled in a separate queue. The above algorithms assume no contention of resources. Resource contention modifies the execution times based on the availability of resources and the critical section of the resources in each job. The most serious problem is priority inversion, which has to be taken care with multiple algorithms like priority inheritance. This chapter becomes the input to the next chapter where we study the architecture of real-time executives, their standardization, and their features.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call