Processor Management for Adaptive Applications Hans Domjan, Ph.D. Thesis Despite the ever increasing speed of hardware, today's multimedia-rich applications on a user's workstation and distributed computing in the Internet (Web-Servers providing dynamic content like online time tables) manage to consume the entire resources of networks or end systems. While it is economically infeasible to size resources for peak usage, end users nevertheless expect a predictable service from the applications, i.e., the result should be produced within a certain time limit. A solution to this problem is to design applications so that they adapt to available resources: in a resource contention situation, they lower the quality of their result and thus consume fewer resources, but produce the result on time. If there are ample resources, they are able to produce full-quality results, and still meet the time limit. This dissertation investigates end system support to provide predictable service that matches the needs of adaptive applications with regard to the resource CPU (Central Processing Unit). It presents the {\em RV-Scheduling System}, which provides resource reservations on top of a best-effort operating system, thus combining the flexibility and versatility of such OSes with resource guarantees as found in real-time systems. Based on three example adaptive applications, we introduce a model of adaptive applications and derive their requirements with regard to end system CPU management. Subsequently we introduce the design (including the application programming interface API) and implementation of the proposed RV-Scheduling System, which fulfills these requirements. Two key ideas of the implementation consist of an {\em objective function for cumulative resource consumption} combined with a {\em reactive scheduling mechanism}. A thorough evaluation of the scheduler shows that the RV-Scheduling System provides---despite its integration into a best-effort operating system---resource reservations in a quality and with a predictability which is useful for adaptive applications, yet has negligible additional overhead. Applications using the RV-Scheduling System experience a considerable increase in user-specific quality metrics compared to best-effort scheduling. Furthermore, the RV-Scheduling System enables the operating system to make more efficient use of the resource CPU, and allows applications to gracefully and dynamically decrease their service quality without a-priori knowledge of the available resources. Thus the RV-Scheduling System is considered a valuable addition to today's best-effort operating systems. (C) Hans Domjan, 2001