Mach Memory Management Review

From: ahemavathy (ahemavathy_at_hotmail.com)
Date: Mon Feb 16 2004 - 23:29:32 PST

  • Next message: Manish Mittal: "Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures."

    The paper is about the portable memory management system of Mach OS. Portability is achieved by splitting the memory management into machine dependent and machine independent parts without sacrificing system performance. Mach uses a message oriented communication using ports.

    Basically task/process manage their address spaces. A memory object can be mapped into the address space of a task. There can be several threads executing within a task. Copy-on-write and read/write sharing is permitted between tasks. Inheritance and protection can also be specified thus limiting the child tasks capabilities and controlling the access rights.

    The 4 data structures used by Mach are 1) the resident page table 2) address map 3) memory object and 4) pmap. The address map maps memory objects to virtual address and carriers protection and inheritance information. The resident page table is a page table for machine independent pages and pmap is the page table for machine dependent pages. Each object is associated with a pager task which manages page faults and page outs etc.Memory sharing is made easier by shadow objects and sharing map. Also cache consistency for multiprocessors is handled by different solutions depending on the situation.

    I understood the paper in parts but I was not able to put together a whole picture. This memory management is totally different from the normal VMS. Especially I don't understand how they work together and how tasks are first loaded into memory.

     


  • Next message: Manish Mittal: "Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures."

    This archive was generated by hypermail 2.1.6 : Mon Feb 16 2004 - 23:27:48 PST