XBR4DA68%DDATHD21.BITNET@cunyvm.cuny.edu (11/11/90)
In reply to Bruce Culbertson, mail from Nov. 10th, 1990.
I believe, implementation of a demand paging mechanismem
should be straight forward. [ ?? dictionary ?? ]
Perhaps we should rethink the duties of MM and kernel.
As much as I have understood up to now, MM provides a
virgin image of a program for a process and attaches
this image to this process, e.q it hands over process id
and tells the kernel to start it (mm/exec.c: do_exec).
MM discards this image, if no processes are attached anymore.
No one has written down, that such an image must be build
and reside entirely in core memory.
If more than one process may write to this image, it is
(or parts of are) copied before the new process starts.
The current policy is shadowing, MM could provide
"copy-on-write" the same way, if feed with necessary information
from a page fault handler.
As MM builds up images and would manage shadowing or
"compy-on-write", it would also manage the mapping
virtual-address-of-process to address-on-swap-space.
Providing processes with actual executable page frames,
and mapping core address space to swap space would be performed
only by the swapper. No other process needs any knowlegde
about the mapping pysical memory to swap space.
best regards, adams
Mail: DA68@DDATHD21.BITNET