Trustworthy Systems

Linking programs in a single address space


Luke Deller and Gernot Heiser

    School of Computer Science and Engineering
    Sydney 2052, Australia


Linking and loading are the final steps in preparing a program for execution. This paper assesses issues concerning dynamic and static linking in traditional as well as single-address-space operating systems (SASOS). Related loading issues are also addressed. We present the dynamic linking model implemented in the Mungi SASOS and discuss its strengths and limitations. Benchmarking shows that dynamic linking in a SASOS carries significantly less overhead than dynamic linking in SGI's Irix operating system. The same performance advantages could be achieved in Unix systems, if they reserved a portion of the address space for dynamically linked libraries, and ensured that each library is always mapped at the same address.

BibTeX Entry

    address          = {Monterey, Ca, USA},
    author           = {Luke Deller and Gernot Heiser},
    booktitle        = {USENIX},
    month            = jun,
    pages            = {283--294},
    paperurl         = {},
    title            = {Linking Programs in a Single Address Space},
    year             = {1999}