This is a summary/food-for-though article.

http://www.cse.unsw.edu.au/~disy/Mungi.html

SASOS - all memory addresses are "physical" (i.e. addresses 1000 and 1000 in two different tasks point to the same physical memory address).

The basic abstractions provided by Mungi are:

  • capability,
  • object,
  • task,
  • thread,
  • and protection domain.

Objects are the basic storage abstraction. They consist of a contiguous range of pages, with no further structure imposed by the system. Objects are protected by capabilities which are described below.

Threads are the basic execution abstraction. A task is a set of threads which share a protection domain. A protection domain consists of a set of capabilities. Capabilities are presented implicitly by storing them in a special data-structure known to the system. This reduces the need for most applications to deal with capabilities and thus makes protection transparent.

guarded page table (GPT) [Lie93,Lie96b].

Grasshopper [RDH+96] is a system specifically designed to support persistence. Its basic storage abstraction is called a container, which essentially constitutes an address space. Containers, or parts thereof, can be mapped into other containers. Grasshopper presents a generalized model of address spaces, which can emulate a traditional model, such as UNIX, as well as the SASOS model [LRD95].

J. S. Chase, H. M. Levy, M. J. Feeley, and E. D. Lazowska. Sharing and protection in a single address space operating system. ACM Transactions on Computer Systems, 12:271-307, November 1994. J. S. Chase, H. M. Levy, E. D. Lazowska, and M. Baker-Harvey. Lightweight shared objects in a 64-bit operating system. In Conference on Object-Oriented Programming Systems, Languages, and Applications, 1992.

J. Dennis and E. Van Horn. Programming semantics for multiprogrammed computers. Communications of the ACM, 9:143-55, 1966. {introducing capabilities}

K. Elphinstone, S. Russell, G. Heiser, and J. Liedtke. Supporting persistent object systems in a single address space. In Proceedings of the 7th International Workshop on Persistent Object Systems, pages 111-119, Cape May, NJ, USA, May 1996. Morgan Kaufmann.

[Lie93] J. Liedtke. A basis for huge fine-grained address spaces and user level mapping. In Proceedings of the 7th European Conference on Object Oriented Programming (ECOOP) Workshop on Granularity of Objects in Distributed Systems (GODS'93), Kaiserslautern, Germany, July 1993.

[Lie96b] J. Liedtke. On the Realization Of Huge Sparsely-Occupied and Fine-Grained Address Spaces. Oldenbourg, Munich, Germany, 1996.

[LRD95] A. Lindstrom, J. Rosenberg, and A. Dearle. The grand unified theory of address spaces. In Proceedings of the 5th Workshop on Hot Topics in Operating Systems (HotOS), pages 66-71, Orcas Island, WA, USA, May 1995. IEEE.

[RDH+96] J. Rosenberg, A. Dearle, D. Hulse, A. Lindstrom, and S. Norris. Operating system support for persistent and recoverable computations. Communications of the ACM, 39(9):62-69, September 1996.

[Ros94] T. Roscoe. Linkage in the Nemesis single address space operating system. Operating Systems Review, 28(4):48-55, 1994.

[Wil93] T. Wilkinson. Implementing Fault Tolerance in a 64-Bit Distributed Operating System. PhD thesis, Systems Architecture Research Centre, City University, London, UK, July 1993.

[WM96] T. Wilkinson and K. Murray. Evaluation of a distributed single address space operating system. In Proceedings of the 16th International Conference on Distributed Computing Systems, pages 494-501, Hong Kong, May 1996. IEEE.

[WMSS93] T. Wilkinson, K. Murray, A. Saulsbury, and T. Stiemerling. Compiling for a 64-bit single address space architecture. Technical report TCU/SARC/1993/1, Systems Architecture Research Centre, City University, London, UK, March 1993.