From: David Coleman (dcoleman_at_cs.washington.edu)
Date: Wed Feb 11 2004 - 15:54:48 PST
This paper presents the Mach virtual memory system which is quite
different than any other I've seen. It is almost entirely (arguably
entirely) decoupled from the hardware implementation. Windows NT in
comparison treated the memory architectures much more similarly. Also
the message-passing approach was somewhat new to me as well.
Memory objects, with individual pager processes, being used as the
backing store for virtual memory was interesting. These objects, along
with the address map, are what really decoupled virtual memory
management from the hardware (a layer of indirection). The paper was
pretty unclear about the mapping from memory objects to physical
memory. Memory objects still looked like virtual addresses to me. The
pmap, which manages the hardware translations from virtual to physical,
seems to provide the final mapping to physical addresses. I liked the
concept of user-level pagers for memory objects. Once again, this
provides application-level flexibility to a traditionally kernel-mode
function.
With the effective virtualization of virtual memory (the additional
indirection provided by address maps and memory objects), I was
surprised to see the performance stated in the paper. I would have
expected performance penalties that were accepted because of the
portability achieved. Instead, it generally outperformed UNIX in some
limited tests. I'd be very curious to see what real-world performance
under heavy process loads would have been.
Because Mach is a micro-kernel and the pager architecture, no discussion
can be really be held with regard to paging strategies. However I'd
like to say again that I like the concept of manager of memory objects
having individual pagers.
This paper would really have benefited from two diagrams: one showing
the standard description of virtual memory space, address map, memory
objects backing the virtual address space, the pmap, and physical
memory. Another one showing the interfacing and effect of shadow
objects would also have been helpful. I'm not sure if there is a more
important place in the operating system for the use of pictures than a
discussion of virtual memory.
This archive was generated by hypermail 2.1.6 : Wed Feb 11 2004 - 15:52:21 PST