just curious

Peter da Silva peter-dragonfly at taronga.com
Mon Jul 21 07:46:33 PDT 2003


Matthew Dillon wrote:
    Since the in-kernel storage format is VM Objects, offsets, and ranges,
    now actual shadowing or copy-on-write is really needed.  The target
    process would have the option of using lseek/read/write on the descriptor,
    or mmapping() it.  mmap()ing it would result in the data being shared,
    but with mmap() one can also make things copy-on-write (MAP_PRIVATE), and
    so forth.  We already have the VM object layering model in place in the
    kernel to make it all possible so it would not require any special effort.
So you'll be able to use the normal UNIX system calls to access 
arbitrary VM objects? So if I have a VM object that represents a buffer 
in another user process, it'll just look like a file to me? What happens 
if I overrun the end of the buffer, ENOSPC?

That's got some amazingly cool possibilities.






More information about the Kernel mailing list