University of Cambridge
The recent interest in single address space operating systems has resulted in a number of papers, most of which gloss over the issues of linking programs to run in multiple protection domains. Some of the confusion about 64-bit address spaces is due to the almost pervasive use of UNIX and UNIX-like operating systems (such as Mach, Chorus and Amoeba) and languages with poor enforcement of abstraction like C and C++.
This paper describes some of the linkage structure of Nemesis, a multi-service operating system being developed as part of the Pegasus project. Nemesis provides a simple and efficient mechanism for program linkage which provides rich sharing of text at a level of individual object classes.