Audio and video applications, process control, agile manufacturing and even defense systems are using commodity hardware and operating systems to run combinations of real-time and non-real-time tasks. We propose an architecture that will allow a general-purpose operating system to schedule conventional and real-time tasks with diverse requirements, to provide flexible load isolation between applications, users, and accounting domains, and to enforce high-level policies about the allocation of CPU time. This is accomplished by implementing a dynamic, hierarchical scheduling infrastructure. The infrastructure is integrated with a resource manager that provides a level of indirection between resource requests and the scheduling hierarchy. A scheduling infrastructure separates scheduler code from the rest of the operating system. To demonstrate the utility of our architecture, we describe its application to three existing real-time schedulers. For each of the three, we show added flexibility while retaining the original scheduling guarantees.
@TechReport{Regehr00,
author = "John Regehr",
title = "The Case For Hierarchical Schedulers with Performance
Guarantees",
institution = "Department of Computer Science, University of
Virginia",
number = "CS-2000-07",
month = march,
year = "2000",
}
Last modified: Fri Apr 6 22:52:14 2001
regehr@cs.utah.edu