Machine-Independent VM Management for Paged Uniprocessor and Multiprocessor Archtectures

From: Honghai Liu (liu789_at_hotmail.com)
Date: Wed Feb 11 2004 - 11:39:03 PST

  • Next message: Steve Arnold: "Review: Machine-Independent VM..."

    Reviewer: Honghai Liu

    Mach is a unique OS that provides greatest portability. The differences between computer hardware cores,
    from the software's point of view, are CPU and memory. High level languages like C can bridge the difference
     in CPU instructions. However, how to maintain unique abstraction in virtual memory management and
    uni/multi-processors are left to OS. Mach handles these two very effectively.

     

    Mach's primitive abstractions are the heart of the system, and are as follows:

    1) A task is an execution environment that provides the basic unit of resource allocation
    2) A thread is a basic unit of execution
    3) A port is basic reference mechanism.
    4) A message is a typed collection of data objects used in communication between threads
    5) A memory object is a source of memory and managed by a server.
    Operations on objects other than messages are performed by sending messages to ports. In this way,
    it provides a great flexibility to communicate between tasks, potentially throughout the network. The
    performance concern with the message passing is addressed by integration with virtual memory management.

    In order to keep the virtual memory management as much as away from dependence on hardware, Mach
    leaves machine-dependent part in memory mapping data structure call pmap. Most of all the memory
    management algorithm and data structures are machine independent.

     

    Mach is object-oriented, and the key abstraction in VM is memory object. In addition, access to a pager
    is represented by a port to which the kernel can send messages. This enables a very different memory
    management algorithm from any other traditional systems. Shared memory is used to reduce the complexity
    and improve the efficiency of the communication among tasks.

    Last but not least, due to its few assumptions about the underlying hardware, Mach can be easily ported to
    both uni-processor and multiprocessor architecture.


  • Next message: Steve Arnold: "Review: Machine-Independent VM..."

    This archive was generated by hypermail 2.1.6 : Wed Feb 11 2004 - 11:39:08 PST