Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!psuvax1!julius.cs.uiuc.edu!apple!altos!megadon!clp From: mbrennan@swift.cs.tcd.ie Newsgroups: comp.unix Subject: Sharing Memory Between Processes Message-ID: <2251@megadon.UUCP> Date: 8 Nov 90 16:47:22 GMT Sender: clp@megadon.UUCP Organization: Computer Science Department, Trinity College Dublin Lines: 25 Approved: clp@megadon.UUCP 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@cs.tcd.ie