Review: Rashid, et al. Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures.

From: Richard Jackson (richja_at_expedia.com)
Date: Wed Feb 11 2004 - 14:53:41 PST

  • Next message: Justin Voskuhl: "Review for "Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures""

    This 1987 paper by Rashid, et al discusses the implementation of a
    virtual memory system on Mach, which works with various underlying
    hardware implementations.
     
    This paper includes the following sections: 1) overview of Mach design,
    2) Mach virtual memory system, 3) porting issues, 4) performance.
     
    First, an overview of Mach is given, to give some background for the
    virtual memory implementation. Mach uses tasks(like UNIX process),
    threads(program counter within a task), port(communication mechanism),
    messages, and memory objects. The main point of this section is that
    Mach uses message passing to communicate between threads/tasks, via
    ports. It also claims that this message passing approach, while
    generally poor-performing, works well in Mach because the virtual memory
    system is integrated with the message passing system.
     
    Next, the virtual memory system is described. The key components are:
    1) resident page table(list of machine independent pages), 2)address
    map(map between addresses and memory objects), 3)memory object(basic
    unit of storage), 4)pmap(machine dependent map with physical addresses).
    Of these all are generic(will work with any hardware), except pmap,
    which must be custom-coded for each hardware system. The paper
    discusses each of these four concepts in detail. Also discussed is the
    concept of a pager, which is responsible for managing memory objects,
    caching, and persistent storage. The pager can either be externally
    supplied, or you can use a basic pager which exists in the Mach kernel.

     
    The short section on porting included some details about how long it
    takes to port to a new platform. For example, for IBM RT PC, the port
    took only 3 weeks for a programmer unfamiliar with the Mach operating
    system. This demonstrates the flexibility of this virtual memory system,
    which seemed to be the main benefit of this design.
     
    Finally, performance is discussed. Interestingly, the Mach kernel often
    performs the same or better than a comparable UNIX platform. The reason
    for this was not clear to me. It seemed that Mach might perform worse,
    since its design may not embrace all features of the underlying
    hardware, as a tradeoff for a generic design.
     


  • Next message: Justin Voskuhl: "Review for "Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures""

    This archive was generated by hypermail 2.1.6 : Wed Feb 11 2004 - 14:53:52 PST