Experimental OS development using D
BCS
nothing at pathlink.com
Thu Jan 4 15:24:48 PST 2007
Harry Vennik wrote:
>
> No, this won't fit in the concept. I think of it like this (Only mentioning the relevant steps.):
> - A process does an IPC call to the filesystem service to map some data from a file into memory.
> - The fs service reads the data from disk and puts it into newly allocated memory page(s).
> - The fs service announces to the kernel which pages should be mapped into the virtual address space
> of the calling process, and returns the pointer.
> - The kernel maps the shareable memory into the virtual address space of the calling process, and
> translates the returned pointer to reflect the correct address in the calling process' address space.
>
> I think that's the best we can do. It is secure (at least at first sight), and it should save quite a lot of
> syscalls, except when reading/writing a large file randomly.
>
> Harry
This is quite a bit different from what I was thinking of. I'll have to
think on it.
Could it handle the "lazy-load" type of mmap? The kind where nothing is
loaded when you map in the file, instead that all waits for page faults
using the same device as the virtual memory system. Maybe the file
system process could just do a memory page to disk block mapping for the
other process.
More information about the Digitalmars-d-announce
mailing list