Sharing Memory Between Processes

mbrennan at swift.cs.tcd.ie mbrennan at swift.cs.tcd.ie
Fri Nov 9 03:47:22 AEST 1990


Anyone out there know about sharing large(ish) amounts of data between two 
cooperating processes under ULTRIX 4.0 on a 5820.

I want to modify a LISP interpreter so that the garbage collector
runs in parallel with the mutator process, rather than have the mutator 
stop and wait while the GC is running.  To do this I want to share 
relatively large amounts of data between the two processes.

At the moment I know about:
     1.	ptrace() system call which allows you look at a specific
	word of data in the address space of another process.  For 
	even modest amounts of data the overhead associated with a
	system call per word of data becomes unbearable.

     2. shmat()/shmget()/shmop() which allow the two processes access
	a piece of shared memory.  The problem with this is that one
	is restricted to 24K (6 segments x 4K/seg) of shared memory.  
	I need quite a bit more than this.

Surely there are some operating system primitives to support symmetric 
multiprocessing?  Can anyone help?  Thanks in advance.
-- 
 ,   ,  ,      ,              ,       ,          ,          , ,      ,
Micheal O Braonain     Roinn Riomheolaiochta, Colaiste Na Trinoide, BAC 2.
Email                  mbrennan at cs.tcd.ie



More information about the Comp.unix mailing list