Trustworthy Systems

Linking programs in a single address space

Authors

Luke Deller and Gernot Heiser

    School of Computer Science and Engineering
    UNSW,
    Sydney 2052, Australia

Abstract

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

  @inproceedings{Deller_Heiser_99,
    address          = {Monterey, Ca, USA},
    author           = {Luke Deller and Gernot Heiser},
    booktitle        = {Proceedings of the  1999 USENIX Annual Technical Conference},
    month            = jun,
    pages            = {283--294},
    paperurl         = {https://trustworthy.systems/publications/papers/Deller_Heiser_99.pdf},
    title            = {Linking Programs in a Single Address Space},
    year             = {1999}
  }

Download