Sharing and Protection in a Single Address Space Operating System.

From: Manish Mittal (manishm_at_microsoft.com)
Date: Wed Jan 14 2004 - 17:35:24 PST

  • Next message: Richard Jackson: "Review: Chase, et al. Sharing and Protection in a Single Address Space Operating System."

    This paper discusses the design and implementation of Opal, a "single
    address space" operating system. In Opal system there is one global
    virtual address space, unlike the conventional operating systems where
    each process operates in its own virtual address space. This system
    makes use of a single address space to allow for a more efficient
    cooperation between protected application components. It separates
    protection from addressing, thereby achieving a more flexible protection
    and a simple shared memory. The system also allows mapped persistent
    storage.

     

    Opal, implemented on top of the Mach microkernel, uses a single address
    space allowing threads to share data easily, at the same time it ensures
    protection by the use of capabilities associated with each segment. A
    protection domain is an execution context for threads, restricting their
    access to a specific set of segments at a particular instant in time.
    Having the right capabilities, threads can attach/detach segments to
    their protection domain. Two domains can communicate through portals,
    which may be local or remote. By being in the same domain, applications
    can share components in a simple way, even if the component is remote.
    One important advantage of this approach is the reduction of
    communication overhead for components, which need to share information.
    Another benefit is that a pointer reference is valid in all processes
    and inter-process communication is as simple as passing pointers. The
    idea that no marshalling or data format conversion is needed to copy
    data from one process space to another is also very appealing.

    An interesting section of the paper discusses the tradeoffs between
    single and multiple address spaces. A disadvantage of the single address
    space approach is that segments cannot grow. Also, segments created at
    different times will not be contiguous in the address space. On the
    other hand, Opal avoids the complexity and inefficiency of the Unix Fork
    function, providing the same functionalities. Another disadvantage of a
    single-address space is the impossibility of providing copy-on-write,
    because there is only one naming context. Another tradeoff made in
    single address space systems is that they cannot assign different
    meanings to the same address.

    Overall the paper presents some interesting drawbacks of current systems
    and offers some novel solutions that take advantage of new hardware
    advances. This paper is very well organized and provides useful
    information about the OPAL system.

     


  • Next message: Richard Jackson: "Review: Chase, et al. Sharing and Protection in a Single Address Space Operating System."

    This archive was generated by hypermail 2.1.6 : Wed Jan 14 2004 - 17:36:07 PST