Description
Currently, operating systems are not chosen for underlying system features, but rather for the performance of the underlying hardware, available application programs, and system stability. Consequently, operating system vendors are reluctant to incorporate new operating system functionality since they risk both increased development time and decreased system stability. Previous efforts to make it easier for operating systems to incorporate new features have enjoyed only limited success because of performance bottlenecks or limited support for existing applications. This paper outlines a portable, efficient, and robust method for extending operating system functionality. Specifically, we propose building operating systems entirely as a library linked with every application using software-based fault isolation for protection. In order to demonstrate the validity of this technique, we are building an operating system which will provide global resource allocation in a network of workstations.