Processor Capacity Reserves: Operating System Support for Multimedia Applications Mercer, Savage, and Tokuda 1 Introduction Multimedia applications require that operating systems support time-constrained data types such as digital audio and video in a responsive and predictable way. The general purpose resource management policies found in most operating sytems are incompatible with these strenuous timing constraints, and traditional real-time systems are also poorly matched to the multimedia application environment since user demands dictate a dynamically changing mix of both real-time and non-real-time activities. Moreover, supporting commercial "shrink-wrapped" real-time multimedia software has the additional requirement that the operating system must provide a sensible framework for controlling and communicating resource usage among independent real-time activities. 1.1 Our Solution Processor capacity reservation mechanism, which allows the user to control the allocation of processor cycles among programs Support real-time and non-real-time activities Applications request reservations. Once granted, guaranteed. Can be modified at any time, subject to availability. New kernel abstraction: reserve. - tracks the reservation and measures the processor usage of each program Reserves can be passed across protection boundaries via IPC. Could be used by a QoS Manager to control resource allocations. Seperates policy and mechanism; reserves are the mechanism. 1.2 Current state of the art Primitive scheduling support. Priority schemes don't work that well. 1.3 ----- 2 Our reservation strategy The reservation strategy must: 1. Provide some means for application programs to specify their processing requirements 2. Evaluate the processor requirements of new programs to decide whether to admit them or not 3. Schedule programs consistently with the admission control policy 4. Accurately measure the comptuation time consumed by each program to ensure that programs to not overrun their reservations