[comp.unix.questions] Help...Need to share memory under 4.3 BSD

maybee@pogo.UUCP (Joe Maybee) (01/13/87)

I need to spawn a child process that has direct access to it's parent
processes global data area.  It will need to modify globals data, and
the parent process needs to see these changes.

I noticed that in the "4.2BSD System Manual" that there are some
unimplemented provisions for this sort of thing (i.e. mmap).  Are these
implemented under 4.3?


Thanks in advance....


Joe Maybee
Tektronix, Inc.

libes@nbs-amrf.UUCP (Don Libes) (01/14/87)

> I need to spawn a child process that has direct access to it's parent
> processes global data area.  It will need to modify globals data, and
> the parent process needs to see these changes.
> 
> I noticed that in the "4.2BSD System Manual" that there are some
> unimplemented provisions for this sort of thing (i.e. mmap).

Solution 1:  I've written some stuff that provides interprocess
common memory for 4.2.  It's written up in the 1985 Winter USENIX
proceedings.

Solution 2:  I've ported XINU to 4.2 (68k-only, though re-porting
should be much easier).  XINU lets you run multiple tasks in a
single UNIX process.  Global variables are shared.  A paper
describing this has been submitted to the next USENIX conference.

For some reason, the people I work with believe "interprocess
communication" = common memory.  We've got common memory hacks for
every OS.  I'm working on a paper called "Experiences with Common
Memory" that describes and discusses many popular implementation
schemes.  If anyone would like to contribute to it, I'd be delighted.

Our uucp machine will be down for the next two weeks (till the end
of January) and I'll be at USENIX anyway, so don't bother sending
mail for a while.

Don Libes       {seismo,mimsy}!nbs-amrf!libes