Nemesis is a multi-service operating system being developed as part of the Pegasus ESPRIT Project (). Nemesis is designed to allow sharing of data and text with as little overhead as possible for the efficient processing of continuous media data, while reducing quality-of-service crosstalk between application domains by moving as much functionality as possible into the application domains. This is in contrast to microkernel approaches where the functionality has been moved into server processes . This coupled with the use of DEC Alpha machines as one of the target architectures led to the idea of using one address space throughout the operating system.
This paper does not attempt to describe novel features of Nemesis in the area of resource management. Instead it examines the method of linking and loading programs and system components which we use to support the rest of the system. The fundamental concepts in single address space operating systems are not new: OS/360 () and Cedar () are two very different examples from some time ago. Similarly there are almost no issues in naming objects within a single operating system which are not addressed fairly comprehensively in . Within the Pegasus Project the aim is to build an operating system to support a Quality-of-Service paradigm for resource allocation and per-application resource management. With this in mind, we are applying the single address space idea as an enabling technology for handling a variety of different multimedia-related application types efficiently. We do not believe 64-bit address spaces are a panacea, and our motivation for building such a system differs from many other researchers in the field (for example ,  and ). In particular: