Computer Science Department
School of Computer Science, Carnegie Mellon University


Operating System Resource Reservation for Real-Time and Multimedia Applications

Clifford W. Mercer

June 1997

Ph.D. Thesis,,,,,,,
(Whole Thesis = A-->L)


Keywords: Resource reservation, real-time systems, operating systems, multimedia applications, scheduling, resource management, Real-time Mach

Increases in processor speeds and the availability of audio and video devices for personal computers have encouraged the development of interactive multimedia applications for teleconferencing and digital audio/video presentation among others. These applications have stringent timing constraints, and traditional operating systems are not well suited to satisfying such constraints. On the other hand, hard real-time systems that can meet these constraints are typically static and inflexible.

This dissertation presents an enforced operating system resource reservation model for the design and implementation of predictable real-time programs. Applications can reserve resources based on their timing constraints, and an enforcement mechanism ensures that they do not overrun their reservations. Thus, reserves isolate real-time applications from the temporal properties of other real-time (and non-real-time) applications just as virtual memory systems isolate applications from memory accesses by other applications. In addition, reserves are first class objects that are separated from control abstractions such as processes or threads. Therefore reserves can be passed between applications, and this model extends naturally to distributed systems.

Reserves support the development of hard real-time and soft real-time programs, and programming techniques based on reserves illustrate how to use them effectively. An implementation of processor reserves in Real-Time Mach shows that reserved multimedia applications can achieve predictable real-time performance.

176 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by