Priority-driven Scheduling of Periodic Tasks
暂无分享,去创建一个
In the next chapter we will describe ways to integrate the scheduling of aperiodic and sporadic tasks with periodic tasks. In Chapter 8, we will introduce other resources and discuss the effects of resource contention. We will also describe resource access-control protocols designed to keep bounded the delay in job completion caused by resource contentions. In most of this chapter, we will confine our attention to the case where every job is ready for execution as soon as it is released, can be preempted at any time, and never suspends itself. Scheduling decisions are made immediately upon job releases and completions. Moreover, the context switch overhead is negligibly small compared with execution times of the tasks, and the number of priority levels is unlimited. At the end of the chapter, we will remove these restrictions and discuss the effects of these and other practical factors. Since there will be no ambiguity in this chapter, we often refer to periodic tasks simply as tasks. We now remove the restrictive assumption on fixed interrelease times which we made in Chapter 5. Hereafter we again use the term period to mean the minimum interrelease time of jobs in a task, as the term was defined in Chapter 3. Most of our discussion is in terms of a fixed number of periodic tasks. The assumption here is that some protocol is used to regulate changes in the number or parameters of periodic tasks. In particular, when an application creates a new task, the application first requests the scheduler to add the new task by providing the scheduler with relevant parameters of the task, including its period, execution time, and relative deadline. Based on these parameters, the scheduler does an acceptance test on the new periodic task. In this test, the scheduler uses one of the methods described in this chapter to determine whether the new task can be