Waddington, D. G. and Hutchison, D. (1999) Resource partitioning in general purpose operating systems: experimental results in Windows NT. ACM SIGOPS Operating Systems Review, 33 (4). pp. 52-74. ISSN 0163-5980
Full text not available from this repository.Abstract
The principal role of the operating system is that of resource management. Its task is to present a set of appropriate services to the applications and users it supports. Traditionally, general-purpose operating systems, including Windows NT, federate resource sharing in a fair manner, with the predominant goal of efficient resource utilisation. As a result the chosen scheduling algorithms are not suited to applications that have stringent Quality-of-Service (QoS) and resource management requirements, such as continuous media streaming applications. Several approaches to resource management that are able to meet these requirements, including the use of deterministic schedulers, are well established. Operating systems already exist that provide services for fine-grained resource partitioning and QoS based allocations. Nevertheless, the question arises: can we introduce suitable management mechanisms into general-purpose operating systems that will provide adequate support for the majority of resource sensitive applications, particularly multimedia? Or are there inherent problems in general-purpose operating system architectures that demand significant re-engineering?We attempt to answer this question by proposing the Protected Virtual Machine (PVM) architecture. This introduces mechanisms into Windows NT that enable partitioning of resources and protection from resource interference. The functionality of the PVM architecture is two-fold. First it introduces the necessary scheduling mechanisms and atomic resource abstractions into the operating system, and second it provides a higher level reservation and admission service directly to applications. The resulting system is able to provide both a best-effort service for applications with less stringent needs and a guaranteed service for multimedia and other resource critical processing in a shared environment, By enhancing the existing operating system, legacy applications can still be supported, thus avoiding a prominent obstacle in existing real-time and multimedia operating systems.